Home
last modified time | relevance | path

Searched refs:Instruction (Results 1 – 25 of 111) sorted by relevance

12345

/art/runtime/
Ddex_instruction_utils.h54 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 …]
Ddex_instruction_test.cc23 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()
Ddex_instruction-inl.h27 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 …]
Dcommon_throws.cc409 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/
Dliveness_test.cc90 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 …]
Dssa_test.cc121 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 …]
Dlinearize_test.cc70 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 …]
Ddominator_test.cc52 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 …]
Dpretty_printer_test.cc43 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 …]
Dfind_loops_test.cc35 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 …]
Dsuspend_check_test.cc46 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 …]
Ddead_code_elimination_test.cc73 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 …]
Dcodegen_test.cc321 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 …]
Dinstruction_builder.cc356 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 …]
Dgraph_checker_test.cc60 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 …]
Dconstant_folding_test.cc108 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 …]
Dlive_ranges_test.cc58 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 …]
Dinstruction_builder.h79 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/
Ddex_to_dex_compiler.cc75 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 …]
Dverified_method.cc91 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/
Dinline_method_analyser.cc60 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/
Dmethod_verifier.cc579 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/
Dinterpreter_switch_impl.cc94 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/
Dmterp.cc77 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/
Dprofiling_info.cc39 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()

12345