diff options
author | Nicolas Geoffray <ngeoffray@google.com> | 2015-03-12 15:05:13 +0000 |
---|---|---|
committer | Nicolas Geoffray <ngeoffray@google.com> | 2015-03-13 10:26:47 +0000 |
commit | 15b9d5274399736ac09705f0507df24fac4f00c1 (patch) | |
tree | 04564a9265f5dccefdd32ea7bdd25adc0267f80b /oatdump | |
parent | 8bc616d09f93523f4bc982cc60c377b00161522a (diff) | |
download | art-15b9d5274399736ac09705f0507df24fac4f00c1.zip art-15b9d5274399736ac09705f0507df24fac4f00c1.tar.gz art-15b9d5274399736ac09705f0507df24fac4f00c1.tar.bz2 |
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
Diffstat (limited to 'oatdump')
-rw-r--r-- | oatdump/oatdump.cc | 22 |
1 files changed, 14 insertions, 8 deletions
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 << "]"; } } |