Fix Reference.refersTo() intrinsic for heap poisoning.

Test: ART_HEAP_POISONING=true m test-art-host-gtest
Test: ART_HEAP_POISONING=true testrunner.py --host --optimizing
Test: run-gtests.sh # with ART_HEAP_POISONING=true
Test: testrunner.py --target --optimizing # with ART_HEAP_POISONING=true
Bug: 172573708
Change-Id: I2e09b49813bdad40c1e18bf5681ba2094c5a40c1
diff --git a/compiler/optimizing/intrinsics_arm_vixl.cc b/compiler/optimizing/intrinsics_arm_vixl.cc
index b652234..42156d4 100644
--- a/compiler/optimizing/intrinsics_arm_vixl.cc
+++ b/compiler/optimizing/intrinsics_arm_vixl.cc
@@ -2584,6 +2584,7 @@
     __ ldr(tmp, MemOperand(obj, referent_offset));
     codegen_->MaybeRecordImplicitNullCheck(invoke);
   }
+  assembler->MaybeUnpoisonHeapReference(tmp);
   codegen_->GenerateMemoryBarrier(MemBarrierKind::kLoadAny);  // `referent` is volatile.
 
   if (kEmitCompilerReadBarrier) {