diff options
author | Mathieu Chartier <mathieuc@google.com> | 2013-10-09 15:01:21 -0700 |
---|---|---|
committer | Mathieu Chartier <mathieuc@google.com> | 2013-10-09 15:17:12 -0700 |
commit | e861ebd5d9490cc86200f3859f3d36fadad4588c (patch) | |
tree | be9ad31a9175198758491e6bcd3eef5c252c2c38 /runtime/interpreter/interpreter_switch_impl.cc | |
parent | d50f8c8e4456263e169c9998d3a1c3a6c5c51435 (diff) | |
download | art-e861ebd5d9490cc86200f3859f3d36fadad4588c.zip art-e861ebd5d9490cc86200f3859f3d36fadad4588c.tar.gz art-e861ebd5d9490cc86200f3859f3d36fadad4588c.tar.bz2 |
Fix interpreter bugs.
These showed up in compaction work.
Change-Id: Iac8eb0a1395c25aabba9f2e0ff6b01fc6180bdca
Diffstat (limited to 'runtime/interpreter/interpreter_switch_impl.cc')
-rw-r--r-- | runtime/interpreter/interpreter_switch_impl.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/runtime/interpreter/interpreter_switch_impl.cc b/runtime/interpreter/interpreter_switch_impl.cc index c3977c6..bd0d87e 100644 --- a/runtime/interpreter/interpreter_switch_impl.cc +++ b/runtime/interpreter/interpreter_switch_impl.cc @@ -227,12 +227,12 @@ JValue ExecuteSwitchImpl(Thread* self, MethodHelper& mh, const DexFile::CodeItem case Instruction::RETURN_OBJECT: { PREAMBLE(); JValue result; - Object* obj_result = shadow_frame.GetVRegReference(inst->VRegA_11x(inst_data)); - result.SetJ(0); - result.SetL(obj_result); if (UNLIKELY(self->TestAllFlags())) { CheckSuspend(self); } + Object* obj_result = shadow_frame.GetVRegReference(inst->VRegA_11x(inst_data)); + result.SetJ(0); + result.SetL(obj_result); if (do_assignability_check && obj_result != NULL) { Class* return_type = MethodHelper(shadow_frame.GetMethod()).GetReturnType(); if (return_type == NULL) { |