From 15b9d5274399736ac09705f0507df24fac4f00c1 Mon Sep 17 00:00:00 2001 From: Nicolas Geoffray Date: Thu, 12 Mar 2015 15:05:13 +0000 Subject: API change in StackVisitor::GetVReg*. - Remove GetVReg() and SetVReg() that were expecting to always succeed. - Change Quick-only methods to take a FromQuickCode suffix. - Change deopt to use dead values when GetVReg does not succeed: the optimizing compiler will not have a location for uninitialized Dex registers and potentially dead registers. Change-Id: Ida05773a97aff8aa69e0caf42ea961f80f854b77 --- oatdump/oatdump.cc | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) (limited to 'oatdump') diff --git a/oatdump/oatdump.cc b/oatdump/oatdump.cc index 9ae3b79..9512376 100644 --- a/oatdump/oatdump.cc +++ b/oatdump/oatdump.cc @@ -1138,10 +1138,13 @@ class OatDumper { os << "\n\tlocals:"; } - uint32_t offset = StackVisitor::GetVRegOffset(code_item, oat_method.GetCoreSpillMask(), - oat_method.GetFpSpillMask(), - oat_method.GetFrameSizeInBytes(), reg, - GetInstructionSet()); + uint32_t offset = StackVisitor::GetVRegOffsetFromQuickCode( + code_item, + oat_method.GetCoreSpillMask(), + oat_method.GetFpSpillMask(), + oat_method.GetFrameSizeInBytes(), + reg, + GetInstructionSet()); os << " v" << reg << "[sp + #" << offset << "]"; } @@ -1170,10 +1173,13 @@ class OatDumper { : oat_method.GetCoreSpillMask(); os << (is_float ? "fr" : "r") << vmap_table.ComputeRegister(spill_mask, vmap_offset, kind); } else { - uint32_t offset = StackVisitor::GetVRegOffset(code_item, oat_method.GetCoreSpillMask(), - oat_method.GetFpSpillMask(), - oat_method.GetFrameSizeInBytes(), reg, - GetInstructionSet()); + uint32_t offset = StackVisitor::GetVRegOffsetFromQuickCode( + code_item, + oat_method.GetCoreSpillMask(), + oat_method.GetFpSpillMask(), + oat_method.GetFrameSizeInBytes(), + reg, + GetInstructionSet()); os << "[sp + #" << offset << "]"; } } -- cgit v1.1