From a3eca2d7300f35c66cf4b696d788a8b7ba74eb99 Mon Sep 17 00:00:00 2001 From: Nicolas Geoffray Date: Tue, 12 Jan 2016 16:03:16 +0000 Subject: Do not leave intermediate addresses across Java calls. bug:26472446 Change-Id: Ie4a9b5fe6f1d61a76c71eceaa2299fe55512c612 --- compiler/optimizing/register_allocator.cc | 3 +++ 1 file changed, 3 insertions(+) (limited to 'compiler/optimizing/register_allocator.cc') diff --git a/compiler/optimizing/register_allocator.cc b/compiler/optimizing/register_allocator.cc index d399bc2d7a..9a06d9be41 100644 --- a/compiler/optimizing/register_allocator.cc +++ b/compiler/optimizing/register_allocator.cc @@ -1677,6 +1677,7 @@ void RegisterAllocator::ConnectSiblings(LiveInterval* interval) { LocationSummary* locations = safepoint_position->GetLocations(); if ((current->GetType() == Primitive::kPrimNot) && current->GetParent()->HasSpillSlot()) { + DCHECK(interval->GetDefinedBy()->IsActualObject()) << interval->GetDefinedBy()->DebugName(); locations->SetStackBit(current->GetParent()->GetSpillSlot() / kVRegSize); } @@ -1689,6 +1690,8 @@ void RegisterAllocator::ConnectSiblings(LiveInterval* interval) { maximum_number_of_live_fp_registers_); } if (current->GetType() == Primitive::kPrimNot) { + DCHECK(interval->GetDefinedBy()->IsActualObject()) + << interval->GetDefinedBy()->DebugName(); locations->SetRegisterBit(source.reg()); } break; -- cgit v1.2.3-59-g8ed1b