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 /runtime/thread.cc | |
parent | 8bc616d09f93523f4bc982cc60c377b00161522a (diff) | |
download | art-15b9d5274399736ac09705f0507df24fac4f00c1.tar.gz art-15b9d5274399736ac09705f0507df24fac4f00c1.tar.bz2 art-15b9d5274399736ac09705f0507df24fac4f00c1.zip |
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 'runtime/thread.cc')
-rw-r--r-- | runtime/thread.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/runtime/thread.cc b/runtime/thread.cc index e8e93555ac..8e98d530a9 100644 --- a/runtime/thread.cc +++ b/runtime/thread.cc @@ -2216,9 +2216,9 @@ class ReferenceMapVisitor : public StackVisitor { } } else { StackReference<mirror::Object>* ref_addr = - reinterpret_cast<StackReference<mirror::Object>*>( - GetVRegAddr(cur_quick_frame, code_item, frame_info.CoreSpillMask(), - frame_info.FpSpillMask(), frame_info.FrameSizeInBytes(), reg)); + reinterpret_cast<StackReference<mirror::Object>*>(GetVRegAddrFromQuickCode( + cur_quick_frame, code_item, frame_info.CoreSpillMask(), + frame_info.FpSpillMask(), frame_info.FrameSizeInBytes(), reg)); mirror::Object* ref = ref_addr->AsMirrorPtr(); if (ref != nullptr) { mirror::Object* new_ref = ref; |