Fix another poisoning problem.
We were using the wrong temp.
Change-Id: Id79d5079cc85f61eb1a45d741a67f24d33e8fa03
diff --git a/compiler/optimizing/code_generator_arm64.cc b/compiler/optimizing/code_generator_arm64.cc
index c081e11..78ecfde 100644
--- a/compiler/optimizing/code_generator_arm64.cc
+++ b/compiler/optimizing/code_generator_arm64.cc
@@ -1707,13 +1707,15 @@
} else {
__ B(ne, slow_path->GetEntryLabel());
}
+ temps.Release(temp2);
}
if (kPoisonHeapReferences) {
+ Register temp2 = temps.AcquireSameSizeAs(array);
DCHECK(value.IsW());
- __ Mov(temp, value.W());
- GetAssembler()->PoisonHeapReference(temp);
- source = temp;
+ __ Mov(temp2, value.W());
+ GetAssembler()->PoisonHeapReference(temp2);
+ source = temp2;
}
if (!index.IsConstant()) {