Lines Matching refs:shadow_frame

164                                     ShadowFrame* shadow_frame,                                     \
168 JValue* result_register = shadow_frame->GetResultRegister(); \
170 if (shadow_frame->GetMethod()->SkipAccessChecks()) { \
172 self, *shadow_frame, inst, inst_data, result_register) ? 1u : 0u; \
175 self, *shadow_frame, inst, inst_data, result_register) ? 1u : 0u; \
179 ShadowFrame* shadow_frame, \
183 JValue* result_register = shadow_frame->GetResultRegister(); \
185 if (shadow_frame->GetMethod()->SkipAccessChecks()) { \
187 self, *shadow_frame, inst, inst_data, result_register) ? 1u : 0u; \
190 self, *shadow_frame, inst, inst_data, result_register) ? 1u : 0u; \
203 ShadowFrame* shadow_frame, in MTERP_INVOKE()
207 JValue* result_register = shadow_frame->GetResultRegister(); in MTERP_INVOKE()
210 self, *shadow_frame, inst, inst_data, result_register) ? 1u : 0u; in MTERP_INVOKE()
214 ShadowFrame* shadow_frame, in MterpInvokePolymorphic() argument
218 JValue* result_register = shadow_frame->GetResultRegister(); in MterpInvokePolymorphic()
221 self, *shadow_frame, inst, inst_data, result_register) ? 1u : 0u; in MterpInvokePolymorphic()
225 ShadowFrame* shadow_frame, in MterpInvokeCustomRange() argument
229 JValue* result_register = shadow_frame->GetResultRegister(); in MterpInvokeCustomRange()
232 self, *shadow_frame, inst, inst_data, result_register) ? 1u : 0u; in MterpInvokeCustomRange()
236 ShadowFrame* shadow_frame, in MterpInvokePolymorphicRange() argument
240 JValue* result_register = shadow_frame->GetResultRegister(); in MterpInvokePolymorphicRange()
243 self, *shadow_frame, inst, inst_data, result_register) ? 1u : 0u; in MterpInvokePolymorphicRange()
252 ShadowFrame* shadow_frame, in MterpConstString() argument
255 ObjPtr<mirror::String> s = ResolveString(self, *shadow_frame, dex::StringIndex(index)); in MterpConstString()
259 shadow_frame->SetVRegReference(tgt_vreg, s); in MterpConstString()
265 ShadowFrame* shadow_frame, in MterpConstClass() argument
270 shadow_frame->GetMethod(), in MterpConstClass()
273 !shadow_frame->GetMethod()->SkipAccessChecks()); in MterpConstClass()
277 shadow_frame->SetVRegReference(tgt_vreg, c); in MterpConstClass()
283 ShadowFrame* shadow_frame, in MterpConstMethodHandle() argument
286 ObjPtr<mirror::MethodHandle> mh = ResolveMethodHandle(self, index, shadow_frame->GetMethod()); in MterpConstMethodHandle()
290 shadow_frame->SetVRegReference(tgt_vreg, mh); in MterpConstMethodHandle()
296 ShadowFrame* shadow_frame, in MterpConstMethodType() argument
300 ResolveMethodType(self, dex::ProtoIndex(index), shadow_frame->GetMethod()); in MterpConstMethodType()
304 shadow_frame->SetVRegReference(tgt_vreg, mt); in MterpConstMethodType()
355 extern "C" size_t MterpNewInstance(ShadowFrame* shadow_frame, Thread* self, uint32_t inst_data) in MterpNewInstance() argument
357 const Instruction* inst = Instruction::At(shadow_frame->GetDexPCPtr()); in MterpNewInstance()
361 shadow_frame->GetMethod(), in MterpNewInstance()
364 !shadow_frame->GetMethod()->SkipAccessChecks()); in MterpNewInstance()
377 shadow_frame->SetVRegReference(inst->VRegA_21c(inst_data), obj); in MterpNewInstance()
381 extern "C" size_t MterpAputObject(ShadowFrame* shadow_frame, in MterpAputObject() argument
386 ObjPtr<mirror::Object> a = shadow_frame->GetVRegReference(inst->VRegB_23x()); in MterpAputObject()
390 int32_t index = shadow_frame->GetVReg(inst->VRegC_23x()); in MterpAputObject()
391 ObjPtr<mirror::Object> val = shadow_frame->GetVRegReference(inst->VRegA_23x(inst_data)); in MterpAputObject()
400 extern "C" size_t MterpFilledNewArray(ShadowFrame* shadow_frame, in MterpFilledNewArray() argument
405 JValue* result_register = shadow_frame->GetResultRegister(); in MterpFilledNewArray()
407 if (shadow_frame->GetMethod()->SkipAccessChecks()) { in MterpFilledNewArray()
411 *shadow_frame, in MterpFilledNewArray()
418 *shadow_frame, in MterpFilledNewArray()
425 extern "C" size_t MterpFilledNewArrayRange(ShadowFrame* shadow_frame, in MterpFilledNewArrayRange() argument
430 JValue* result_register = shadow_frame->GetResultRegister(); in MterpFilledNewArrayRange()
432 if (shadow_frame->GetMethod()->SkipAccessChecks()) { in MterpFilledNewArrayRange()
436 *shadow_frame, in MterpFilledNewArrayRange()
443 *shadow_frame, in MterpFilledNewArrayRange()
450 extern "C" size_t MterpNewArray(ShadowFrame* shadow_frame, in MterpNewArray() argument
455 int32_t length = shadow_frame->GetVReg(inst->VRegB_22c(inst_data)); in MterpNewArray()
458 if (shadow_frame->GetMethod()->SkipAccessChecks()) { in MterpNewArray()
461 shadow_frame->GetMethod(), in MterpNewArray()
467 shadow_frame->GetMethod(), in MterpNewArray()
474 shadow_frame->SetVRegReference(inst->VRegA_22c(inst_data), obj); in MterpNewArray()
478 extern "C" size_t MterpHandleException(Thread* self, ShadowFrame* shadow_frame) in MterpHandleException() argument
483 return MoveToExceptionHandler(self, *shadow_frame, instrumentation) ? 1u : 0u; in MterpHandleException()
491 extern "C" void MterpCheckBefore(Thread* self, ShadowFrame* shadow_frame, uint16_t* dex_pc_ptr) in MterpCheckBefore() argument
508 uint32_t dex_pc = dex_pc_ptr - shadow_frame->GetDexInstructions(); in MterpCheckBefore()
509 TraceExecution(*shadow_frame, inst, dex_pc); in MterpCheckBefore()
513 shadow_frame->SetDexPCPtr(reinterpret_cast<uint16_t*>(kExportPCPoison)); in MterpCheckBefore()
516 shadow_frame->CheckConsistentVRegs(); in MterpCheckBefore()
520 extern "C" void MterpLogDivideByZeroException(Thread* self, ShadowFrame* shadow_frame) in MterpLogDivideByZeroException() argument
523 const Instruction* inst = Instruction::At(shadow_frame->GetDexPCPtr()); in MterpLogDivideByZeroException()
528 extern "C" void MterpLogArrayIndexException(Thread* self, ShadowFrame* shadow_frame) in MterpLogArrayIndexException() argument
531 const Instruction* inst = Instruction::At(shadow_frame->GetDexPCPtr()); in MterpLogArrayIndexException()
536 extern "C" void MterpLogNegativeArraySizeException(Thread* self, ShadowFrame* shadow_frame) in MterpLogNegativeArraySizeException() argument
539 const Instruction* inst = Instruction::At(shadow_frame->GetDexPCPtr()); in MterpLogNegativeArraySizeException()
544 extern "C" void MterpLogNoSuchMethodException(Thread* self, ShadowFrame* shadow_frame) in MterpLogNoSuchMethodException() argument
547 const Instruction* inst = Instruction::At(shadow_frame->GetDexPCPtr()); in MterpLogNoSuchMethodException()
552 extern "C" void MterpLogExceptionThrownException(Thread* self, ShadowFrame* shadow_frame) in MterpLogExceptionThrownException() argument
555 const Instruction* inst = Instruction::At(shadow_frame->GetDexPCPtr()); in MterpLogExceptionThrownException()
560 extern "C" void MterpLogNullObjectException(Thread* self, ShadowFrame* shadow_frame) in MterpLogNullObjectException() argument
563 const Instruction* inst = Instruction::At(shadow_frame->GetDexPCPtr()); in MterpLogNullObjectException()
568 extern "C" void MterpLogFallback(Thread* self, ShadowFrame* shadow_frame) in MterpLogFallback() argument
571 const Instruction* inst = Instruction::At(shadow_frame->GetDexPCPtr()); in MterpLogFallback()
577 extern "C" void MterpLogOSR(Thread* self, ShadowFrame* shadow_frame, int32_t offset) in MterpLogOSR() argument
580 const Instruction* inst = Instruction::At(shadow_frame->GetDexPCPtr()); in MterpLogOSR()
585 extern "C" void MterpLogSuspendFallback(Thread* self, ShadowFrame* shadow_frame, uint32_t flags) in MterpLogSuspendFallback() argument
588 const Instruction* inst = Instruction::At(shadow_frame->GetDexPCPtr()); in MterpLogSuspendFallback()
611 ShadowFrame* shadow_frame, in MterpFieldAccess() argument
628 shadow_frame->SetVRegLong(vRegA, value); // Set two consecutive registers. in MterpFieldAccess()
630 shadow_frame->SetVReg(vRegA, static_cast<int32_t>(value)); // Sign/zero extend. in MterpFieldAccess()
634 ? shadow_frame->GetVRegLong(vRegA) in MterpFieldAccess()
635 : shadow_frame->GetVReg(vRegA); in MterpFieldAccess()
647 shadow_frame->SetVRegReference(vRegA, value); in MterpFieldAccess()
649 ObjPtr<mirror::Object> value = shadow_frame->GetVRegReference(vRegA); in MterpFieldAccess()
662 ShadowFrame* shadow_frame, in MterpFieldAccessSlow() argument
669 shadow_frame->SetDexPCPtr(reinterpret_cast<uint16_t*>(inst)); in MterpFieldAccessSlow()
670 ArtMethod* referrer = shadow_frame->GetMethod(); in MterpFieldAccessSlow()
681 ObjPtr<mirror::Object> value = shadow_frame->GetVRegReference(vRegA); in MterpFieldAccessSlow()
689 : shadow_frame->GetVRegReference(inst->VRegB_22c(inst_data)); in MterpFieldAccessSlow()
695 inst, inst_data, shadow_frame, obj, field->GetOffset(), field->IsVolatile()); in MterpFieldAccessSlow()
703 ShadowFrame* shadow_frame, in MterpFieldAccessFast() argument
720 field_idx, shadow_frame->GetMethod(), self, sizeof(PrimType)); in MterpFieldAccessFast()
725 : ObjPtr<mirror::Object>(shadow_frame->GetVRegReference(inst->VRegB_22c(inst_data))); in MterpFieldAccessFast()
728 inst, inst_data, shadow_frame, obj, MemberOffset(offset), /* is_volatile= */ false); in MterpFieldAccessFast()
734 ArtMethod* referrer = shadow_frame->GetMethod(); in MterpFieldAccessFast()
752 : shadow_frame->GetVRegReference(inst->VRegB_22c(inst_data)); in MterpFieldAccessFast()
765 inst, inst_data, shadow_frame, obj, field->GetOffset(), field->IsVolatile()); in MterpFieldAccessFast()
774 inst, inst_data, shadow_frame, self); in MterpFieldAccessFast()
841 ShadowFrame* shadow_frame, in MterpSetUpHotnessCountdown() argument
871 shadow_frame->SetCachedHotnessCountdown(countdown_value); in MterpSetUpHotnessCountdown()
872 shadow_frame->SetHotnessCountdown(countdown_value); in MterpSetUpHotnessCountdown()
881 ShadowFrame* shadow_frame, in MterpAddHotnessBatch() argument
886 int16_t count = shadow_frame->GetCachedHotnessCountdown() - shadow_frame->GetHotnessCountdown(); in MterpAddHotnessBatch()
889 return MterpSetUpHotnessCountdown(method, shadow_frame, self); in MterpAddHotnessBatch()
893 ShadowFrame* shadow_frame, in MterpMaybeDoOnStackReplacement() argument
896 int16_t osr_countdown = shadow_frame->GetCachedHotnessCountdown() - 1; in MterpMaybeDoOnStackReplacement()
905 ArtMethod* method = shadow_frame->GetMethod(); in MterpMaybeDoOnStackReplacement()
906 JValue* result = shadow_frame->GetResultRegister(); in MterpMaybeDoOnStackReplacement()
907 uint32_t dex_pc = shadow_frame->GetDexPC(); in MterpMaybeDoOnStackReplacement()
916 shadow_frame->SetCachedHotnessCountdown(osr_countdown); in MterpMaybeDoOnStackReplacement()