Make heap reference poisoning work with the interpreter.
It is disabled by default.
Bug: 12687968
Change-Id: Iee0cad647f341a7b566f4cf74c2770d1c19312c9
diff --git a/compiler/utils/mips/assembler_mips.cc b/compiler/utils/mips/assembler_mips.cc
index fdd2bab..ce21b84 100644
--- a/compiler/utils/mips/assembler_mips.cc
+++ b/compiler/utils/mips/assembler_mips.cc
@@ -684,6 +684,9 @@
CHECK(dest.IsCoreRegister() && dest.IsCoreRegister());
LoadFromOffset(kLoadWord, dest.AsCoreRegister(),
base.AsMips().AsCoreRegister(), offs.Int32Value());
+ if (kPoisonHeapReferences) {
+ Subu(dest.AsCoreRegister(), ZERO, dest.AsCoreRegister());
+ }
}
void MipsAssembler::LoadRawPtr(ManagedRegister mdest, ManagedRegister base,