Refactor intrinsic CAS, prepare for 64-bit version.
Bug: 11391018
Change-Id: Ic0f740e0cd0eb47f2c915f81be02f52f7721f8a3
diff --git a/compiler/dex/quick/dex_file_method_inliner.h b/compiler/dex/quick/dex_file_method_inliner.h
index 95b8dd3..bc00513 100644
--- a/compiler/dex/quick/dex_file_method_inliner.h
+++ b/compiler/dex/quick/dex_file_method_inliner.h
@@ -41,7 +41,7 @@
kIntrinsicCurrentThread,
kIntrinsicPeek,
kIntrinsicPoke,
- kIntrinsicCas32,
+ kIntrinsicCas,
kIntrinsicUnsafeGet,
kIntrinsicUnsafePut,
};
@@ -60,15 +60,13 @@
// kIntrinsicIndexOf
kIntrinsicFlagBase0 = 1,
- // kIntrinsicUnsafeCas32
- kIntrinsicFlagDontNeedWriteBarrier = 0,
- kIntrinsicFlagNeedWriteBarrier = 1,
-
- // kIntrinsicUnsafeGet, kIntrinsicUnsafePut
+ // kIntrinsicUnsafeGet, kIntrinsicUnsafePut, kIntrinsicUnsafeCas
kIntrinsicFlagIsLong = 1,
+ // kIntrinsicUnsafeGet, kIntrinsicUnsafePut
kIntrinsicFlagIsVolatile = 2,
- // kIntrinsicUnsafePut
+ // kIntrinsicUnsafePut, kIntrinsicUnsafeCas
kIntrinsicFlagIsObject = 4,
+ // kIntrinsicUnsafePut
kIntrinsicFlagIsOrdered = 8,
};
@@ -176,6 +174,7 @@
kNameCachePokeLongNative,
kNameCachePokeShortNative,
kNameCacheCompareAndSwapInt,
+ kNameCacheCompareAndSwapLong,
kNameCacheCompareAndSwapObject,
kNameCacheGetInt,
kNameCacheGetIntVolatile,
@@ -224,6 +223,7 @@
kProtoCacheJJ_V,
kProtoCacheJS_V,
kProtoCacheObjectJII_Z,
+ kProtoCacheObjectJJJ_Z,
kProtoCacheObjectJObjectObject_Z,
kProtoCacheObjectJ_I,
kProtoCacheObjectJI_V,