diff options
Diffstat (limited to 'runtime/interpreter/interpreter.cc')
-rw-r--r-- | runtime/interpreter/interpreter.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/runtime/interpreter/interpreter.cc b/runtime/interpreter/interpreter.cc index f23304c391..048c6e4d66 100644 --- a/runtime/interpreter/interpreter.cc +++ b/runtime/interpreter/interpreter.cc @@ -31,6 +31,7 @@ #include "mterp/mterp.h" #include "nativehelper/scoped_local_ref.h" #include "scoped_thread_state_change-inl.h" +#include "shadow_frame-inl.h" #include "stack.h" #include "thread-inl.h" #include "unstarted_runtime.h" @@ -419,7 +420,7 @@ void EnterInterpreterFromInvoke(Thread* self, size_t cur_reg = num_regs - num_ins; if (!method->IsStatic()) { CHECK(receiver != nullptr); - shadow_frame->SetVRegReference(cur_reg, receiver.Ptr()); + shadow_frame->SetVRegReference(cur_reg, receiver); ++cur_reg; } uint32_t shorty_len = 0; @@ -430,7 +431,7 @@ void EnterInterpreterFromInvoke(Thread* self, case 'L': { ObjPtr<mirror::Object> o = reinterpret_cast<StackReference<mirror::Object>*>(&args[arg_pos])->AsMirrorPtr(); - shadow_frame->SetVRegReference(cur_reg, o.Ptr()); + shadow_frame->SetVRegReference(cur_reg, o); break; } case 'J': case 'D': { |