diff options
Diffstat (limited to 'compiler/utils/arm/assembler_arm32.cc')
-rw-r--r-- | compiler/utils/arm/assembler_arm32.cc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/compiler/utils/arm/assembler_arm32.cc b/compiler/utils/arm/assembler_arm32.cc index 3d46617079..d262b6acd6 100644 --- a/compiler/utils/arm/assembler_arm32.cc +++ b/compiler/utils/arm/assembler_arm32.cc @@ -1471,9 +1471,14 @@ void Arm32Assembler::StoreDToOffset(DRegister reg, void Arm32Assembler::MemoryBarrier(ManagedRegister mscratch) { CHECK_EQ(mscratch.AsArm().AsCoreRegister(), R12); + dmb(SY); +} + + +void Arm32Assembler::dmb(DmbOptions flavor) { #if ANDROID_SMP != 0 int32_t encoding = 0xf57ff05f; // dmb - Emit(encoding); + Emit(encoding | flavor); #endif } |