Lines Matching refs:instr
470 static bool IsStringInit(const Instruction* instr, ArtMethod* caller) in IsStringInit() argument
472 if (instr->Opcode() == Instruction::INVOKE_DIRECT || in IsStringInit()
473 instr->Opcode() == Instruction::INVOKE_DIRECT_RANGE) { in IsStringInit()
476 uint16_t callee_method_idx = (instr->Opcode() == Instruction::INVOKE_DIRECT_RANGE) ? in IsStringInit()
477 instr->VRegB_3rc() : instr->VRegB_35c(); in IsStringInit()
493 static int16_t GetReceiverRegisterForStringInit(const Instruction* instr) { in GetReceiverRegisterForStringInit() argument
494 DCHECK(instr->Opcode() == Instruction::INVOKE_DIRECT_RANGE || in GetReceiverRegisterForStringInit()
495 instr->Opcode() == Instruction::INVOKE_DIRECT); in GetReceiverRegisterForStringInit()
496 return (instr->Opcode() == Instruction::INVOKE_DIRECT_RANGE) ? in GetReceiverRegisterForStringInit()
497 instr->VRegC_3rc() : instr->VRegC_35c(); in GetReceiverRegisterForStringInit()
533 const Instruction* instr = Instruction::At(&code_item->insns_[dex_pc]); in EnterInterpreterFromDeoptimize() local
534 if (instr->IsInvoke()) { in EnterInterpreterFromDeoptimize()
535 if (IsStringInit(instr, shadow_frame->GetMethod())) { in EnterInterpreterFromDeoptimize()
536 uint16_t this_obj_vreg = GetReceiverRegisterForStringInit(instr); in EnterInterpreterFromDeoptimize()
545 new_dex_pc = dex_pc + instr->SizeInCodeUnits(); in EnterInterpreterFromDeoptimize()
546 } else if (instr->Opcode() == Instruction::NEW_INSTANCE) { in EnterInterpreterFromDeoptimize()
551 shadow_frame->SetVRegReference(instr->VRegA_21c(), value.GetL()); in EnterInterpreterFromDeoptimize()
555 new_dex_pc = dex_pc + instr->SizeInCodeUnits(); in EnterInterpreterFromDeoptimize()
560 dex::TypeIndex(instr->VRegB_21c()), shadow_frame->GetMethod()); in EnterInterpreterFromDeoptimize()
564 CHECK(false) << "Unexpected instruction opcode " << instr->Opcode() in EnterInterpreterFromDeoptimize()