am c68c2887: Merge "Dalvik: DMB Optimisations for TracingJIT"

* commit 'c68c2887e3e5d0665439554d1b6f12c6591eab12':
  Dalvik: DMB Optimisations for TracingJIT
diff --git a/vm/compiler/codegen/arm/CodegenDriver.cpp b/vm/compiler/codegen/arm/CodegenDriver.cpp
index 44a48f7..c2c112b 100644
--- a/vm/compiler/codegen/arm/CodegenDriver.cpp
+++ b/vm/compiler/codegen/arm/CodegenDriver.cpp
@@ -362,7 +362,7 @@
                  size, rlObj.sRegLow);
     HEAP_ACCESS_SHADOW(false);
     if (isVolatile) {
-        dvmCompilerGenMemBarrier(cUnit, kSY);
+        dvmCompilerGenMemBarrier(cUnit, kISH);
     }
 
     storeValue(cUnit, rlDest, rlResult);
@@ -384,13 +384,13 @@
                  NULL);/* null object? */
 
     if (isVolatile) {
-        dvmCompilerGenMemBarrier(cUnit, kST);
+        dvmCompilerGenMemBarrier(cUnit, kISHST);
     }
     HEAP_ACCESS_SHADOW(true);
     storeBaseDisp(cUnit, rlObj.lowReg, fieldOffset, rlSrc.lowReg, size);
     HEAP_ACCESS_SHADOW(false);
     if (isVolatile) {
-        dvmCompilerGenMemBarrier(cUnit, kSY);
+        dvmCompilerGenMemBarrier(cUnit, kISH);
     }
     if (isObject) {
         /* NOTE: marking card based on object head */
@@ -1490,7 +1490,7 @@
     }
     switch (dalvikOpcode) {
         case OP_RETURN_VOID_BARRIER:
-            dvmCompilerGenMemBarrier(cUnit, kST);
+            dvmCompilerGenMemBarrier(cUnit, kISHST);
             // Intentional fallthrough
         case OP_RETURN_VOID:
             genReturnCommon(cUnit,mir);
@@ -1664,7 +1664,7 @@
             loadConstant(cUnit, tReg,  (int) fieldPtr + valOffset);
 
             if (isVolatile) {
-                dvmCompilerGenMemBarrier(cUnit, kSY);
+                dvmCompilerGenMemBarrier(cUnit, kISH);
             }
             HEAP_ACCESS_SHADOW(true);
             loadWordDisp(cUnit, tReg, 0, rlResult.lowReg);
@@ -1742,14 +1742,14 @@
                 loadWordDisp(cUnit, tReg, OFFSETOF_MEMBER(Field, clazz), objHead);
             }
             if (isVolatile) {
-                dvmCompilerGenMemBarrier(cUnit, kST);
+                dvmCompilerGenMemBarrier(cUnit, kISHST);
             }
             HEAP_ACCESS_SHADOW(true);
             storeWordDisp(cUnit, tReg, valOffset ,rlSrc.lowReg);
             dvmCompilerFreeTemp(cUnit, tReg);
             HEAP_ACCESS_SHADOW(false);
             if (isVolatile) {
-                dvmCompilerGenMemBarrier(cUnit, kSY);
+                dvmCompilerGenMemBarrier(cUnit, kISH);
             }
             if (isSputObject) {
                 /* NOTE: marking card based sfield->clazz */
diff --git a/vm/compiler/codegen/arm/Thumb2/Gen.cpp b/vm/compiler/codegen/arm/Thumb2/Gen.cpp
index 950da90..4154483 100644
--- a/vm/compiler/codegen/arm/Thumb2/Gen.cpp
+++ b/vm/compiler/codegen/arm/Thumb2/Gen.cpp
@@ -257,7 +257,7 @@
             LW_LOCK_OWNER_SHIFT - 1);
     hopBranch = newLIR2(cUnit, kThumb2Cbnz, r2, 0);
     newLIR4(cUnit, kThumb2Strex, r2, r3, r1, offsetof(Object, lock) >> 2);
-    dvmCompilerGenMemBarrier(cUnit, kSY);
+    dvmCompilerGenMemBarrier(cUnit, kISH);
     branch = newLIR2(cUnit, kThumb2Cbz, r2, 0);
 
     hopTarget = newLIR0(cUnit, kArmPseudoTargetLabel);
@@ -312,7 +312,7 @@
             LW_LOCK_OWNER_SHIFT - 1);
     opRegReg(cUnit, kOpSub, r2, r3);
     hopBranch = opCondBranch(cUnit, kArmCondNe);
-    dvmCompilerGenMemBarrier(cUnit, kSY);
+    dvmCompilerGenMemBarrier(cUnit, kISH);
     storeWordDisp(cUnit, r1, offsetof(Object, lock), r7);
     branch = opNone(cUnit, kOpUncondBr);