• Home
  • Raw
  • Download

Lines Matching refs:inst

76   void CompileReturnVoid(Instruction* inst, uint32_t dex_pc);
81 Instruction* CompileCheckCast(Instruction* inst, uint32_t dex_pc);
89 void CompileInstanceFieldAccess(Instruction* inst, uint32_t dex_pc,
98 void CompileInvokeVirtual(Instruction* inst, uint32_t dex_pc,
116 Instruction* inst = const_cast<Instruction*>(&it.CurrentInstruction()); in Compile() local
118 switch (inst->Opcode()) { in Compile()
120 CompileReturnVoid(inst, dex_pc); in Compile()
124 inst = CompileCheckCast(inst, dex_pc); in Compile()
125 if (inst->Opcode() == Instruction::NOP) { in Compile()
133 CompileInstanceFieldAccess(inst, dex_pc, Instruction::IGET_QUICK, false); in Compile()
137 CompileInstanceFieldAccess(inst, dex_pc, Instruction::IGET_WIDE_QUICK, false); in Compile()
141 CompileInstanceFieldAccess(inst, dex_pc, Instruction::IGET_OBJECT_QUICK, false); in Compile()
145 CompileInstanceFieldAccess(inst, dex_pc, Instruction::IGET_BOOLEAN_QUICK, false); in Compile()
149 CompileInstanceFieldAccess(inst, dex_pc, Instruction::IGET_BYTE_QUICK, false); in Compile()
153 CompileInstanceFieldAccess(inst, dex_pc, Instruction::IGET_CHAR_QUICK, false); in Compile()
157 CompileInstanceFieldAccess(inst, dex_pc, Instruction::IGET_SHORT_QUICK, false); in Compile()
161 CompileInstanceFieldAccess(inst, dex_pc, Instruction::IPUT_QUICK, true); in Compile()
165 CompileInstanceFieldAccess(inst, dex_pc, Instruction::IPUT_BOOLEAN_QUICK, true); in Compile()
169 CompileInstanceFieldAccess(inst, dex_pc, Instruction::IPUT_BYTE_QUICK, true); in Compile()
173 CompileInstanceFieldAccess(inst, dex_pc, Instruction::IPUT_CHAR_QUICK, true); in Compile()
177 CompileInstanceFieldAccess(inst, dex_pc, Instruction::IPUT_SHORT_QUICK, true); in Compile()
181 CompileInstanceFieldAccess(inst, dex_pc, Instruction::IPUT_WIDE_QUICK, true); in Compile()
185 CompileInstanceFieldAccess(inst, dex_pc, Instruction::IPUT_OBJECT_QUICK, true); in Compile()
189 CompileInvokeVirtual(inst, dex_pc, Instruction::INVOKE_VIRTUAL_QUICK, false); in Compile()
193 CompileInvokeVirtual(inst, dex_pc, Instruction::INVOKE_VIRTUAL_RANGE_QUICK, true); in Compile()
203 DCHECK(!inst->IsQuickened()); in Compile()
210 void DexCompiler::CompileReturnVoid(Instruction* inst, uint32_t dex_pc) { in CompileReturnVoid() argument
211 DCHECK_EQ(inst->Opcode(), Instruction::RETURN_VOID); in CompileReturnVoid()
221 VLOG(compiler) << "Replacing " << Instruction::Name(inst->Opcode()) in CompileReturnVoid()
225 inst->SetOpcode(Instruction::RETURN_VOID_NO_BARRIER); in CompileReturnVoid()
228 Instruction* DexCompiler::CompileCheckCast(Instruction* inst, uint32_t dex_pc) { in CompileCheckCast() argument
230 return inst; in CompileCheckCast()
233 return inst; in CompileCheckCast()
241 VLOG(compiler) << "Removing " << Instruction::Name(inst->Opcode()) in CompileCheckCast()
245 quickened_info_.push_back(QuickenedInfo(dex_pc, inst->VRegA_21c())); in CompileCheckCast()
246 quickened_info_.push_back(QuickenedInfo(dex_pc, inst->VRegB_21c())); in CompileCheckCast()
248 inst->SetOpcode(Instruction::NOP); in CompileCheckCast()
249 inst->SetVRegA_10x(0u); // keep compliant with verifier. in CompileCheckCast()
252 inst = const_cast<Instruction*>(inst->Next()); in CompileCheckCast()
253 inst->SetOpcode(Instruction::NOP); in CompileCheckCast()
254 inst->SetVRegA_10x(0u); // keep compliant with verifier. in CompileCheckCast()
255 return inst; in CompileCheckCast()
258 void DexCompiler::CompileInstanceFieldAccess(Instruction* inst, in CompileInstanceFieldAccess() argument
265 uint32_t field_idx = inst->VRegC_22c(); in CompileInstanceFieldAccess()
271 VLOG(compiler) << "Quickening " << Instruction::Name(inst->Opcode()) in CompileInstanceFieldAccess()
278 inst->SetOpcode(new_opcode); in CompileInstanceFieldAccess()
280 inst->SetVRegC_22c(static_cast<uint16_t>(field_offset.Int32Value())); in CompileInstanceFieldAccess()
285 void DexCompiler::CompileInvokeVirtual(Instruction* inst, uint32_t dex_pc, in CompileInvokeVirtual() argument
290 uint32_t method_idx = is_range ? inst->VRegB_3rc() : inst->VRegB_35c(); in CompileInvokeVirtual()
311 VLOG(compiler) << "Quickening " << Instruction::Name(inst->Opcode()) in CompileInvokeVirtual()
319 inst->SetOpcode(new_opcode); in CompileInvokeVirtual()
322 inst->SetVRegB_3rc(static_cast<uint16_t>(vtable_idx)); in CompileInvokeVirtual()
324 inst->SetVRegB_35c(static_cast<uint16_t>(vtable_idx)); in CompileInvokeVirtual()
377 const Instruction* inst = Instruction::At(code_item->insns_ + info.dex_pc); in ArtCompileDEX() local
378 CHECK(QuickenInfoTable::NeedsIndexForInstruction(inst)) << inst->Opcode(); in ArtCompileDEX()