/art/runtime/ |
D | dex_instruction_utils.h | 54 constexpr bool IsInstructionDirectConst(Instruction::Code opcode) { in IsInstructionDirectConst() 55 return Instruction::CONST_4 <= opcode && opcode <= Instruction::CONST_WIDE_HIGH16; in IsInstructionDirectConst() 58 constexpr bool IsInstructionConstWide(Instruction::Code opcode) { in IsInstructionConstWide() 59 return Instruction::CONST_WIDE_16 <= opcode && opcode <= Instruction::CONST_WIDE_HIGH16; in IsInstructionConstWide() 62 constexpr bool IsInstructionReturn(Instruction::Code opcode) { in IsInstructionReturn() 63 return Instruction::RETURN_VOID <= opcode && opcode <= Instruction::RETURN_OBJECT; in IsInstructionReturn() 66 constexpr bool IsInstructionInvoke(Instruction::Code opcode) { in IsInstructionInvoke() 67 return Instruction::INVOKE_VIRTUAL <= opcode && opcode <= Instruction::INVOKE_INTERFACE_RANGE && in IsInstructionInvoke() 68 opcode != Instruction::RETURN_VOID_NO_BARRIER; in IsInstructionInvoke() 71 constexpr bool IsInstructionQuickInvoke(Instruction::Code opcode) { in IsInstructionQuickInvoke() [all …]
|
D | dex_instruction_test.cc | 23 Instruction::Code nop = Instruction::NOP; in TEST() 24 EXPECT_STREQ("nop", Instruction::Name(nop)); in TEST() 25 EXPECT_EQ(Instruction::k10x, Instruction::FormatOf(nop)); in TEST() 26 EXPECT_EQ(Instruction::kIndexNone, Instruction::IndexTypeOf(nop)); in TEST() 27 EXPECT_EQ(Instruction::kContinue, Instruction::FlagsOf(nop)); in TEST() 28 EXPECT_EQ(Instruction::kVerifyNone, Instruction::VerifyFlagsOf(nop)); in TEST()
|
D | dex_instruction-inl.h | 27 inline bool Instruction::HasVRegA() const { in HasVRegA() 57 inline int32_t Instruction::VRegA() const { in VRegA() 89 inline int8_t Instruction::VRegA_10t(uint16_t inst_data) const { in VRegA_10t() 94 inline uint8_t Instruction::VRegA_10x(uint16_t inst_data) const { in VRegA_10x() 99 inline uint4_t Instruction::VRegA_11n(uint16_t inst_data) const { in VRegA_11n() 104 inline uint8_t Instruction::VRegA_11x(uint16_t inst_data) const { in VRegA_11x() 109 inline uint4_t Instruction::VRegA_12x(uint16_t inst_data) const { in VRegA_12x() 114 inline int16_t Instruction::VRegA_20t() const { in VRegA_20t() 119 inline uint8_t Instruction::VRegA_21c(uint16_t inst_data) const { in VRegA_21c() 124 inline uint8_t Instruction::VRegA_21h(uint16_t inst_data) const { in VRegA_21h() [all …]
|
D | common_throws.cc | 409 const Instruction* instr = Instruction::At(&code->insns_[throw_dex_pc]); in ThrowNullPointerExceptionFromDexPC() 411 case Instruction::INVOKE_DIRECT: in ThrowNullPointerExceptionFromDexPC() 414 case Instruction::INVOKE_DIRECT_RANGE: in ThrowNullPointerExceptionFromDexPC() 417 case Instruction::INVOKE_VIRTUAL: in ThrowNullPointerExceptionFromDexPC() 420 case Instruction::INVOKE_VIRTUAL_RANGE: in ThrowNullPointerExceptionFromDexPC() 423 case Instruction::INVOKE_INTERFACE: in ThrowNullPointerExceptionFromDexPC() 426 case Instruction::INVOKE_INTERFACE_RANGE: in ThrowNullPointerExceptionFromDexPC() 429 case Instruction::INVOKE_VIRTUAL_QUICK: in ThrowNullPointerExceptionFromDexPC() 430 case Instruction::INVOKE_VIRTUAL_RANGE_QUICK: { in ThrowNullPointerExceptionFromDexPC() 444 case Instruction::IGET: in ThrowNullPointerExceptionFromDexPC() [all …]
|
/art/compiler/optimizing/ |
D | liveness_test.cc | 90 Instruction::CONST_4 | 0 | 0, in TEST_F() 91 Instruction::RETURN_VOID); in TEST_F() 112 Instruction::CONST_4 | 0 | 0, in TEST_F() 113 Instruction::RETURN); in TEST_F() 138 Instruction::CONST_4 | 3 << 12 | 0, in TEST_F() 139 Instruction::CONST_4 | 4 << 12 | 1 << 8, in TEST_F() 140 Instruction::ADD_INT_2ADDR | 1 << 12, in TEST_F() 141 Instruction::GOTO | 0x100, in TEST_F() 142 Instruction::RETURN); in TEST_F() 185 Instruction::CONST_4 | 0 | 0, in TEST_F() [all …]
|
D | ssa_test.cc | 121 Instruction::CONST_4 | 0 | 0, in TEST_F() 122 Instruction::IF_EQ, 3, in TEST_F() 123 Instruction::GOTO | 0x100, in TEST_F() 124 Instruction::RETURN_VOID); in TEST_F() 152 Instruction::CONST_4 | 0 | 0, in TEST_F() 153 Instruction::IF_EQ, 3, in TEST_F() 154 Instruction::CONST_4 | 4 << 12 | 0, in TEST_F() 155 Instruction::RETURN | 0 << 8); in TEST_F() 183 Instruction::CONST_4 | 0 | 0, in TEST_F() 184 Instruction::IF_EQ, 4, in TEST_F() [all …]
|
D | linearize_test.cc | 70 Instruction::CONST_4 | 0 | 0, in TEST_F() 71 Instruction::IF_EQ, 5, in TEST_F() 72 Instruction::IF_EQ, 0xFFFE, in TEST_F() 73 Instruction::GOTO | 0xFE00, in TEST_F() 74 Instruction::RETURN_VOID); in TEST_F() 95 Instruction::CONST_4 | 0 | 0, in TEST_F() 96 Instruction::IF_EQ, 3, in TEST_F() 97 Instruction::RETURN_VOID, in TEST_F() 98 Instruction::IF_EQ, 0xFFFD, in TEST_F() 99 Instruction::GOTO | 0xFE00); in TEST_F() [all …]
|
D | dominator_test.cc | 52 Instruction::RETURN_VOID); // Block number 1 in TEST_F() 65 Instruction::GOTO | 0x100, // Block number 1 in TEST_F() 66 Instruction::RETURN_VOID); // Block number 2 in TEST_F() 80 Instruction::GOTO | 0x100, // Block number 1 in TEST_F() 81 Instruction::GOTO | 0x100, // Block number 2 in TEST_F() 82 Instruction::RETURN_VOID); // Block number 3 in TEST_F() 97 Instruction::GOTO | 0x200, // Block number 1 in TEST_F() 98 Instruction::RETURN_VOID, // Block number 2 in TEST_F() 99 Instruction::GOTO | 0xFF00); // Block number 3 in TEST_F() 112 Instruction::GOTO_16, 3, in TEST_F() [all …]
|
D | pretty_printer_test.cc | 43 Instruction::RETURN_VOID); in TEST_F() 71 Instruction::GOTO | 0x100, in TEST_F() 72 Instruction::RETURN_VOID); in TEST_F() 92 Instruction::GOTO | 0x100, in TEST_F() 93 Instruction::GOTO | 0x100, in TEST_F() 94 Instruction::RETURN_VOID); in TEST_F() 114 Instruction::GOTO | 0x200, in TEST_F() 115 Instruction::RETURN_VOID, in TEST_F() 116 Instruction::GOTO | 0xFF00); in TEST_F() 121 Instruction::GOTO_16, 3, in TEST_F() [all …]
|
D | find_loops_test.cc | 35 Instruction::CONST_4 | 0 | 0, in TEST_F() 36 Instruction::RETURN_VOID); in TEST_F() 48 Instruction::CONST_4 | 0 | 0, in TEST_F() 49 Instruction::RETURN); in TEST_F() 61 Instruction::CONST_4 | 3 << 12 | 0, in TEST_F() 62 Instruction::CONST_4 | 4 << 12 | 1 << 8, in TEST_F() 63 Instruction::ADD_INT_2ADDR | 1 << 12, in TEST_F() 64 Instruction::GOTO | 0x100, in TEST_F() 65 Instruction::RETURN); in TEST_F() 77 Instruction::CONST_4 | 0 | 0, in TEST_F() [all …]
|
D | suspend_check_test.cc | 46 Instruction::NOP, in TEST_F() 47 Instruction::GOTO | 0xFF00); in TEST_F() 54 Instruction::GOTO_32, 0, 0); in TEST_F() 61 Instruction::CONST_4 | 0 | 0, in TEST_F() 62 Instruction::IF_EQ, 0xFFFF, in TEST_F() 63 Instruction::RETURN_VOID); in TEST_F() 70 Instruction::CONST_4 | 0 | 0, in TEST_F() 71 Instruction::IF_NE, 0xFFFF, in TEST_F() 72 Instruction::RETURN_VOID); in TEST_F() 79 Instruction::CONST_4 | 0 | 0, in TEST_F() [all …]
|
D | dead_code_elimination_test.cc | 73 Instruction::CONST_4 | 1 << 8 | 1 << 12, in TEST_F() 74 Instruction::CONST_4 | 0 << 8 | 0 << 12, in TEST_F() 75 Instruction::IF_GEZ | 1 << 8, 3, in TEST_F() 76 Instruction::MOVE | 0 << 8 | 1 << 12, in TEST_F() 77 Instruction::ADD_INT | 2 << 8, 0 | 1 << 8, in TEST_F() 78 Instruction::RETURN_VOID); in TEST_F() 135 Instruction::CONST_4 | 0 << 8 | 0 << 12, in TEST_F() 136 Instruction::CONST_4 | 1 << 8 | 1 << 12, in TEST_F() 137 Instruction::ADD_INT | 2 << 8, 0 | 1 << 8, in TEST_F() 138 Instruction::GOTO | 4 << 8, in TEST_F() [all …]
|
D | codegen_test.cc | 321 const uint16_t data[] = ZERO_REGISTER_CODE_ITEM(Instruction::RETURN_VOID); in TEST_F() 327 Instruction::GOTO | 0x100, in TEST_F() 328 Instruction::RETURN_VOID); in TEST_F() 335 Instruction::GOTO | 0x100, in TEST_F() 336 Instruction::GOTO | 0x100, in TEST_F() 337 Instruction::RETURN_VOID); in TEST_F() 344 Instruction::GOTO | 0x200, in TEST_F() 345 Instruction::RETURN_VOID, in TEST_F() 346 Instruction::GOTO | 0xFF00); in TEST_F() 351 Instruction::GOTO_16, 3, in TEST_F() [all …]
|
D | instruction_builder.cc | 356 const Instruction* const begin = Instruction::At(code_item_.insns_); in FindNativeDebugInfoLocations() 357 const Instruction* const end = begin->RelativeAt(code_item_.insns_size_in_code_units_); in FindNativeDebugInfoLocations() 358 for (const Instruction* inst = begin; inst < end; inst = inst->Next()) { in FindNativeDebugInfoLocations() 360 case Instruction::MOVE_EXCEPTION: { in FindNativeDebugInfoLocations() 365 const Instruction* next = inst->Next(); in FindNativeDebugInfoLocations() 473 void HInstructionBuilder::If_22t(const Instruction& instruction, uint32_t dex_pc) { in If_22t() 483 void HInstructionBuilder::If_21t(const Instruction& instruction, uint32_t dex_pc) { in If_21t() 492 void HInstructionBuilder::Unop_12x(const Instruction& instruction, in Unop_12x() 500 void HInstructionBuilder::Conversion_12x(const Instruction& instruction, in Conversion_12x() 510 void HInstructionBuilder::Binop_23x(const Instruction& instruction, in Binop_23x() [all …]
|
D | graph_checker_test.cc | 60 Instruction::RETURN_VOID); in TEST_F() 67 Instruction::GOTO | 0x100, in TEST_F() 68 Instruction::RETURN_VOID); in TEST_F() 75 Instruction::CONST_4 | 0 | 0, in TEST_F() 76 Instruction::IF_EQ, 3, in TEST_F() 77 Instruction::GOTO | 0x100, in TEST_F() 78 Instruction::RETURN_VOID); in TEST_F() 85 Instruction::CONST_4 | 0 | 0, in TEST_F() 86 Instruction::IF_EQ, 3, in TEST_F() 87 Instruction::GOTO | 0x100, in TEST_F() [all …]
|
D | constant_folding_test.cc | 108 Instruction::CONST_4 | 0 << 8 | 1 << 12, in TEST_F() 109 Instruction::NEG_INT | 1 << 8 | 0 << 12, in TEST_F() 110 Instruction::RETURN | 1 << 8); in TEST_F() 169 Instruction::CONST_WIDE | 0 << 8, word0, word1, word2, word3, in TEST_F() 170 Instruction::NEG_LONG | 2 << 8 | 0 << 12, in TEST_F() 171 Instruction::RETURN_WIDE | 2 << 8); in TEST_F() 227 Instruction::CONST_4 | 0 << 8 | 1 << 12, in TEST_F() 228 Instruction::CONST_4 | 1 << 8 | 2 << 12, in TEST_F() 229 Instruction::ADD_INT | 2 << 8, 0 | 1 << 8, in TEST_F() 230 Instruction::RETURN | 2 << 8); in TEST_F() [all …]
|
D | live_ranges_test.cc | 58 Instruction::CONST_4 | 0 | 0, in TEST_F() 59 Instruction::RETURN); in TEST_F() 105 Instruction::CONST_4 | 0 | 0, in TEST_F() 106 Instruction::IF_EQ, 3, in TEST_F() 107 Instruction::GOTO | 0x100, in TEST_F() 108 Instruction::RETURN | 0 << 8); in TEST_F() 156 Instruction::CONST_4 | 0 | 0, in TEST_F() 157 Instruction::IF_EQ, 3, in TEST_F() 158 Instruction::CONST_4 | 4 << 12 | 0, in TEST_F() 159 Instruction::RETURN | 0 << 8); in TEST_F() [all …]
|
D | instruction_builder.h | 79 bool ProcessDexInstruction(const Instruction& instruction, uint32_t dex_pc); 108 void Unop_12x(const Instruction& instruction, Primitive::Type type, uint32_t dex_pc); 111 void Binop_23x(const Instruction& instruction, Primitive::Type type, uint32_t dex_pc); 114 void Binop_23x_shift(const Instruction& instruction, Primitive::Type type, uint32_t dex_pc); 116 void Binop_23x_cmp(const Instruction& instruction, 122 void Binop_12x(const Instruction& instruction, Primitive::Type type, uint32_t dex_pc); 125 void Binop_12x_shift(const Instruction& instruction, Primitive::Type type, uint32_t dex_pc); 128 void Binop_22b(const Instruction& instruction, bool reverse, uint32_t dex_pc); 131 void Binop_22s(const Instruction& instruction, bool reverse, uint32_t dex_pc); 133 template<typename T> void If_21t(const Instruction& instruction, uint32_t dex_pc); [all …]
|
/art/compiler/dex/ |
D | dex_to_dex_compiler.cc | 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() [all …]
|
D | verified_method.cc | 91 const Instruction* inst = Instruction::At(insns); in GenerateDequickenMap() 92 const Instruction* end = Instruction::At(insns + code_item->insns_size_in_code_units_); in GenerateDequickenMap() 94 const bool is_virtual_quick = inst->Opcode() == Instruction::INVOKE_VIRTUAL_QUICK; in GenerateDequickenMap() 95 const bool is_range_quick = inst->Opcode() == Instruction::INVOKE_VIRTUAL_RANGE_QUICK; in GenerateDequickenMap() 137 const Instruction* inst = Instruction::At(insns); in GenerateDevirtMap() 138 const Instruction* end = Instruction::At(insns + code_item->insns_size_in_code_units_); in GenerateDevirtMap() 141 const bool is_virtual = inst->Opcode() == Instruction::INVOKE_VIRTUAL || in GenerateDevirtMap() 142 inst->Opcode() == Instruction::INVOKE_VIRTUAL_RANGE; in GenerateDevirtMap() 143 const bool is_interface = inst->Opcode() == Instruction::INVOKE_INTERFACE || in GenerateDevirtMap() 144 inst->Opcode() == Instruction::INVOKE_INTERFACE_RANGE; in GenerateDevirtMap() [all …]
|
/art/runtime/quick/ |
D | inline_method_analyser.cc | 60 template <Instruction::Code opcode> bool Opcode(); 67 instruction_(Instruction::At(code_item->insns_)), in Matcher() 74 const Instruction* instruction_; 112 template <Instruction::Code opcode> 120 (instruction_->Opcode() == Instruction::CONST_WIDE ? instruction_->VRegB_51l() == 0 in Const0() 142 ArtMethod* GetTargetConstructor(ArtMethod* method, const Instruction* invoke_direct) in GetTargetConstructor() 144 DCHECK_EQ(invoke_direct->Opcode(), Instruction::INVOKE_DIRECT); in GetTargetConstructor() 163 const Instruction* invoke_direct, in CountForwardedConstructorArguments() 165 DCHECK_EQ(invoke_direct->Opcode(), Instruction::INVOKE_DIRECT); in CountForwardedConstructorArguments() 168 uint32_t args[Instruction::kMaxVarArgRegs]; in CountForwardedConstructorArguments() [all …]
|
/art/runtime/verifier/ |
D | method_verifier.cc | 579 const Instruction* inst = Instruction::At(code_item->insns_); in HasMonitorEnterInstructions() 583 if (inst->Opcode() == Instruction::MONITOR_ENTER) { in HasMonitorEnterInstructions() 646 const Instruction* inst = Instruction::At(code_item_->insns_ + dex_pc); in FindAccessedFieldAtDexPc() 686 const Instruction* inst = Instruction::At(code_item_->insns_ + dex_pc); in FindInvokedMethodAtDexPc() 687 const bool is_range = (inst->Opcode() == Instruction::INVOKE_VIRTUAL_RANGE_QUICK); in FindInvokedMethodAtDexPc() 890 const Instruction* inst = Instruction::At(insns); in Fail() 891 int opcode_flags = Instruction::FlagsOf(inst->Opcode()); in Fail() 893 if ((opcode_flags & Instruction::kThrow) == 0 && CurrentInsnFlags()->IsInTry()) { in Fail() 952 const Instruction* inst = Instruction::At(insns); in ComputeWidthsAndCountOps() 958 Instruction::Code opcode = inst->Opcode(); in ComputeWidthsAndCountOps() [all …]
|
/art/runtime/interpreter/ |
D | interpreter_switch_impl.cc | 94 static bool IsExperimentalInstructionEnabled(const Instruction *inst) { in IsExperimentalInstructionEnabled() 113 const Instruction* inst = Instruction::At(insns + dex_pc); in ExecuteSwitchImpl() 128 case Instruction::NOP: in ExecuteSwitchImpl() 132 case Instruction::MOVE: in ExecuteSwitchImpl() 138 case Instruction::MOVE_FROM16: in ExecuteSwitchImpl() 144 case Instruction::MOVE_16: in ExecuteSwitchImpl() 150 case Instruction::MOVE_WIDE: in ExecuteSwitchImpl() 156 case Instruction::MOVE_WIDE_FROM16: in ExecuteSwitchImpl() 162 case Instruction::MOVE_WIDE_16: in ExecuteSwitchImpl() 168 case Instruction::MOVE_OBJECT: in ExecuteSwitchImpl() [all …]
|
/art/runtime/interpreter/mterp/ |
D | mterp.cc | 77 DCHECK_EQ(signature, static_cast<uint16_t>(art::Instruction::kSparseSwitchSignature)); in MterpDoSparseSwitch() 125 DCHECK_EQ(signature, static_cast<uint16_t>(art::Instruction::kPackedSwitchSignature)); in MterpDoPackedSwitch() 157 const Instruction* inst = Instruction::At(dex_pc_ptr); in MterpInvokeVirtual() 166 const Instruction* inst = Instruction::At(dex_pc_ptr); in MterpInvokeSuper() 175 const Instruction* inst = Instruction::At(dex_pc_ptr); in MterpInvokeInterface() 184 const Instruction* inst = Instruction::At(dex_pc_ptr); in MterpInvokeDirect() 193 const Instruction* inst = Instruction::At(dex_pc_ptr); in MterpInvokeStatic() 202 const Instruction* inst = Instruction::At(dex_pc_ptr); in MterpInvokeVirtualRange() 211 const Instruction* inst = Instruction::At(dex_pc_ptr); in MterpInvokeSuperRange() 220 const Instruction* inst = Instruction::At(dex_pc_ptr); in MterpInvokeInterfaceRange() [all …]
|
/art/runtime/jit/ |
D | profiling_info.cc | 39 const Instruction& instruction = *Instruction::At(code_ptr); in Create() 41 case Instruction::INVOKE_VIRTUAL: in Create() 42 case Instruction::INVOKE_VIRTUAL_RANGE: in Create() 43 case Instruction::INVOKE_VIRTUAL_QUICK: in Create() 44 case Instruction::INVOKE_VIRTUAL_RANGE_QUICK: in Create() 45 case Instruction::INVOKE_INTERFACE: in Create() 46 case Instruction::INVOKE_INTERFACE_RANGE: in Create()
|