diff options
Diffstat (limited to 'vm/compiler/codegen/arm')
-rw-r--r-- | vm/compiler/codegen/arm/CodegenDriver.cpp | 14 | ||||
-rw-r--r-- | vm/compiler/codegen/arm/Thumb2/Gen.cpp | 4 |
2 files changed, 9 insertions, 9 deletions
diff --git a/vm/compiler/codegen/arm/CodegenDriver.cpp b/vm/compiler/codegen/arm/CodegenDriver.cpp index 44a48f7d0..c2c112b3b 100644 --- a/vm/compiler/codegen/arm/CodegenDriver.cpp +++ b/vm/compiler/codegen/arm/CodegenDriver.cpp @@ -362,7 +362,7 @@ static void genIGet(CompilationUnit *cUnit, MIR *mir, OpSize size, size, rlObj.sRegLow); HEAP_ACCESS_SHADOW(false); if (isVolatile) { - dvmCompilerGenMemBarrier(cUnit, kSY); + dvmCompilerGenMemBarrier(cUnit, kISH); } storeValue(cUnit, rlDest, rlResult); @@ -384,13 +384,13 @@ static void genIPut(CompilationUnit *cUnit, MIR *mir, OpSize size, 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 @@ static bool handleFmt10x(CompilationUnit *cUnit, MIR *mir) } 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 @@ static bool handleFmt21c_Fmt31c(CompilationUnit *cUnit, MIR *mir) 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 @@ static bool handleFmt21c_Fmt31c(CompilationUnit *cUnit, MIR *mir) 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 950da906c..4154483f2 100644 --- a/vm/compiler/codegen/arm/Thumb2/Gen.cpp +++ b/vm/compiler/codegen/arm/Thumb2/Gen.cpp @@ -257,7 +257,7 @@ static void genMonitorEnter(CompilationUnit *cUnit, MIR *mir) 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 @@ static void genMonitorExit(CompilationUnit *cUnit, MIR *mir) 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); |