Home
last modified time | relevance | path

Searched refs:inst (Results 1 – 25 of 30) sorted by relevance

12

/art/runtime/interpreter/
Dinterpreter_switch_impl.cc28 inst->GetDexPc(insns), \
34 inst = inst->RelativeAt(displacement); \
43 inst = inst->_next_function(); \
78 const Instruction* inst = Instruction::At(insns + dex_pc); in ExecuteSwitchImpl() local
81 dex_pc = inst->GetDexPc(insns); in ExecuteSwitchImpl()
83 TraceExecution(shadow_frame, inst, dex_pc); in ExecuteSwitchImpl()
84 inst_data = inst->Fetch16(0); in ExecuteSwitchImpl()
85 switch (inst->Opcode(inst_data)) { in ExecuteSwitchImpl()
88 inst = inst->Next_1xx(); in ExecuteSwitchImpl()
92 shadow_frame.SetVReg(inst->VRegA_12x(inst_data), in ExecuteSwitchImpl()
[all …]
Dinterpreter_goto_table_impl.cc38 inst = inst->RelativeAt(disp); \
41 TraceExecution(shadow_frame, inst, dex_pc); \
42 inst_data = inst->Fetch16(0); \
43 goto *currentHandlersTable[inst->Opcode(inst_data)]; \
156 const Instruction* inst = Instruction::At(code_item->insns_ + dex_pc); in ExecuteGotoImpl() local
180 shadow_frame.SetVReg(inst->VRegA_12x(inst_data), in ExecuteGotoImpl()
181 shadow_frame.GetVReg(inst->VRegB_12x(inst_data))); in ExecuteGotoImpl()
186 shadow_frame.SetVReg(inst->VRegA_22x(inst_data), in ExecuteGotoImpl()
187 shadow_frame.GetVReg(inst->VRegB_22x())); in ExecuteGotoImpl()
192 shadow_frame.SetVReg(inst->VRegA_32x(), in ExecuteGotoImpl()
[all …]
Dinterpreter_common.h98 const Instruction* inst, uint16_t inst_data, JValue* result);
103 static inline bool DoInvoke(Thread* self, ShadowFrame& shadow_frame, const Instruction* inst, in DoInvoke() argument
105 const uint32_t method_idx = (is_range) ? inst->VRegB_3rc() : inst->VRegB_35c(); in DoInvoke()
106 const uint32_t vregC = (is_range) ? inst->VRegC_3rc() : inst->VRegC_35c(); in DoInvoke()
121 return DoCall<is_range, do_access_check>(called_method, self, shadow_frame, inst, inst_data, in DoInvoke()
130 const Instruction* inst, uint16_t inst_data, in DoInvokeVirtualQuick() argument
132 const uint32_t vregC = (is_range) ? inst->VRegC_3rc() : inst->VRegC_35c(); in DoInvokeVirtualQuick()
140 const uint32_t vtable_idx = (is_range) ? inst->VRegB_3rc() : inst->VRegB_35c(); in DoInvokeVirtualQuick()
154 return DoCall<is_range, false>(called_method, self, shadow_frame, inst, inst_data, result); in DoInvokeVirtualQuick()
161 bool DoFieldGet(Thread* self, ShadowFrame& shadow_frame, const Instruction* inst,
[all …]
Dinterpreter_common.cc34 bool DoFieldGet(Thread* self, ShadowFrame& shadow_frame, const Instruction* inst, in DoFieldGet() argument
37 const uint32_t field_idx = is_static ? inst->VRegB_21c() : inst->VRegC_22c(); in DoFieldGet()
48 obj = shadow_frame.GetVRegReference(inst->VRegB_22c(inst_data)); in DoFieldGet()
62 uint32_t vregA = is_static ? inst->VRegA_21c(inst_data) : inst->VRegA_22c(inst_data); in DoFieldGet()
96 const Instruction* inst, \
127 bool DoIGetQuick(ShadowFrame& shadow_frame, const Instruction* inst, uint16_t inst_data) { in EXPLICIT_DO_FIELD_GET_ALL_TEMPLATE_DECL()
128 Object* obj = shadow_frame.GetVRegReference(inst->VRegB_22c(inst_data)); in EXPLICIT_DO_FIELD_GET_ALL_TEMPLATE_DECL()
135 MemberOffset field_offset(inst->VRegC_22c()); in EXPLICIT_DO_FIELD_GET_ALL_TEMPLATE_DECL()
148 const uint32_t vregA = inst->VRegA_22c(inst_data); in EXPLICIT_DO_FIELD_GET_ALL_TEMPLATE_DECL()
180 template bool DoIGetQuick<_field_type>(ShadowFrame& shadow_frame, const Instruction* inst, \
[all …]
Dunstarted_runtime_test.cc261 const Instruction* inst = Instruction::At(inst_data); in TEST_F() local
271 interpreter::DoCall<false, false>(method, self, *shadow_frame, inst, inst_data[0], &result); in TEST_F()
/art/compiler/dex/
Ddex_to_dex_compiler.cc61 void CompileReturnVoid(Instruction* inst, uint32_t dex_pc);
66 Instruction* CompileCheckCast(Instruction* inst, uint32_t dex_pc);
74 void CompileInstanceFieldAccess(Instruction* inst, uint32_t dex_pc,
83 void CompileInvokeVirtual(Instruction* inst, uint32_t dex_pc,
98 Instruction* inst = const_cast<Instruction*>(Instruction::At(insns)); in Compile() local
101 inst = const_cast<Instruction*>(inst->Next()), dex_pc = inst->GetDexPc(insns)) { in Compile()
102 switch (inst->Opcode()) { in Compile()
104 CompileReturnVoid(inst, dex_pc); in Compile()
108 inst = CompileCheckCast(inst, dex_pc); in Compile()
112 CompileInstanceFieldAccess(inst, dex_pc, Instruction::IGET_QUICK, false); in Compile()
[all …]
Dverified_method.cc209 const Instruction* inst = Instruction::At(insns); in GenerateDequickenMap() local
211 for (; inst < end; inst = inst->Next()) { in GenerateDequickenMap()
212 const bool is_virtual_quick = inst->Opcode() == Instruction::INVOKE_VIRTUAL_QUICK; in GenerateDequickenMap()
213 const bool is_range_quick = inst->Opcode() == Instruction::INVOKE_VIRTUAL_RANGE_QUICK; in GenerateDequickenMap()
215 uint32_t dex_pc = inst->GetDexPc(insns); in GenerateDequickenMap()
218 method_verifier->GetQuickInvokedMethod(inst, line, is_range_quick, true); in GenerateDequickenMap()
228 } else if (IsInstructionIGetQuickOrIPutQuick(inst->Opcode())) { in GenerateDequickenMap()
229 uint32_t dex_pc = inst->GetDexPc(insns); in GenerateDequickenMap()
231 ArtField* field = method_verifier->GetQuickFieldAccess(inst, line); in GenerateDequickenMap()
255 const Instruction* inst = Instruction::At(insns); in GenerateDevirtMap() local
[all …]
Dmir_graph.cc170 const Instruction* inst = Instruction::At(code_ptr); in ParseInsn() local
171 decoded_instruction->opcode = inst->Opcode(); in ParseInsn()
172 decoded_instruction->vA = inst->HasVRegA() ? inst->VRegA() : 0; in ParseInsn()
173 decoded_instruction->vB = inst->HasVRegB() ? inst->VRegB() : 0; in ParseInsn()
174 decoded_instruction->vB_wide = inst->HasWideVRegB() ? inst->WideVRegB() : 0; in ParseInsn()
175 decoded_instruction->vC = inst->HasVRegC() ? inst->VRegC() : 0; in ParseInsn()
176 if (inst->HasVarArgs()) { in ParseInsn()
177 inst->GetVarArgs(decoded_instruction->arg); in ParseInsn()
179 return inst->SizeInCodeUnits(); in ParseInsn()
/art/runtime/verifier/
Dmethod_verifier.cc437 const Instruction* inst = Instruction::At(code_item->insns_); in HasMonitorEnterInstructions() local
441 if (inst->Opcode() == Instruction::MONITOR_ENTER) { in HasMonitorEnterInstructions()
445 dex_pc += inst->SizeInCodeUnits(); in HasMonitorEnterInstructions()
446 inst = inst->Next(); in HasMonitorEnterInstructions()
493 const Instruction* inst = Instruction::At(code_item_->insns_ + dex_pc); in FindAccessedFieldAtDexPc() local
494 return GetQuickFieldAccess(inst, register_line); in FindAccessedFieldAtDexPc()
522 const Instruction* inst = Instruction::At(code_item_->insns_ + dex_pc); in FindInvokedMethodAtDexPc() local
523 const bool is_range = (inst->Opcode() == Instruction::INVOKE_VIRTUAL_RANGE_QUICK); in FindInvokedMethodAtDexPc()
524 return GetQuickInvokedMethod(inst, register_line, is_range, false); in FindInvokedMethodAtDexPc()
607 const Instruction* inst = Instruction::At(insns); in Fail() local
[all …]
Dregister_line.cc47 const RegType& RegisterLine::GetInvocationThis(MethodVerifier* verifier, const Instruction* inst, in GetInvocationThis() argument
49 const size_t args_count = is_range ? inst->VRegA_3rc() : inst->VRegA_35c(); in GetInvocationThis()
57 const uint32_t this_reg = (is_range) ? inst->VRegC_3rc() : inst->VRegC_35c(); in GetInvocationThis()
201 void RegisterLine::CheckUnaryOp(MethodVerifier* verifier, const Instruction* inst, in CheckUnaryOp() argument
203 if (VerifyRegisterType(verifier, inst->VRegB_12x(), src_type)) { in CheckUnaryOp()
204 SetRegisterType(verifier, inst->VRegA_12x(), dst_type); in CheckUnaryOp()
208 void RegisterLine::CheckUnaryOpWide(MethodVerifier* verifier, const Instruction* inst, in CheckUnaryOpWide() argument
211 if (VerifyRegisterTypeWide(verifier, inst->VRegB_12x(), src_type1, src_type2)) { in CheckUnaryOpWide()
212 SetRegisterTypeWide(verifier, inst->VRegA_12x(), dst_type1, dst_type2); in CheckUnaryOpWide()
216 void RegisterLine::CheckUnaryOpToWide(MethodVerifier* verifier, const Instruction* inst, in CheckUnaryOpToWide() argument
[all …]
Dregister_line.h192 const RegType& GetInvocationThis(MethodVerifier* verifier, const Instruction* inst,
200 void CheckUnaryOp(MethodVerifier* verifier, const Instruction* inst, const RegType& dst_type,
204 void CheckUnaryOpWide(MethodVerifier* verifier, const Instruction* inst,
209 void CheckUnaryOpToWide(MethodVerifier* verifier, const Instruction* inst,
214 void CheckUnaryOpFromWide(MethodVerifier* verifier, const Instruction* inst,
224 void CheckBinaryOp(MethodVerifier* verifier, const Instruction* inst,
229 void CheckBinaryOpWide(MethodVerifier* verifier, const Instruction* inst,
235 void CheckBinaryOpWideShift(MethodVerifier* verifier, const Instruction* inst,
244 void CheckBinaryOp2addr(MethodVerifier* verifier, const Instruction* inst,
250 void CheckBinaryOp2addrWide(MethodVerifier* verifier, const Instruction* inst,
[all …]
Dmethod_verifier.h254 ArtMethod* GetQuickInvokedMethod(const Instruction* inst, RegisterLine* reg_line,
259 ArtField* GetQuickFieldAccess(const Instruction* inst, RegisterLine* reg_line)
395 bool VerifyInstruction(const Instruction* inst, uint32_t code_offset);
526 void VerifyNewArray(const Instruction* inst, bool is_filled, bool is_range)
537 void VerifyAGet(const Instruction* inst, const RegType& insn_type,
541 void VerifyAPut(const Instruction* inst, const RegType& insn_type,
557 void VerifyISFieldAccess(const Instruction* inst, const RegType& insn_type,
562 void VerifyQuickFieldAccess(const Instruction* inst, const RegType& insn_type, bool is_primitive)
608 ArtMethod* VerifyInvocationArgs(const Instruction* inst,
615 void VerifyInvocationArgsUnresolvedMethod(const Instruction* inst, MethodType method_type,
[all …]
/art/compiler/optimizing/
Dconstant_folding.cc54 HInstruction* inst = inst_it.Current(); in Run() local
55 if (inst->IsBinaryOperation()) { in Run()
58 HConstant* constant = inst->AsBinaryOperation()->TryStaticEvaluation(); in Run()
60 inst->ReplaceWith(constant); in Run()
61 inst->GetBlock()->RemoveInstruction(inst); in Run()
63 inst->Accept(&simplifier); in Run()
65 } else if (inst->IsUnaryOperation()) { in Run()
68 HConstant* constant = inst->AsUnaryOperation()->TryStaticEvaluation(); in Run()
70 inst->ReplaceWith(constant); in Run()
71 inst->GetBlock()->RemoveInstruction(inst); in Run()
[all …]
Dconstant_folding_test.cc116 HInstruction* inst = graph->GetBlock(1)->GetFirstInstruction()->InputAt(0); in TEST() local
117 ASSERT_TRUE(inst->IsIntConstant()); in TEST()
118 ASSERT_EQ(inst->AsIntConstant()->GetValue(), -1); in TEST()
177 HInstruction* inst = graph->GetBlock(1)->GetFirstInstruction()->InputAt(0); in TEST() local
178 ASSERT_TRUE(inst->IsIntConstant()); in TEST()
179 ASSERT_EQ(inst->AsIntConstant()->GetValue(), 3); in TEST()
329 HInstruction* inst = graph->GetBlock(1)->GetFirstInstruction()->InputAt(0); in TEST() local
330 ASSERT_TRUE(inst->IsIntConstant()); in TEST()
331 ASSERT_EQ(inst->AsIntConstant()->GetValue(), 1); in TEST()
393 HInstruction* inst = graph->GetBlock(1)->GetFirstInstruction()->InputAt(0); in TEST() local
[all …]
Ddead_code_elimination.cc128 HInstruction* inst = i.Current(); in RemoveDeadInstructions() local
129 DCHECK(!inst->IsControlFlow()); in RemoveDeadInstructions()
130 if (!inst->HasSideEffects() in RemoveDeadInstructions()
131 && !inst->CanThrow() in RemoveDeadInstructions()
132 && !inst->IsSuspendCheck() in RemoveDeadInstructions()
133 && !inst->IsMemoryBarrier() // If we added an explicit barrier then we should keep it. in RemoveDeadInstructions()
134 && !inst->HasUses()) { in RemoveDeadInstructions()
135 block->RemoveInstruction(inst); in RemoveDeadInstructions()
Dintrinsics.cc337 HInstruction* inst = inst_it.Current(); in Run() local
338 if (inst->IsInvoke()) { in Run()
339 HInvoke* invoke = inst->AsInvoke(); in Run()
/art/runtime/
Ddex_instruction_visitor.h33 const Instruction* inst = Instruction::At(&code[i]); in Visit() local
34 switch (inst->Opcode()) { in Visit()
37 derived->Do_ ## cname(inst); \ in Visit()
47 i += inst->SizeInCodeUnits(); in Visit()
54 void Do_ ## cname(const Instruction* inst) { \
56 derived->Do_Default(inst); \
/art/test/003-omnibus-opcodes/src/
DMethodCall.java54 MethodCall inst = new MethodCall(); in run() local
56 MethodCallBase base = inst; in run()
58 inst.tryThing(); in run()
60 inst = null; in run()
62 inst.directly(); in run()
/art/test/043-privates/src/
DMain.java45 PrivatePackage inst = new PrivatePackageSub(); in stretchTest() local
46 System.out.println("PrivatePackage --> " + inst.getStr()); in stretchTest()
47 System.out.println("PrivatePackage --> " + inst.privGetStr()); in stretchTest()
/art/compiler/utils/arm/
Dassembler_arm32.h365 static int32_t EncodeBranchOffset(int offset, int32_t inst);
366 static int DecodeBranchOffset(int32_t inst);
367 int32_t EncodeTstOffset(int offset, int32_t inst);
368 int DecodeTstOffset(int32_t inst);
Dassembler_thumb2.h432 static int32_t EncodeBranchOffset(int32_t offset, int32_t inst);
433 static int DecodeBranchOffset(int32_t inst);
434 int32_t EncodeTstOffset(int offset, int32_t inst);
435 int DecodeTstOffset(int32_t inst);
Dassembler_thumb2.cc2388 int32_t Thumb2Assembler::EncodeBranchOffset(int32_t offset, int32_t inst) { in EncodeBranchOffset() argument
2396 if ((inst & B12) == B12) { in EncodeBranchOffset()
2408 inst &= ~(0x3ff << 16 | 0x7ff); in EncodeBranchOffset()
2418 inst &= ~(0x3f << 16 | 0x7ff); in EncodeBranchOffset()
2421 inst &= ~(B26 | B13 | B11); in EncodeBranchOffset()
2422 inst |= value; in EncodeBranchOffset()
2423 return inst; in EncodeBranchOffset()
/art/compiler/utils/mips/
Dassembler_mips.cc125 int32_t MipsAssembler::EncodeBranchOffset(int offset, int32_t inst, bool is_jump) { in EncodeBranchOffset() argument
133 return (inst & ~kJumpOffsetMask) | offset; in EncodeBranchOffset()
136 return (inst & ~kBranchOffsetMask) | offset; in EncodeBranchOffset()
140 int MipsAssembler::DecodeBranchOffset(int32_t inst, bool is_jump) { in DecodeBranchOffset() argument
143 return (((inst & kJumpOffsetMask) << 6) >> 4); in DecodeBranchOffset()
145 return (((inst & kBranchOffsetMask) << 16) >> 14); in DecodeBranchOffset()
Dassembler_mips.h277 int32_t EncodeBranchOffset(int offset, int32_t inst, bool is_jump);
278 int DecodeBranchOffset(int32_t inst, bool is_jump);
/art/compiler/dex/quick/
Dcodegen_util.cc88 void Mir2Lir::MarkSafepointPC(LIR* inst) { in MarkSafepointPC() argument
89 DCHECK(!inst->flags.use_def_invalid); in MarkSafepointPC()
90 inst->u.m.def_mask = &kEncodeAll; in MarkSafepointPC()
1260 LIR* inst = Load32Disp(base_reg, offset, temp_reg); in OpCmpMemImmBranch() local
1262 *compare = inst; in OpCmpMemImmBranch()

12