More SMP fixes.
Convert some ANDROID_MEMBAR_FULL uses into equivalent atomic ops. A
couple of "bool" had to convert to "int" since we don't have atomic
ops for bools.
Replaced a local implementation of atomic inc with a call to the
atomic inc function.
Change-Id: I948b8080d743552bde014d3a6e716ed2c30ebef8
diff --git a/vm/compiler/codegen/arm/Assemble.c b/vm/compiler/codegen/arm/Assemble.c
index 5f54ebe..94e2d1c 100644
--- a/vm/compiler/codegen/arm/Assemble.c
+++ b/vm/compiler/codegen/arm/Assemble.c
@@ -1490,8 +1490,8 @@
* The update order matters - make sure clazz is updated last since it
* will bring the uninitialized chaining cell to life.
*/
- ANDROID_MEMBAR_FULL();
- cellAddr->clazz = newContent->clazz;
+ android_atomic_release_store((int32_t)newContent->clazz,
+ (void*) &cellAddr->clazz);
cacheflush((intptr_t) cellAddr, (intptr_t) (cellAddr+1), 0);
UPDATE_CODE_CACHE_PATCHES();