/art/runtime/interpreter/ |
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); 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 …]
|
D | interpreter_goto_table_impl.cc | 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); 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 …]
|
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, 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 …]
|
D | interpreter_common.cc | 34 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 …]
|
D | unstarted_runtime_test.cc | 261 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/ |
D | dex_to_dex_compiler.cc | 61 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 …]
|
D | verified_method.cc | 209 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 …]
|
D | mir_graph.cc | 170 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/ |
D | method_verifier.cc | 437 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 …]
|
D | register_line.cc | 47 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 …]
|
D | register_line.h | 192 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 …]
|
D | method_verifier.h | 254 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/ |
D | constant_folding.cc | 54 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 …]
|
D | constant_folding_test.cc | 116 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 …]
|
D | dead_code_elimination.cc | 128 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()
|
D | intrinsics.cc | 337 HInstruction* inst = inst_it.Current(); in Run() local 338 if (inst->IsInvoke()) { in Run() 339 HInvoke* invoke = inst->AsInvoke(); in Run()
|
/art/runtime/ |
D | dex_instruction_visitor.h | 33 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/ |
D | MethodCall.java | 54 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/ |
D | Main.java | 45 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/ |
D | assembler_arm32.h | 365 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);
|
D | assembler_thumb2.h | 432 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);
|
D | assembler_thumb2.cc | 2388 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/ |
D | assembler_mips.cc | 125 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()
|
D | assembler_mips.h | 277 int32_t EncodeBranchOffset(int offset, int32_t inst, bool is_jump); 278 int DecodeBranchOffset(int32_t inst, bool is_jump);
|
/art/compiler/dex/quick/ |
D | codegen_util.cc | 88 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()
|