Untested fix for alleged build breakage.
There was one (compile-time) case in the MemoryBarrier code where we
wouldn't CHECK 'scratch'. The easiest fix is to always do the CHECK,
even when we're not going to use the register because we're emitting
a DMB or nothing at all.
Change-Id: I6fc216c80aa321df255c3a17f7aa6e404a4ca592
diff --git a/src/assembler_arm.cc b/src/assembler_arm.cc
index ae9f092..65f8e57 100644
--- a/src/assembler_arm.cc
+++ b/src/assembler_arm.cc
@@ -1738,17 +1738,16 @@
void ArmAssembler::MemoryBarrier(ManagedRegister mscratch) {
+ CHECK(mscratch.AsArm().AsCoreRegister() == R12);
#if ANDROID_SMP != 0
#if defined(__ARM_HAVE_DMB)
int32_t encoding = 0xf57ff05f; // dmb
Emit(encoding);
#elif defined(__ARM_HAVE_LDREX_STREX)
- CHECK(mscratch.AsArm().AsCoreRegister() == R12);
LoadImmediate(R12, 0);
int32_t encoding = 0xee07cfba; // mcr p15, 0, r12, c7, c10, 5
Emit(encoding);
#else
- CHECK(mscratch.AsArm().AsCoreRegister() == R12);
LoadImmediate(R12, 0xffff0fa0); // kuser_memory_barrier
blx(R12);
#endif