/art/runtime/ |
H A D | dex_instruction_visitor.h | 33 const Instruction* inst = Instruction::At(&code[i]); local 34 switch (inst->Opcode()) { 37 derived->Do_ ## cname(inst); \ 47 i += inst->SizeInCodeUnits(); 54 void Do_ ## cname(const Instruction* inst) { \ 56 derived->Do_Default(inst); \
|
/art/compiler/optimizing/ |
H A D | dead_code_elimination.cc | 128 HInstruction* inst = i.Current(); local 129 DCHECK(!inst->IsControlFlow()); 130 if (!inst->HasSideEffects() 131 && !inst->CanThrow() 132 && !inst->IsSuspendCheck() 133 && !inst->IsMemoryBarrier() // If we added an explicit barrier then we should keep it. 134 && !inst->HasUses()) { 135 block->RemoveInstruction(inst);
|
H A D | constant_folding.cc | 54 HInstruction* inst = inst_it.Current(); local 55 if (inst->IsBinaryOperation()) { 58 HConstant* constant = inst->AsBinaryOperation()->TryStaticEvaluation(); 60 inst->ReplaceWith(constant); 61 inst->GetBlock()->RemoveInstruction(inst); 63 inst->Accept(&simplifier); 65 } else if (inst->IsUnaryOperation()) { 68 HConstant* constant = inst->AsUnaryOperation()->TryStaticEvaluation(); 70 inst [all...] |
H A D | intrinsics.cc | 337 HInstruction* inst = inst_it.Current(); local 338 if (inst->IsInvoke()) { 339 HInvoke* invoke = inst->AsInvoke();
|
/art/runtime/interpreter/ |
H A D | unstarted_runtime_test.cc | 261 const Instruction* inst = Instruction::At(inst_data); local 271 interpreter::DoCall<false, false>(method, self, *shadow_frame, inst, inst_data[0], &result);
|
H A D | interpreter_common.h | 98 const Instruction* inst, uint16_t inst_data, JValue* result); 103 static inline bool DoInvoke(Thread* self, ShadowFrame& shadow_frame, const Instruction* inst, argument 105 const uint32_t method_idx = (is_range) ? inst->VRegB_3rc() : inst->VRegB_35c(); 106 const uint32_t vregC = (is_range) ? inst->VRegC_3rc() : inst->VRegC_35c(); 121 return DoCall<is_range, do_access_check>(called_method, self, shadow_frame, inst, inst_data, 130 const Instruction* inst, uint16_t inst_data, 132 const uint32_t vregC = (is_range) ? inst->VRegC_3rc() : inst 129 DoInvokeVirtualQuick(Thread* self, ShadowFrame& shadow_frame, const Instruction* inst, uint16_t inst_data, JValue* result) argument [all...] |
H A D | interpreter_goto_table_impl.cc | 28 // - "inst" : the current Instruction*. 38 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); local 180 shadow_frame.SetVReg(inst->VRegA_12x(inst_data), 181 shadow_frame.GetVReg(inst->VRegB_12x(inst_data))); 186 shadow_frame.SetVReg(inst [all...] |
H A D | interpreter_switch_impl.cc | 28 inst->GetDexPc(insns), \ 34 inst = inst->RelativeAt(displacement); \ 43 inst = inst->_next_function(); \ 78 const Instruction* inst = Instruction::At(insns + dex_pc); local 81 dex_pc = inst->GetDexPc(insns); 83 TraceExecution(shadow_frame, inst, dex_pc); 84 inst_data = inst->Fetch16(0); 85 switch (inst [all...] |
H A D | interpreter_common.cc | 34 bool DoFieldGet(Thread* self, ShadowFrame& shadow_frame, const Instruction* inst, argument 37 const uint32_t field_idx = is_static ? inst->VRegB_21c() : inst->VRegC_22c(); 48 obj = shadow_frame.GetVRegReference(inst->VRegB_22c(inst_data)); 62 uint32_t vregA = is_static ? inst->VRegA_21c(inst_data) : inst->VRegA_22c(inst_data); 96 const Instruction* inst, \ 127 bool DoIGetQuick(ShadowFrame& shadow_frame, const Instruction* inst, uint16_t inst_data) { argument 128 Object* obj = shadow_frame.GetVRegReference(inst->VRegB_22c(inst_data)); 135 MemberOffset field_offset(inst 227 DoFieldPut(Thread* self, const ShadowFrame& shadow_frame, const Instruction* inst, uint16_t inst_data) argument 344 DoIPutQuick(const ShadowFrame& shadow_frame, const Instruction* inst, uint16_t inst_data) argument 443 UnexpectedOpcode(const Instruction* inst, const ShadowFrame& shadow_frame) argument 481 DoCall(ArtMethod* called_method, Thread* self, ShadowFrame& shadow_frame, const Instruction* inst, uint16_t inst_data, JValue* result) argument 693 DoFilledNewArray(const Instruction* inst, const ShadowFrame& shadow_frame, Thread* self, JValue* result) argument [all...] |
/art/compiler/dex/ |
H A D | dex_to_dex_compiler.cc | 61 void CompileReturnVoid(Instruction* inst, uint32_t dex_pc); 65 // the given "inst". 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)); local 101 inst = const_cast<Instruction*>(inst->Next()), dex_pc = inst->GetDexPc(insns)) { 102 switch (inst 182 CompileReturnVoid(Instruction* inst, uint32_t dex_pc) argument 200 CompileCheckCast(Instruction* inst, uint32_t dex_pc) argument 228 CompileInstanceFieldAccess(Instruction* inst, uint32_t dex_pc, Instruction::Code new_opcode, bool is_put) argument 254 CompileInvokeVirtual(Instruction* inst, uint32_t dex_pc, Instruction::Code new_opcode, bool is_range) argument [all...] |
H A D | verified_method.cc | 209 const Instruction* inst = Instruction::At(insns); local 211 for (; inst < end; inst = inst->Next()) { 212 const bool is_virtual_quick = inst->Opcode() == Instruction::INVOKE_VIRTUAL_QUICK; 213 const bool is_range_quick = inst->Opcode() == Instruction::INVOKE_VIRTUAL_RANGE_QUICK; 215 uint32_t dex_pc = inst->GetDexPc(insns); 218 method_verifier->GetQuickInvokedMethod(inst, line, is_range_quick, true); 228 } else if (IsInstructionIGetQuickOrIPutQuick(inst->Opcode())) { 229 uint32_t dex_pc = inst 255 const Instruction* inst = Instruction::At(insns); local 331 const Instruction* inst = Instruction::At(code_item->insns_); local [all...] |
H A D | mir_graph.cc | 170 const Instruction* inst = Instruction::At(code_ptr); local 171 decoded_instruction->opcode = inst->Opcode(); 172 decoded_instruction->vA = inst->HasVRegA() ? inst->VRegA() : 0; 173 decoded_instruction->vB = inst->HasVRegB() ? inst->VRegB() : 0; 174 decoded_instruction->vB_wide = inst->HasWideVRegB() ? inst->WideVRegB() : 0; 175 decoded_instruction->vC = inst->HasVRegC() ? inst [all...] |
/art/runtime/verifier/ |
H A D | register_line.cc | 47 const RegType& RegisterLine::GetInvocationThis(MethodVerifier* verifier, const Instruction* inst, argument 49 const size_t args_count = is_range ? inst->VRegA_3rc() : inst->VRegA_35c(); 57 const uint32_t this_reg = (is_range) ? inst->VRegC_3rc() : inst->VRegC_35c(); 201 void RegisterLine::CheckUnaryOp(MethodVerifier* verifier, const Instruction* inst, argument 203 if (VerifyRegisterType(verifier, inst->VRegB_12x(), src_type)) { 204 SetRegisterType(verifier, inst->VRegA_12x(), dst_type); 208 void RegisterLine::CheckUnaryOpWide(MethodVerifier* verifier, const Instruction* inst, argument 211 if (VerifyRegisterTypeWide(verifier, inst 216 CheckUnaryOpToWide(MethodVerifier* verifier, const Instruction* inst, const RegType& dst_type1, const RegType& dst_type2, const RegType& src_type) argument 224 CheckUnaryOpFromWide(MethodVerifier* verifier, const Instruction* inst, const RegType& dst_type, const RegType& src_type1, const RegType& src_type2) argument 232 CheckBinaryOp(MethodVerifier* verifier, const Instruction* inst, const RegType& dst_type, const RegType& src_type1, const RegType& src_type2, bool check_boolean_op) argument 252 CheckBinaryOpWide(MethodVerifier* verifier, const Instruction* inst, const RegType& dst_type1, const RegType& dst_type2, const RegType& src_type1_1, const RegType& src_type1_2, const RegType& src_type2_1, const RegType& src_type2_2) argument 262 CheckBinaryOpWideShift(MethodVerifier* verifier, const Instruction* inst, const RegType& long_lo_type, const RegType& long_hi_type, const RegType& int_type) argument 271 CheckBinaryOp2addr(MethodVerifier* verifier, const Instruction* inst, const RegType& dst_type, const RegType& src_type1, const RegType& src_type2, bool check_boolean_op) argument 290 CheckBinaryOp2addrWide(MethodVerifier* verifier, const Instruction* inst, const RegType& dst_type1, const RegType& dst_type2, const RegType& src_type1_1, const RegType& src_type1_2, const RegType& src_type2_1, const RegType& src_type2_2) argument 302 CheckBinaryOp2addrWideShift(MethodVerifier* verifier, const Instruction* inst, const RegType& long_lo_type, const RegType& long_hi_type, const RegType& int_type) argument 313 CheckLiteralOp(MethodVerifier* verifier, const Instruction* inst, const RegType& dst_type, const RegType& src_type, bool check_boolean_op, bool is_lit16) argument [all...] |
H A D | method_verifier.cc | 437 const Instruction* inst = Instruction::At(code_item->insns_); local 441 if (inst->Opcode() == Instruction::MONITOR_ENTER) { 445 dex_pc += inst->SizeInCodeUnits(); 446 inst = inst->Next(); 493 const Instruction* inst = Instruction::At(code_item_->insns_ + dex_pc); local 494 return GetQuickFieldAccess(inst, register_line); 522 const Instruction* inst = Instruction::At(code_item_->insns_ + dex_pc); local 523 const bool is_range = (inst->Opcode() == Instruction::INVOKE_VIRTUAL_RANGE_QUICK); 524 return GetQuickInvokedMethod(inst, register_lin 607 const Instruction* inst = Instruction::At(insns); local 665 const Instruction* inst = Instruction::At(insns); local 732 const Instruction* inst = Instruction::At(code_item_->insns_ + dex_pc); local 777 const Instruction* inst = Instruction::At(code_item_->insns_); local 812 VerifyInstruction(const Instruction* inst, uint32_t code_offset) argument 1277 const Instruction* inst = Instruction::At(code_item_->insns_); local 1631 const Instruction* inst = Instruction::At(insns); local 3328 VerifyInvocationArgsFromIterator( T* it, const Instruction* inst, MethodType method_type, bool is_range, ArtMethod* res_method) argument 3444 VerifyInvocationArgsUnresolvedMethod(const Instruction* inst, MethodType method_type, bool is_range) argument 3483 VerifyInvocationArgs( const Instruction* inst, MethodType method_type, bool is_range, bool is_super) argument 3526 GetQuickInvokedMethod(const Instruction* inst, RegisterLine* reg_line, bool is_range, bool allow_failure) argument 3574 VerifyInvokeVirtualQuickArgs(const Instruction* inst, bool is_range) argument 3671 VerifyNewArray(const Instruction* inst, bool is_filled, bool is_range) argument 3719 VerifyAGet(const Instruction* inst, const RegType& insn_type, bool is_primitive) argument 3821 VerifyAPut(const Instruction* inst, const RegType& insn_type, bool is_primitive) argument 3974 VerifyISFieldAccess(const Instruction* inst, const RegType& insn_type, bool is_primitive, bool is_static) argument 4079 GetQuickFieldAccess(const Instruction* inst, RegisterLine* reg_line) argument 4098 VerifyQuickFieldAccess(const Instruction* inst, const RegType& insn_type, bool is_primitive) argument [all...] |
/art/compiler/dex/quick/mips/ |
H A D | target_mips.cc | 784 LIR *inst = LoadWordDisp(tmp, 0, tmp); local 786 return inst;
|
/art/compiler/dex/quick/x86/ |
H A D | utility_x86.cc | 948 LIR* inst = NewLIR3(IS_SIMM8(check_value) ? kX86Cmp32MI8 : kX86Cmp32MI, base_reg.GetReg(), local 951 *compare = inst;
|
/art/compiler/dex/quick/ |
H A D | codegen_util.cc | 88 void Mir2Lir::MarkSafepointPC(LIR* inst) { argument 89 DCHECK(!inst->flags.use_def_invalid); 90 inst->u.m.def_mask = &kEncodeAll; 1260 LIR* inst = Load32Disp(base_reg, offset, temp_reg); local 1262 *compare = inst;
|
H A D | gen_common.cc | 2112 LIR* inst = CheckSuspendUsingLoad(); local 2113 MarkSafepointPC(inst); 2132 LIR* inst = CheckSuspendUsingLoad(); local 2133 MarkSafepointPC(inst);
|
/art/compiler/utils/arm/ |
H A D | assembler_arm32.cc | 1331 int32_t Arm32Assembler::EncodeBranchOffset(int offset, int32_t inst) { argument 1340 return (inst & ~kBranchOffsetMask) | offset; 1344 int Arm32Assembler::DecodeBranchOffset(int32_t inst) { argument 1346 return ((((inst & kBranchOffsetMask) << 8) >> 6) + 8);
|
H A D | assembler_thumb2.cc | 2388 int32_t Thumb2Assembler::EncodeBranchOffset(int32_t offset, int32_t inst) { argument 2396 if ((inst & B12) == B12) { 2408 inst &= ~(0x3ff << 16 | 0x7ff); 2418 inst &= ~(0x3f << 16 | 0x7ff); 2421 inst &= ~(B26 | B13 | B11); 2422 inst |= value; 2423 return inst;
|
/art/compiler/utils/mips/ |
H A D | assembler_mips.cc | 125 int32_t MipsAssembler::EncodeBranchOffset(int offset, int32_t inst, bool is_jump) { argument 133 return (inst & ~kJumpOffsetMask) | offset; 136 return (inst & ~kBranchOffsetMask) | offset; 140 int MipsAssembler::DecodeBranchOffset(int32_t inst, bool is_jump) { argument 143 return (((inst & kJumpOffsetMask) << 6) >> 4); 145 return (((inst & kBranchOffsetMask) << 16) >> 14);
|