Home
last modified time | relevance | path

Searched refs:opcode (Results 1 – 25 of 85) sorted by relevance

1234

/art/tools/dexfuzz/src/dexfuzz/program/mutators/
DValuePrinter.java216 Opcode opcode = mInsn.insn.info.opcode; in getInstructionOutputType() local
217 if (opcode == Opcode.CONST_STRING || opcode == Opcode.CONST_STRING_JUMBO) { in getInstructionOutputType()
220 if (opcode == Opcode.IGET_BOOLEAN || opcode == Opcode.SGET_BOOLEAN) { in getInstructionOutputType()
223 if (opcode == Opcode.IGET_BYTE || opcode == Opcode.SGET_BYTE in getInstructionOutputType()
224 || opcode == Opcode.INT_TO_BYTE) { in getInstructionOutputType()
227 if (opcode == Opcode.IGET_CHAR || opcode == Opcode.SGET_CHAR in getInstructionOutputType()
228 || opcode == Opcode.INT_TO_CHAR) { in getInstructionOutputType()
231 if (opcode == Opcode.IGET_SHORT || opcode == Opcode.SGET_SHORT in getInstructionOutputType()
232 || opcode == Opcode.INT_TO_SHORT) { in getInstructionOutputType()
235 if (opcode == Opcode.NEG_INT || opcode == Opcode.NOT_INT in getInstructionOutputType()
[all …]
DInvokeChanger.java152 Opcode opcode = mInsn.insn.info.opcode; in getDifferentInvokeCallOpcode() local
153 if (isSimpleInvokeInst(opcode)) { in getDifferentInvokeCallOpcode()
154 int index = opcode.ordinal() - Opcode.INVOKE_VIRTUAL.ordinal(); in getDifferentInvokeCallOpcode()
157 } else if (isRangeInvokeInst(opcode)) { in getDifferentInvokeCallOpcode()
158 int index = opcode.ordinal() - Opcode.INVOKE_VIRTUAL_RANGE.ordinal(); in getDifferentInvokeCallOpcode()
162 return opcode; in getDifferentInvokeCallOpcode()
165 private boolean isSimpleInvokeInst(Opcode opcode){ in isSimpleInvokeInst() argument
166 return Opcode.isBetween(opcode, Opcode.INVOKE_VIRTUAL, Opcode.INVOKE_INTERFACE); in isSimpleInvokeInst()
169 private boolean isRangeInvokeInst(Opcode opcode){ in isRangeInvokeInst() argument
170 return Opcode.isBetween(opcode, Opcode.INVOKE_VIRTUAL_RANGE, Opcode.INVOKE_INTERFACE_RANGE); in isRangeInvokeInst()
[all …]
DRandomBranchChanger.java53 Opcode opcode = mInsn.insn.info.opcode; in getModifiedOpcode() local
54 if (Opcode.isBetween(opcode, Opcode.IF_EQ, Opcode.IF_LE)) { in getModifiedOpcode()
55 int index = opcode.ordinal() - Opcode.IF_EQ.ordinal(); in getModifiedOpcode()
58 } else if (Opcode.isBetween(opcode, Opcode.IF_EQZ, Opcode.IF_LEZ)) { in getModifiedOpcode()
59 int index = opcode.ordinal() - Opcode.IF_EQZ.ordinal(); in getModifiedOpcode()
63 return opcode; in getModifiedOpcode()
DCmpBiasChanger.java134 Opcode opcode = mInsn.insn.info.opcode; in getLegalDifferentOpcode() local
135 if (opcode == Opcode.CMPG_DOUBLE) { in getLegalDifferentOpcode()
138 if (opcode == Opcode.CMPL_DOUBLE) { in getLegalDifferentOpcode()
141 if (opcode == Opcode.CMPG_FLOAT) { in getLegalDifferentOpcode()
148 Opcode opcode = mInsn.insn.info.opcode; in isCmpBiasOperation() local
149 if (Opcode.isBetween(opcode, Opcode.CMPL_FLOAT, Opcode.CMPG_DOUBLE)) { in isCmpBiasOperation()
DInstructionDuplicator.java74 Opcode opcode = oldInsn.insn.info.opcode; in generateMutation() local
76 if (opcode == Opcode.SPARSE_SWITCH || opcode == Opcode.PACKED_SWITCH in generateMutation()
77 || opcode == Opcode.FILL_ARRAY_DATA || oldInsn.insn.justRaw) { in generateMutation()
DOppositeBranchChanger.java36 Opcode opcode = mInsn.insn.info.opcode; in getModifiedOpcode() local
37 switch (opcode) { in getModifiedOpcode()
64 return opcode; in getModifiedOpcode()
/art/libdexfile/dex/
Ddex_instruction_utils.h54 constexpr bool IsInstructionDirectConst(Instruction::Code opcode) { in IsInstructionDirectConst() argument
55 return Instruction::CONST_4 <= opcode && opcode <= Instruction::CONST_WIDE_HIGH16; in IsInstructionDirectConst()
58 constexpr bool IsInstructionConstWide(Instruction::Code opcode) { in IsInstructionConstWide() argument
59 return Instruction::CONST_WIDE_16 <= opcode && opcode <= Instruction::CONST_WIDE_HIGH16; in IsInstructionConstWide()
62 constexpr bool IsInstructionReturn(Instruction::Code opcode) { in IsInstructionReturn() argument
63 return Instruction::RETURN_VOID <= opcode && opcode <= Instruction::RETURN_OBJECT; in IsInstructionReturn()
66 constexpr bool IsInstructionInvoke(Instruction::Code opcode) { in IsInstructionInvoke() argument
67 return Instruction::INVOKE_VIRTUAL <= opcode && opcode <= Instruction::INVOKE_INTERFACE_RANGE && in IsInstructionInvoke()
68 opcode != Instruction::UNUSED_73; in IsInstructionInvoke()
71 constexpr bool IsInstructionInvokeStatic(Instruction::Code opcode) { in IsInstructionInvokeStatic() argument
[all …]
Ddex_instruction.cc43 static constexpr int8_t InstructionSizeInCodeUnitsByOpcode(Instruction::Code opcode, in InstructionSizeInCodeUnitsByOpcode() argument
45 if (opcode == Instruction::Code::NOP) { in InstructionSizeInCodeUnitsByOpcode()
63 #define INSTRUCTION_DESCR(opcode, c, p, format, index, flags, eflags, vflags) \ argument
94 Code opcode = static_cast<Code>(insn & 0xFF); in CanFlowThrough() local
95 return FlagsOf(opcode) & Instruction::kContinue; in CanFlowThrough()
177 const char* opcode = kInstructionNames[Opcode()]; in DumpString() local
179 case k10x: os << opcode; break; in DumpString()
180 case k12x: os << StringPrintf("%s v%d, v%d", opcode, VRegA_12x(), VRegB_12x()); break; in DumpString()
181 case k11n: os << StringPrintf("%s v%d, #%+d", opcode, VRegA_11n(), VRegB_11n()); break; in DumpString()
182 case k11x: os << StringPrintf("%s v%d", opcode, VRegA_11x()); break; in DumpString()
[all …]
Ddex_instruction.h84 #define INSTRUCTION_ENUM(opcode, cname, p, f, i, a, e, v) cname = (opcode), argument
291 static const char* Name(Code opcode) { in Name() argument
292 return kInstructionNames[opcode]; in Name()
489 void SetOpcode(Code opcode) { in SetOpcode() argument
490 DCHECK_LT(static_cast<uint16_t>(opcode), 256u); in SetOpcode()
492 insns[0] = (insns[0] & 0xff00) | static_cast<uint16_t>(opcode); in SetOpcode()
532 static Format FormatOf(Code opcode) { in FormatOf() argument
533 return kInstructionDescriptors[opcode].format; in FormatOf()
537 static IndexType IndexTypeOf(Code opcode) { in IndexTypeOf() argument
538 return kInstructionDescriptors[opcode].index_type; in IndexTypeOf()
[all …]
/art/runtime/interpreter/mterp/arm64ng/
Dobject.S8 cbz w0, .L${opcode}_resume
13 .L${opcode}_resume:
39 beq .L${opcode}_resume
46 b .L${opcode}_resume
63 cbz w2, .L${opcode}_resume
75 cbz w0, .L${opcode}_resume
80 .L${opcode}_set_one:
82 .L${opcode}_resume:
108 beq .L${opcode}_set_one
112 b .L${opcode}_resume
[all …]
Darithmetic.S191 %def shiftWide(opcode="shl"):
205 $opcode x0, x1, x2 // Do the shift. Only low 6 bits of x2 are used.
211 %def shiftWide2addr(opcode="lsl"):
221 $opcode x0, x0, x1 // Do the shift. Only low 6 bits of x1 are used.
444 % shiftWide(opcode="lsl")
447 % shiftWide2addr(opcode="lsl")
459 % shiftWide(opcode="asr")
462 % shiftWide2addr(opcode="asr")
486 % shiftWide(opcode="lsr")
489 % shiftWide2addr(opcode="lsr")
/art/runtime/interpreter/mterp/armng/
Dobject.S9 beq .L${opcode}_resume
14 .L${opcode}_resume:
37 beq .L${opcode}_resume
45 b .L${opcode}_resume
63 beq .L${opcode}_resume
76 beq .L${opcode}_resume
81 .L${opcode}_set_one:
83 .L${opcode}_resume:
111 beq .L${opcode}_set_one
116 b .L${opcode}_resume
[all …]
Dother.S11 GET_INST_OPCODE ip @ extract opcode from rINST
21 GET_INST_OPCODE ip @ extract opcode from rINST
29 GET_INST_OPCODE ip @ ip<- opcode from rINST
40 GET_INST_OPCODE ip @ extract opcode from rINST
98 GET_INST_OPCODE ip @ extract opcode from rINST
110 GET_INST_OPCODE ip @ extract opcode from rINST
124 GET_INST_OPCODE ip @ extract opcode from rINST
137 GET_INST_OPCODE ip @ extract opcode from rINST
151 GET_INST_OPCODE ip @ extract opcode from rINST
168 GET_INST_OPCODE ip @ extract opcode from rINST
[all …]
/art/tools/dexfuzz/src/dexfuzz/rawdex/
DCodeItem.java149 Opcode opcode = insn.info.opcode; in incrementIndex() local
152 if (opcode == Opcode.CONST_STRING || opcode == Opcode.CONST_STRING_JUMBO) { in incrementIndex()
160 if (opcode == Opcode.CONST_CLASS in incrementIndex()
161 || opcode == Opcode.CHECK_CAST in incrementIndex()
162 || opcode == Opcode.NEW_INSTANCE in incrementIndex()
163 || opcode == Opcode.FILLED_NEW_ARRAY in incrementIndex()
164 || opcode == Opcode.FILLED_NEW_ARRAY_RANGE) { in incrementIndex()
169 } else if (opcode == Opcode.INSTANCE_OF || opcode == Opcode.NEW_ARRAY) { in incrementIndex()
177 if (Opcode.isBetween(opcode, Opcode.SGET, Opcode.SPUT_SHORT)) { in incrementIndex()
182 } else if (Opcode.isBetween(opcode, Opcode.IGET, Opcode.IPUT_SHORT)) { in incrementIndex()
[all …]
DOpcodeInfo.java27 public final Opcode opcode; field in OpcodeInfo
35 public OpcodeInfo(Opcode opcode, String name, int opcodeValue, AbstractFormat fmt) { in OpcodeInfo() argument
36 this.opcode = opcode; in OpcodeInfo()
/art/compiler/dex/
Dinline_method_analyser.h86 InlineMethodOpcode opcode; member
106 static constexpr bool IsInstructionIGet(Instruction::Code opcode) { in IsInstructionIGet() argument
107 return Instruction::IGET <= opcode && opcode <= Instruction::IGET_SHORT; in IsInstructionIGet()
110 static constexpr bool IsInstructionIPut(Instruction::Code opcode) { in IsInstructionIPut() argument
111 return Instruction::IPUT <= opcode && opcode <= Instruction::IPUT_SHORT; in IsInstructionIPut()
114 static constexpr uint16_t IGetVariant(Instruction::Code opcode) { in IGetVariant() argument
115 return opcode - Instruction::IGET; in IGetVariant()
118 static constexpr uint16_t IPutVariant(Instruction::Code opcode) { in IPutVariant() argument
119 return opcode - Instruction::IPUT; in IPutVariant()
Dinline_method_analyser.cc61 template <Instruction::Code opcode> bool Opcode();
111 template <Instruction::Code opcode>
113 return instruction_->Opcode() == opcode; in Opcode()
394 result->opcode = kInlineOpConstructor; in AnalyseConstructor()
453 Instruction::Code opcode = code_item->begin()->Opcode(); in AnalyseMethodCode() local
455 switch (opcode) { in AnalyseMethodCode()
458 result->opcode = kInlineOpNop; in AnalyseMethodCode()
533 result->opcode = kInlineOpReturnArg; in AnalyseReturnMethod()
569 result->opcode = kInlineOpNonWideConst; in AnalyseConstMethod()
581 Instruction::Code opcode = instruction->Opcode(); in AnalyseIGetMethod() local
[all …]
/art/runtime/interpreter/mterp/x86_64ng/
Dobject.S8 je .L${opcode}_resume
12 .L${opcode}_resume:
32 je .L${opcode}_resume
41 jmp .L${opcode}_resume
59 je .L${opcode}_resume
84 % fetch_from_thread_cache("%rsi", miss_label=".L"+opcode+"_init")
85 .L${opcode}_start:
91 je .L${opcode}_set_vreg
95 .L${opcode}_set_one:
97 .L${opcode}_set_vreg:
[all …]
/art/runtime/interpreter/mterp/x86ng/
Dobject.S8 je .L${opcode}_resume
12 .L${opcode}_resume:
30 jmp .L${opcode}_resume
46 je .L${opcode}_resume
50 .L${opcode}_set_one:
52 .L${opcode}_resume:
76 je .L${opcode}_set_one
79 jmp .L${opcode}_resume
88 jmp .L${opcode}_resume
Darithmetic.S18 jz .L${opcode}_8 # Do 8-bit divide
21 jz .L${opcode}_16 # Do 16-bit divide
23 jne .L${opcode}_32
25 jne .L${opcode}_32
27 jmp .L${opcode}_finish
31 .L${opcode}_32:
34 jmp .L${opcode}_finish
35 .L${opcode}_8:
44 jmp .L${opcode}_finish
45 .L${opcode}_16:
[all …]
/art/runtime/arch/x86/
Dfault_handler_x86.cc102 uint8_t opcode; in GetInstructionSize() local
103 FETCH_BYTE(opcode); in GetInstructionSize()
114 switch (opcode) { in GetInstructionSize()
135 FETCH_BYTE(opcode); in GetInstructionSize()
144 if (x86_64 && opcode >= 0x40 && opcode <= 0x4f) { in GetInstructionSize()
145 FETCH_BYTE(opcode); in GetInstructionSize()
148 if (opcode == 0x0f) { in GetInstructionSize()
151 FETCH_BYTE(opcode); in GetInstructionSize()
157 switch (opcode) { in GetInstructionSize()
172 switch (opcode) { in GetInstructionSize()
[all …]
/art/runtime/interpreter/mterp/common/
Dgen_setup.py27 opcode = "" variable
37 global opnum, opcode
38 opnum, opcode = str(num), name
47 opnum, opcode = None, None
53 name = opcode_name_prefix() + (opcode or "common") + suffix
/art/tools/dexfuzz/src/dexfuzz/rawdex/formats/
DFormat21c.java67 if (info.opcode == Opcode.CONST_STRING) { in getPoolIndexKind()
70 if (info.opcode == Opcode.CONST_CLASS in getPoolIndexKind()
71 || info.opcode == Opcode.CHECK_CAST in getPoolIndexKind()
72 || info.opcode == Opcode.NEW_INSTANCE) { in getPoolIndexKind()
/art/libelffile/dwarf/
Ddebug_line_opcode_writer.h180 int opcode = kOpcodeBase + (delta_line - kLineBase) + in AddRow() local
182 if (opcode > UINT8_MAX) { in AddRow()
185 opcode -= (kLineRange * const_advance); in AddRow()
186 if (opcode <= UINT8_MAX) { in AddRow()
192 opcode = kOpcodeBase + (delta_line - kLineBase); in AddRow()
195 DCHECK(kOpcodeBase <= opcode && opcode <= 0xFF); in AddRow()
196 this->PushUint8(opcode); // Special opcode. in AddRow()
/art/runtime/interpreter/mterp/
Dnterp.cc201 static constexpr uint8_t GetOpcodeInvokeType(uint8_t opcode) { in GetOpcodeInvokeType() argument
202 switch (opcode) { in GetOpcodeInvokeType()
226 for (size_t opcode = 0u; opcode != opcode_invoke_types.size(); ++opcode) { in GenerateOpcodeInvokeTypes() local
227 opcode_invoke_types[opcode] = GetOpcodeInvokeType(opcode); in GenerateOpcodeInvokeTypes()
239 Instruction::Code opcode = inst->Opcode(); in NterpGetMethod() local
240 DCHECK(IsUint<8>(static_cast<std::underlying_type_t<Instruction::Code>>(opcode))); in NterpGetMethod()
241 uint8_t raw_invoke_type = kOpcodeInvokeTypes[opcode]; in NterpGetMethod()
248 (opcode >= Instruction::INVOKE_VIRTUAL_RANGE) ? inst->VRegB_3rc() : inst->VRegB_35c(); in NterpGetMethod()
316 Instruction::Code opcode = inst->Opcode(); in NterpGetStaticField() local
323 /*is_put=*/ IsInstructionSPut(opcode), in NterpGetStaticField()
[all …]

1234