diff options
Diffstat (limited to 'compiler/utils/arm/assembler_thumb2.cc')
-rw-r--r-- | compiler/utils/arm/assembler_thumb2.cc | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/compiler/utils/arm/assembler_thumb2.cc b/compiler/utils/arm/assembler_thumb2.cc index 37478c4ac1..633f55b929 100644 --- a/compiler/utils/arm/assembler_thumb2.cc +++ b/compiler/utils/arm/assembler_thumb2.cc @@ -2521,9 +2521,14 @@ void Thumb2Assembler::StoreDToOffset(DRegister reg, void Thumb2Assembler::MemoryBarrier(ManagedRegister mscratch) { CHECK_EQ(mscratch.AsArm().AsCoreRegister(), R12); + dmb(SY); +} + + +void Thumb2Assembler::dmb(DmbOptions flavor) { #if ANDROID_SMP != 0 - int32_t encoding = 0xf3bf8f5f; // dmb in T1 encoding. - Emit32(encoding); + int32_t encoding = 0xf3bf8f50; // dmb in T1 encoding. + Emit32(encoding | flavor); #endif } |