summaryrefslogtreecommitdiffstats
path: root/runtime/interpreter/interpreter_switch_impl.cc
diff options
context:
space:
mode:
authorMathieu Chartier <mathieuc@google.com>2013-10-09 15:01:21 -0700
committerMathieu Chartier <mathieuc@google.com>2013-10-09 15:17:12 -0700
commite861ebd5d9490cc86200f3859f3d36fadad4588c (patch)
treebe9ad31a9175198758491e6bcd3eef5c252c2c38 /runtime/interpreter/interpreter_switch_impl.cc
parentd50f8c8e4456263e169c9998d3a1c3a6c5c51435 (diff)
downloadart-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.cc6
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) {