Lines Matching refs:Instruction
75 void CompileReturnVoid(Instruction* inst, uint32_t dex_pc);
80 Instruction* CompileCheckCast(Instruction* inst, uint32_t dex_pc);
88 void CompileInstanceFieldAccess(Instruction* inst, uint32_t dex_pc,
89 Instruction::Code new_opcode, bool is_put);
97 void CompileInvokeVirtual(Instruction* inst, uint32_t dex_pc,
98 Instruction::Code new_opcode, bool is_range);
117 Instruction* inst = const_cast<Instruction*>(Instruction::At(insns)); in Compile()
120 inst = const_cast<Instruction*>(inst->Next()), dex_pc = inst->GetDexPc(insns)) { in Compile()
122 case Instruction::RETURN_VOID: in Compile()
126 case Instruction::CHECK_CAST: in Compile()
130 case Instruction::IGET: in Compile()
131 CompileInstanceFieldAccess(inst, dex_pc, Instruction::IGET_QUICK, false); in Compile()
134 case Instruction::IGET_WIDE: in Compile()
135 CompileInstanceFieldAccess(inst, dex_pc, Instruction::IGET_WIDE_QUICK, false); in Compile()
138 case Instruction::IGET_OBJECT: in Compile()
139 CompileInstanceFieldAccess(inst, dex_pc, Instruction::IGET_OBJECT_QUICK, false); in Compile()
142 case Instruction::IGET_BOOLEAN: in Compile()
143 CompileInstanceFieldAccess(inst, dex_pc, Instruction::IGET_BOOLEAN_QUICK, false); in Compile()
146 case Instruction::IGET_BYTE: in Compile()
147 CompileInstanceFieldAccess(inst, dex_pc, Instruction::IGET_BYTE_QUICK, false); in Compile()
150 case Instruction::IGET_CHAR: in Compile()
151 CompileInstanceFieldAccess(inst, dex_pc, Instruction::IGET_CHAR_QUICK, false); in Compile()
154 case Instruction::IGET_SHORT: in Compile()
155 CompileInstanceFieldAccess(inst, dex_pc, Instruction::IGET_SHORT_QUICK, false); in Compile()
158 case Instruction::IPUT: in Compile()
159 CompileInstanceFieldAccess(inst, dex_pc, Instruction::IPUT_QUICK, true); in Compile()
162 case Instruction::IPUT_BOOLEAN: in Compile()
163 CompileInstanceFieldAccess(inst, dex_pc, Instruction::IPUT_BOOLEAN_QUICK, true); in Compile()
166 case Instruction::IPUT_BYTE: in Compile()
167 CompileInstanceFieldAccess(inst, dex_pc, Instruction::IPUT_BYTE_QUICK, true); in Compile()
170 case Instruction::IPUT_CHAR: in Compile()
171 CompileInstanceFieldAccess(inst, dex_pc, Instruction::IPUT_CHAR_QUICK, true); in Compile()
174 case Instruction::IPUT_SHORT: in Compile()
175 CompileInstanceFieldAccess(inst, dex_pc, Instruction::IPUT_SHORT_QUICK, true); in Compile()
178 case Instruction::IPUT_WIDE: in Compile()
179 CompileInstanceFieldAccess(inst, dex_pc, Instruction::IPUT_WIDE_QUICK, true); in Compile()
182 case Instruction::IPUT_OBJECT: in Compile()
183 CompileInstanceFieldAccess(inst, dex_pc, Instruction::IPUT_OBJECT_QUICK, true); in Compile()
186 case Instruction::INVOKE_VIRTUAL: in Compile()
187 CompileInvokeVirtual(inst, dex_pc, Instruction::INVOKE_VIRTUAL_QUICK, false); in Compile()
190 case Instruction::INVOKE_VIRTUAL_RANGE: in Compile()
191 CompileInvokeVirtual(inst, dex_pc, Instruction::INVOKE_VIRTUAL_RANGE_QUICK, true); in Compile()
201 void DexCompiler::CompileReturnVoid(Instruction* inst, uint32_t dex_pc) { in CompileReturnVoid()
202 DCHECK_EQ(inst->Opcode(), Instruction::RETURN_VOID); in CompileReturnVoid()
212 VLOG(compiler) << "Replacing " << Instruction::Name(inst->Opcode()) in CompileReturnVoid()
213 << " by " << Instruction::Name(Instruction::RETURN_VOID_NO_BARRIER) in CompileReturnVoid()
216 inst->SetOpcode(Instruction::RETURN_VOID_NO_BARRIER); in CompileReturnVoid()
219 Instruction* DexCompiler::CompileCheckCast(Instruction* inst, uint32_t dex_pc) { in CompileCheckCast()
232 VLOG(compiler) << "Removing " << Instruction::Name(inst->Opcode()) in CompileCheckCast()
237 inst->SetOpcode(Instruction::NOP); in CompileCheckCast()
241 inst = const_cast<Instruction*>(inst->Next()); in CompileCheckCast()
242 inst->SetOpcode(Instruction::NOP); in CompileCheckCast()
247 void DexCompiler::CompileInstanceFieldAccess(Instruction* inst, in CompileInstanceFieldAccess()
249 Instruction::Code new_opcode, in CompileInstanceFieldAccess()
260 VLOG(compiler) << "Quickening " << Instruction::Name(inst->Opcode()) in CompileInstanceFieldAccess()
261 << " to " << Instruction::Name(new_opcode) in CompileInstanceFieldAccess()
274 void DexCompiler::CompileInvokeVirtual(Instruction* inst, uint32_t dex_pc, in CompileInvokeVirtual()
275 Instruction::Code new_opcode, bool is_range) { in CompileInvokeVirtual()
295 VLOG(compiler) << "Quickening " << Instruction::Name(inst->Opcode()) in CompileInvokeVirtual()
297 << " to " << Instruction::Name(new_opcode) in CompileInvokeVirtual()