• Home
  • Raw
  • Download

Lines Matching refs:shadow_frame

25 void ThrowNullPointerExceptionFromInterpreter(const ShadowFrame& shadow_frame) {  in ThrowNullPointerExceptionFromInterpreter()  argument
26 ThrowNullPointerExceptionFromDexPC(shadow_frame.GetCurrentLocationForThrow()); in ThrowNullPointerExceptionFromInterpreter()
30 bool DoFieldGet(Thread* self, ShadowFrame& shadow_frame, const Instruction* inst, in DoFieldGet() argument
34 …ArtField* f = FindFieldFromCode<find_type, do_access_check>(field_idx, shadow_frame.GetMethod(), s… in DoFieldGet()
44 obj = shadow_frame.GetVRegReference(inst->VRegB_22c(inst_data)); in DoFieldGet()
46 ThrowNullPointerExceptionForFieldAccess(shadow_frame.GetCurrentLocationForThrow(), f, true); in DoFieldGet()
55 instrumentation->FieldReadEvent(self, this_object, shadow_frame.GetMethod(), in DoFieldGet()
56 shadow_frame.GetDexPC(), f); in DoFieldGet()
61 shadow_frame.SetVReg(vregA, f->GetBoolean(obj)); in DoFieldGet()
64 shadow_frame.SetVReg(vregA, f->GetByte(obj)); in DoFieldGet()
67 shadow_frame.SetVReg(vregA, f->GetChar(obj)); in DoFieldGet()
70 shadow_frame.SetVReg(vregA, f->GetShort(obj)); in DoFieldGet()
73 shadow_frame.SetVReg(vregA, f->GetInt(obj)); in DoFieldGet()
76 shadow_frame.SetVRegLong(vregA, f->GetLong(obj)); in DoFieldGet()
79 shadow_frame.SetVRegReference(vregA, f->GetObject(obj)); in DoFieldGet()
90 ShadowFrame& shadow_frame, \
122 bool DoIGetQuick(ShadowFrame& shadow_frame, const Instruction* inst, uint16_t inst_data) { in DoIGetQuick() argument
123 Object* obj = shadow_frame.GetVRegReference(inst->VRegB_22c(inst_data)); in DoIGetQuick()
127 ThrowNullPointerExceptionFromDexPC(shadow_frame.GetCurrentLocationForThrow()); in DoIGetQuick()
139 instrumentation->FieldReadEvent(Thread::Current(), obj, shadow_frame.GetMethod(), in DoIGetQuick()
140 shadow_frame.GetDexPC(), f); in DoIGetQuick()
146 shadow_frame.SetVReg(vregA, static_cast<int32_t>(obj->GetField32(field_offset))); in DoIGetQuick()
149 shadow_frame.SetVRegLong(vregA, static_cast<int64_t>(obj->GetField64(field_offset))); in DoIGetQuick()
152 shadow_frame.SetVRegReference(vregA, obj->GetFieldObject<mirror::Object>(field_offset)); in DoIGetQuick()
162 template bool DoIGetQuick<_field_type>(ShadowFrame& shadow_frame, const Instruction* inst, \
171 static JValue GetFieldValue(const ShadowFrame& shadow_frame, uint32_t vreg) in GetFieldValue() argument
176 field_value.SetZ(static_cast<uint8_t>(shadow_frame.GetVReg(vreg))); in GetFieldValue()
179 field_value.SetB(static_cast<int8_t>(shadow_frame.GetVReg(vreg))); in GetFieldValue()
182 field_value.SetC(static_cast<uint16_t>(shadow_frame.GetVReg(vreg))); in GetFieldValue()
185 field_value.SetS(static_cast<int16_t>(shadow_frame.GetVReg(vreg))); in GetFieldValue()
188 field_value.SetI(shadow_frame.GetVReg(vreg)); in GetFieldValue()
191 field_value.SetJ(shadow_frame.GetVRegLong(vreg)); in GetFieldValue()
194 field_value.SetL(shadow_frame.GetVRegReference(vreg)); in GetFieldValue()
205 bool DoFieldPut(Thread* self, const ShadowFrame& shadow_frame, const Instruction* inst, in DoFieldPut() argument
210 …ArtField* f = FindFieldFromCode<find_type, do_access_check>(field_idx, shadow_frame.GetMethod(), s… in DoFieldPut()
220 obj = shadow_frame.GetVRegReference(inst->VRegB_22c(inst_data)); in DoFieldPut()
222 ThrowNullPointerExceptionForFieldAccess(shadow_frame.GetCurrentLocationForThrow(), in DoFieldPut()
233 JValue field_value = GetFieldValue<field_type>(shadow_frame, vregA); in DoFieldPut()
235 instrumentation->FieldWriteEvent(self, this_object, shadow_frame.GetMethod(), in DoFieldPut()
236 shadow_frame.GetDexPC(), f, field_value); in DoFieldPut()
240 f->SetBoolean<transaction_active>(obj, shadow_frame.GetVReg(vregA)); in DoFieldPut()
243 f->SetByte<transaction_active>(obj, shadow_frame.GetVReg(vregA)); in DoFieldPut()
246 f->SetChar<transaction_active>(obj, shadow_frame.GetVReg(vregA)); in DoFieldPut()
249 f->SetShort<transaction_active>(obj, shadow_frame.GetVReg(vregA)); in DoFieldPut()
252 f->SetInt<transaction_active>(obj, shadow_frame.GetVReg(vregA)); in DoFieldPut()
255 f->SetLong<transaction_active>(obj, shadow_frame.GetVRegLong(vregA)); in DoFieldPut()
258 Object* reg = shadow_frame.GetVRegReference(vregA); in DoFieldPut()
295 const ShadowFrame& shadow_frame, const Instruction* inst, uint16_t inst_data)
325 bool DoIPutQuick(const ShadowFrame& shadow_frame, const Instruction* inst, uint16_t inst_data) { in DoIPutQuick() argument
326 Object* obj = shadow_frame.GetVRegReference(inst->VRegB_22c(inst_data)); in DoIPutQuick()
330 ThrowNullPointerExceptionFromDexPC(shadow_frame.GetCurrentLocationForThrow()); in DoIPutQuick()
343 JValue field_value = GetFieldValue<field_type>(shadow_frame, vregA); in DoIPutQuick()
344 instrumentation->FieldWriteEvent(Thread::Current(), obj, shadow_frame.GetMethod(), in DoIPutQuick()
345 shadow_frame.GetDexPC(), f, field_value); in DoIPutQuick()
350 obj->SetField32<transaction_active>(field_offset, shadow_frame.GetVReg(vregA)); in DoIPutQuick()
353 obj->SetField64<transaction_active>(field_offset, shadow_frame.GetVRegLong(vregA)); in DoIPutQuick()
356 obj->SetFieldObject<transaction_active>(field_offset, shadow_frame.GetVRegReference(vregA)); in DoIPutQuick()
366 template bool DoIPutQuick<_field_type, _transaction_active>(const ShadowFrame& shadow_frame, \
451 ShadowFrame& shadow_frame, in FindNextInstructionFollowingException() argument
469 Handle<mirror::ArtMethod> h_method(hs.NewHandle(shadow_frame.GetMethod())); in FindNextInstructionFollowingException()
474 instrumentation->MethodUnwindEvent(self, shadow_frame.GetThisObject(), in FindNextInstructionFollowingException()
475 shadow_frame.GetMethod(), dex_pc); in FindNextInstructionFollowingException()
478 instrumentation->MethodUnwindEvent(self, shadow_frame.GetThisObject(), in FindNextInstructionFollowingException()
479 shadow_frame.GetMethod(), dex_pc); in FindNextInstructionFollowingException()
494 const DexFile::CodeItem* code_item, ShadowFrame* shadow_frame,
499 static inline void AssignRegister(ShadowFrame* new_shadow_frame, const ShadowFrame& shadow_frame, in AssignRegister() argument
504 uint32_t src_value = shadow_frame.GetVReg(src_reg); in AssignRegister()
505 mirror::Object* o = shadow_frame.GetVRegReference<kVerifyNone>(src_reg); in AssignRegister()
524 bool DoCall(ArtMethod* method, Thread* self, ShadowFrame& shadow_frame, in DoCall() argument
541 ShadowFrame* new_shadow_frame(ShadowFrame::Create(num_regs, &shadow_frame, method, 0, memory)); in DoCall()
574 new_shadow_frame->SetVRegReference(dest_reg, shadow_frame.GetVRegReference(receiver_reg)); in DoCall()
583 Object* o = shadow_frame.GetVRegReference(src_reg); in DoCall()
606 uint64_t wide_value = (static_cast<uint64_t>(shadow_frame.GetVReg(src_reg + 1)) << 32) | in DoCall()
607 static_cast<uint32_t>(shadow_frame.GetVReg(src_reg)); in DoCall()
614 new_shadow_frame->SetVReg(dest_reg, shadow_frame.GetVReg(src_reg)); in DoCall()
626 AssignRegister(new_shadow_frame, shadow_frame, dest_reg, src_reg); in DoCall()
633 … AssignRegister(new_shadow_frame, shadow_frame, first_dest_reg + 4U, (inst_data >> 8) & 0x0f); in DoCall()
637 AssignRegister(new_shadow_frame, shadow_frame, first_dest_reg + arg_index, regList & 0x0f); in DoCall()
661 bool DoFilledNewArray(const Instruction* inst, const ShadowFrame& shadow_frame, in DoFilledNewArray() argument
675 Class* arrayClass = ResolveVerifyAndClinit(type_idx, shadow_frame.GetMethod(), in DoFilledNewArray()
688 self->ThrowNewExceptionF(shadow_frame.GetCurrentLocationForThrow(), in DoFilledNewArray()
712 … newArray->AsIntArray()->SetWithoutChecks<transaction_active>(i, shadow_frame.GetVReg(src_reg)); in DoFilledNewArray()
714 …newArray->AsObjectArray<Object>()->SetWithoutChecks<transaction_active>(i, shadow_frame.GetVRegRef… in DoFilledNewArray()
796 const DexFile::CodeItem* code_item, ShadowFrame* shadow_frame, in UnstartedRuntimeInvoke() argument
800 std::string name(PrettyMethod(shadow_frame->GetMethod())); in UnstartedRuntimeInvoke()
803 mirror::String* class_name = shadow_frame->GetVRegReference(arg_offset)->AsString(); in UnstartedRuntimeInvoke()
809 mirror::String* class_name = shadow_frame->GetVRegReference(arg_offset)->AsString(); in UnstartedRuntimeInvoke()
815 mirror::String* class_name = shadow_frame->GetVRegReference(arg_offset + 1)->AsString(); in UnstartedRuntimeInvoke()
817 down_cast<mirror::ClassLoader*>(shadow_frame->GetVRegReference(arg_offset)); in UnstartedRuntimeInvoke()
825 Class* klass = shadow_frame->GetVRegReference(arg_offset)->AsClass(); in UnstartedRuntimeInvoke()
836 Class* klass = shadow_frame->GetVRegReference(arg_offset)->AsClass(); in UnstartedRuntimeInvoke()
837 String* name = shadow_frame->GetVRegReference(arg_offset + 1)->AsString(); in UnstartedRuntimeInvoke()
870 Object* obj = shadow_frame->GetVRegReference(arg_offset); in UnstartedRuntimeInvoke()
874 MethodHelper mh(hs.NewHandle(shadow_frame->GetVRegReference(arg_offset)->AsArtMethod())); in UnstartedRuntimeInvoke()
879 Class* ctype = shadow_frame->GetVRegReference(arg_offset)->GetClass()->GetComponentType(); in UnstartedRuntimeInvoke()
880 jint srcPos = shadow_frame->GetVReg(arg_offset + 1); in UnstartedRuntimeInvoke()
881 jint dstPos = shadow_frame->GetVReg(arg_offset + 3); in UnstartedRuntimeInvoke()
882 jint length = shadow_frame->GetVReg(arg_offset + 4); in UnstartedRuntimeInvoke()
884 … ObjectArray<Object>* src = shadow_frame->GetVRegReference(arg_offset)->AsObjectArray<Object>(); in UnstartedRuntimeInvoke()
885 …ObjectArray<Object>* dst = shadow_frame->GetVRegReference(arg_offset + 2)->AsObjectArray<Object>(); in UnstartedRuntimeInvoke()
890 CharArray* src = shadow_frame->GetVRegReference(arg_offset)->AsCharArray(); in UnstartedRuntimeInvoke()
891 CharArray* dst = shadow_frame->GetVRegReference(arg_offset + 2)->AsCharArray(); in UnstartedRuntimeInvoke()
896 IntArray* src = shadow_frame->GetVRegReference(arg_offset)->AsIntArray(); in UnstartedRuntimeInvoke()
897 IntArray* dst = shadow_frame->GetVRegReference(arg_offset + 2)->AsIntArray(); in UnstartedRuntimeInvoke()
907 std::string caller(PrettyMethod(shadow_frame->GetLink()->GetMethod())); in UnstartedRuntimeInvoke()
917 artInterpreterToInterpreterBridge(self, mh, code_item, shadow_frame, result); in UnstartedRuntimeInvoke()
925 ShadowFrame& shadow_frame, \
938 const ShadowFrame& shadow_frame, \