Implement Reference.getReferent() intrinsic.
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing --jit
Test: aosp_blueline-userdebug boots.
Test: run-gtests.sh
Test: testrunner.py --target --optimizing --jit
Bug: 170286013
Change-Id: I4762f7c1cf3d61de2215ec8f1d14be80289c2372
diff --git a/compiler/optimizing/code_generator_arm_vixl.cc b/compiler/optimizing/code_generator_arm_vixl.cc
index 00b2586..1dedfc5 100644
--- a/compiler/optimizing/code_generator_arm_vixl.cc
+++ b/compiler/optimizing/code_generator_arm_vixl.cc
@@ -8893,12 +8893,12 @@
Location ref,
vixl32::Register obj,
uint32_t offset,
- Location temp,
+ Location maybe_temp,
bool needs_null_check) {
DCHECK_ALIGNED(offset, sizeof(mirror::HeapReference<mirror::Object>));
vixl32::Register base = obj;
if (offset >= kReferenceLoadMinFarOffset) {
- base = RegisterFrom(temp);
+ base = RegisterFrom(maybe_temp);
static_assert(IsPowerOfTwo(kReferenceLoadMinFarOffset), "Expecting a power of 2.");
__ Add(base, obj, Operand(offset & ~(kReferenceLoadMinFarOffset - 1u)));
offset &= (kReferenceLoadMinFarOffset - 1u);