From e63a745f26fec5a5b4162fc83f6e88a1f696c30c Mon Sep 17 00:00:00 2001 From: Hiroshi Yamauchi Date: Thu, 27 Feb 2014 14:44:36 -0800 Subject: Make heap reference poisoning work with the interpreter. It is disabled by default. Bug: 12687968 Change-Id: Iee0cad647f341a7b566f4cf74c2770d1c19312c9 --- compiler/utils/arm/assembler_arm.cc | 3 +++ 1 file changed, 3 insertions(+) (limited to 'compiler/utils/arm/assembler_arm.cc') diff --git a/compiler/utils/arm/assembler_arm.cc b/compiler/utils/arm/assembler_arm.cc index 828dffafa1..dbd078a81c 100644 --- a/compiler/utils/arm/assembler_arm.cc +++ b/compiler/utils/arm/assembler_arm.cc @@ -1550,6 +1550,9 @@ void ArmAssembler::LoadRef(ManagedRegister mdest, ManagedRegister base, CHECK(dst.IsCoreRegister() && dst.IsCoreRegister()) << dst; LoadFromOffset(kLoadWord, dst.AsCoreRegister(), base.AsArm().AsCoreRegister(), offs.Int32Value()); + if (kPoisonHeapReferences) { + rsb(dst.AsCoreRegister(), dst.AsCoreRegister(), ShifterOperand(0)); + } } void ArmAssembler::LoadRef(ManagedRegister mdest, FrameOffset src) { -- cgit v1.2.3-59-g8ed1b