/art/runtime/entrypoints/interpreter/ |
H A D | interpreter_entrypoints.cc | 30 ShadowFrame* shadow_frame, JValue* result) { 31 mirror::ArtMethod* method = shadow_frame->GetMethod(); 36 self->PushShadowFrame(shadow_frame); 47 method = shadow_frame->GetMethod(); 52 InvokeWithShadowFrame(self, shadow_frame, arg_offset, mh, result); 54 method->Invoke(self, shadow_frame->GetVRegArgs(arg_offset), 55 (shadow_frame->NumberOfVRegs() - arg_offset) * sizeof(uint32_t), 28 artInterpreterToCompiledCodeBridge(Thread* self, MethodHelper& mh, const DexFile::CodeItem* code_item, ShadowFrame* shadow_frame, JValue* result) argument
|
/art/runtime/interpreter/ |
H A D | interpreter.cc | 326 ShadowFrame& shadow_frame, JValue result_register) { 334 ShadowFrame& shadow_frame, JValue result_register); 338 ShadowFrame& shadow_frame, JValue result_register); 342 ShadowFrame& shadow_frame, JValue result_register); 346 ShadowFrame& shadow_frame, JValue result_register); 350 ShadowFrame& shadow_frame, JValue result_register) 354 ShadowFrame& shadow_frame, JValue result_register) { 355 DCHECK(shadow_frame.GetMethod() == mh.GetMethod() || 356 shadow_frame.GetMethod()->GetDeclaringClass()->IsProxyClass()); 357 DCHECK(!shadow_frame 325 ExecuteGotoImpl(Thread* self, MethodHelper& mh, const DexFile::CodeItem* code_item, ShadowFrame& shadow_frame, JValue result_register) argument 353 Execute(Thread* self, MethodHelper& mh, const DexFile::CodeItem* code_item, ShadowFrame& shadow_frame, JValue result_register) argument 510 EnterInterpreterFromStub(Thread* self, MethodHelper& mh, const DexFile::CodeItem* code_item, ShadowFrame& shadow_frame) argument 522 artInterpreterToInterpreterBridge(Thread* self, MethodHelper& mh, const DexFile::CodeItem* code_item, ShadowFrame* shadow_frame, JValue* result) argument [all...] |
H A D | interpreter_common.h | 72 ShadowFrame& shadow_frame, JValue result_register); 77 ShadowFrame& shadow_frame, JValue result_register); 79 void ThrowNullPointerExceptionFromInterpreter(const ShadowFrame& shadow_frame) 100 bool DoCall(ArtMethod* method, Thread* self, ShadowFrame& shadow_frame, 106 static inline bool DoInvoke(Thread* self, ShadowFrame& shadow_frame, const Instruction* inst, argument 110 Object* receiver = (type == kStatic) ? nullptr : shadow_frame.GetVRegReference(vregC); 111 mirror::ArtMethod* sf_method = shadow_frame.GetMethod(); 124 return DoCall<is_range, do_access_check>(method, self, shadow_frame, inst, inst_data, result); 131 static inline bool DoInvokeVirtualQuick(Thread* self, ShadowFrame& shadow_frame, argument 135 Object* const receiver = shadow_frame [all...] |
H A D | interpreter_goto_table_impl.cc | 27 // - "shadow_frame": the current shadow frame. 37 shadow_frame.SetDexPC(dex_pc); \ 38 TraceExecution(shadow_frame, inst, dex_pc, mh); \ 114 ShadowFrame& shadow_frame, JValue result_register) { 138 if (UNLIKELY(!shadow_frame.HasReferenceArray())) { 144 uint32_t dex_pc = shadow_frame.GetDexPC(); 153 instrumentation->MethodEnterEvent(self, shadow_frame.GetThisObject(code_item->ins_size_), 154 shadow_frame.GetMethod(), 0); 168 shadow_frame.SetVReg(inst->VRegA_12x(inst_data), 169 shadow_frame 113 ExecuteGotoImpl(Thread* self, MethodHelper& mh, const DexFile::CodeItem* code_item, ShadowFrame& shadow_frame, JValue result_register) argument [all...] |
H A D | interpreter_switch_impl.cc | 28 uint32_t found_dex_pc = FindNextInstructionFollowingException(self, shadow_frame, \ 55 instrumentation->DexPcMovedEvent(self, shadow_frame.GetThisObject(code_item->ins_size_), \ 56 shadow_frame.GetMethod(), dex_pc); \ 62 ShadowFrame& shadow_frame, JValue result_register) { 64 if (UNLIKELY(!shadow_frame.HasReferenceArray())) { 70 uint32_t dex_pc = shadow_frame.GetDexPC(); 75 instrumentation->MethodEnterEvent(self, shadow_frame.GetThisObject(code_item->ins_size_), 76 shadow_frame.GetMethod(), 0); 85 shadow_frame.SetDexPC(dex_pc); 86 TraceExecution(shadow_frame, ins 61 ExecuteSwitchImpl(Thread* self, MethodHelper& mh, const DexFile::CodeItem* code_item, ShadowFrame& shadow_frame, JValue result_register) argument [all...] |
H A D | interpreter_common.cc | 25 void ThrowNullPointerExceptionFromInterpreter(const ShadowFrame& shadow_frame) { argument 26 ThrowNullPointerExceptionFromDexPC(shadow_frame.GetCurrentLocationForThrow()); 30 bool DoFieldGet(Thread* self, ShadowFrame& shadow_frame, const Instruction* inst, argument 34 ArtField* f = FindFieldFromCode<find_type, do_access_check>(field_idx, shadow_frame.GetMethod(), self, 44 obj = shadow_frame.GetVRegReference(inst->VRegB_22c(inst_data)); 46 ThrowNullPointerExceptionForFieldAccess(shadow_frame.GetCurrentLocationForThrow(), f, true); 55 instrumentation->FieldReadEvent(self, this_object, shadow_frame.GetMethod(), 56 shadow_frame.GetDexPC(), f); 61 shadow_frame.SetVReg(vregA, f->GetBoolean(obj)); 64 shadow_frame 122 DoIGetQuick(ShadowFrame& shadow_frame, const Instruction* inst, uint16_t inst_data) argument 205 DoFieldPut(Thread* self, const ShadowFrame& shadow_frame, const Instruction* inst, uint16_t inst_data) argument 325 DoIPutQuick(const ShadowFrame& shadow_frame, const Instruction* inst, uint16_t inst_data) argument 450 FindNextInstructionFollowingException(Thread* self, ShadowFrame& shadow_frame, uint32_t dex_pc, const instrumentation::Instrumentation* instrumentation) argument 524 DoCall(ArtMethod* method, Thread* self, ShadowFrame& shadow_frame, const Instruction* inst, uint16_t inst_data, JValue* result) argument 661 DoFilledNewArray(const Instruction* inst, const ShadowFrame& shadow_frame, Thread* self, JValue* result) argument 795 UnstartedRuntimeInvoke(Thread* self, MethodHelper& mh, const DexFile::CodeItem* code_item, ShadowFrame* shadow_frame, JValue* result, size_t arg_offset) argument [all...] |
/art/runtime/mirror/ |
H A D | art_method.cc | 347 ShadowFrame* shadow_frame = self->GetAndClearDeoptimizationShadowFrame(result); local 349 self->SetTopOfShadowStack(shadow_frame); 350 interpreter::EnterInterpreterFromDeoptimize(self, shadow_frame, result);
|
/art/runtime/ |
H A D | reflection.cc | 179 void BuildArgArrayFromFrame(ShadowFrame* shadow_frame, uint32_t arg_offset) 183 if (!shadow_frame->GetMethod()->IsStatic()) { 184 Append(shadow_frame->GetVReg(cur_arg)); 196 Append(shadow_frame->GetVReg(cur_arg)); 201 AppendWide(shadow_frame->GetVRegLong(cur_arg)); 503 void InvokeWithShadowFrame(Thread* self, ShadowFrame* shadow_frame, uint16_t arg_offset, argument 514 arg_array.BuildArgArrayFromFrame(shadow_frame, arg_offset); 515 shadow_frame->GetMethod()->Invoke(self, arg_array.GetArray(), arg_array.GetNumBytes(), result,
|
H A D | thread.cc | 2009 ShadowFrame* shadow_frame = GetCurrentShadowFrame(); local 2010 if (shadow_frame != nullptr) { 2011 VisitShadowFrame(shadow_frame); 2018 void VisitShadowFrame(ShadowFrame* shadow_frame) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) { 2019 mirror::ArtMethod** method_addr = shadow_frame->GetMethodAddress(); 2023 size_t num_regs = shadow_frame->NumberOfVRegs(); 2024 if (m->IsNative() || shadow_frame->HasReferenceArray()) { 2027 mirror::Object* ref = shadow_frame->GetVRegReference(reg); 2032 shadow_frame->SetVRegReference(reg, new_ref); 2042 uint32_t dex_pc = shadow_frame [all...] |