Home
last modified time | relevance | path

Searched refs:Opcode (Results 1 – 25 of 53) sorted by relevance

123

/art/tools/dexfuzz/src/dexfuzz/rawdex/
DInstruction.java298 private static Map<Opcode,OpcodeInfo> opcode_map_by_enum = new HashMap<Opcode,OpcodeInfo>();
300 public static OpcodeInfo getOpcodeInfo(Opcode opcode) { in getOpcodeInfo()
308 private static void addOpcodeInfo(Opcode opcode, String name, in addOpcodeInfo()
320 addOpcodeInfo(Opcode.NOP, "nop", 0x00, new Format10x()); in addOpcodeInfo()
321 addOpcodeInfo(Opcode.MOVE, "move", 0x01, new Format12x()); in addOpcodeInfo()
322 addOpcodeInfo(Opcode.MOVE_FROM16, "move/from16", 0x02, new Format22x()); in addOpcodeInfo()
323 addOpcodeInfo(Opcode.MOVE_16, "move/16", 0x03, new Format32x()); in addOpcodeInfo()
324 addOpcodeInfo(Opcode.MOVE_WIDE, "move-wide", 0x04, new Format12x()); in addOpcodeInfo()
325 addOpcodeInfo(Opcode.MOVE_WIDE_FROM16, "move-wide/from16", 0x05, new Format22x()); in addOpcodeInfo()
326 addOpcodeInfo(Opcode.MOVE_WIDE_16, "move-wide/16", 0x06, new Format32x()); in addOpcodeInfo()
[all …]
DCodeItem.java149 Opcode opcode = insn.info.opcode; in incrementIndex()
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;
35 public OpcodeInfo(Opcode opcode, String name, int opcodeValue, AbstractFormat fmt) { in OpcodeInfo()
DOpcode.java19 public enum Opcode { enum
277 public static boolean isBetween(Opcode opcode, Opcode opcode1, Opcode opcode2) { in isBetween()
/art/tools/dexfuzz/src/dexfuzz/program/mutators/
DArithOpChanger.java25 import dexfuzz.rawdex.Opcode;
151 Opcode opcode = mInsn.insn.info.opcode; in isArithmeticOperation()
152 if (Opcode.isBetween(opcode, Opcode.ADD_INT, Opcode.USHR_INT_LIT8)) { in isArithmeticOperation()
158 private Opcode getLegalDifferentOpcode(MInsn mInsn) { in getLegalDifferentOpcode()
159 Opcode opcode = mInsn.insn.info.opcode; in getLegalDifferentOpcode()
161 for (List<Opcode> opcodeList : opcodeLists) { in getLegalDifferentOpcode()
162 Opcode first = opcodeList.get(0); in getLegalDifferentOpcode()
163 Opcode last = opcodeList.get(opcodeList.size() - 1); in getLegalDifferentOpcode()
164 if (Opcode.isBetween(opcode, first, last)) { in getLegalDifferentOpcode()
173 private static List<Opcode> intOpcodes = new ArrayList<Opcode>();
[all …]
DValuePrinter.java25 import dexfuzz.rawdex.Opcode;
156 valueCopyInsn.insn.info = Instruction.getOpcodeInfo(Opcode.MOVE_OBJECT_16); in applyMutation()
158 valueCopyInsn.insn.info = Instruction.getOpcodeInfo(Opcode.MOVE_WIDE_16); in applyMutation()
160 valueCopyInsn.insn.info = Instruction.getOpcodeInfo(Opcode.MOVE_16); in applyMutation()
167 streamLoadInsn.insn.info = Instruction.getOpcodeInfo(Opcode.SGET_OBJECT); in applyMutation()
173 invokeInsn.insn.info = Instruction.getOpcodeInfo(Opcode.INVOKE_VIRTUAL_RANGE); in applyMutation()
216 Opcode opcode = mInsn.insn.info.opcode; in getInstructionOutputType()
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()
[all …]
DRandomInstructionGenerator.java26 import dexfuzz.rawdex.Opcode;
126 Opcode newOpcode = null; in generateMutation()
127 int opcodeCount = Opcode.values().length; in generateMutation()
131 newOpcode = Opcode.values()[rng.nextInt(opcodeCount)]; in generateMutation()
133 if (Opcode.isBetween(newOpcode, Opcode.FILLED_NEW_ARRAY, Opcode.FILL_ARRAY_DATA) in generateMutation()
134 || Opcode.isBetween(newOpcode, Opcode.PACKED_SWITCH, Opcode.SPARSE_SWITCH) in generateMutation()
135 || Opcode.isBetween(newOpcode, Opcode.INVOKE_VIRTUAL, Opcode.INVOKE_INTERFACE) in generateMutation()
136 || Opcode.isBetween(newOpcode, in generateMutation()
137 Opcode.INVOKE_VIRTUAL_RANGE, Opcode.INVOKE_INTERFACE_RANGE) in generateMutation()
139 || Opcode.isBetween(newOpcode, Opcode.IGET_QUICK, Opcode.IPUT_SHORT_QUICK) in generateMutation()
[all …]
DConversionRepeater.java25 import dexfuzz.rawdex.Opcode;
126 Opcode oppositeOpcode = null; in applyMutation()
129 oppositeOpcode = Opcode.LONG_TO_INT; in applyMutation()
132 oppositeOpcode = Opcode.FLOAT_TO_INT; in applyMutation()
135 oppositeOpcode = Opcode.DOUBLE_TO_INT; in applyMutation()
138 oppositeOpcode = Opcode.INT_TO_LONG; in applyMutation()
141 oppositeOpcode = Opcode.FLOAT_TO_LONG; in applyMutation()
144 oppositeOpcode = Opcode.DOUBLE_TO_LONG; in applyMutation()
147 oppositeOpcode = Opcode.INT_TO_FLOAT; in applyMutation()
150 oppositeOpcode = Opcode.LONG_TO_FLOAT; in applyMutation()
[all …]
DCmpBiasChanger.java25 import dexfuzz.rawdex.Opcode;
121 Opcode newOpcode = getLegalDifferentOpcode(cmpBiasInsn); in applyMutation()
133 private Opcode getLegalDifferentOpcode(MInsn mInsn) { in getLegalDifferentOpcode()
134 Opcode opcode = mInsn.insn.info.opcode; in getLegalDifferentOpcode()
135 if (opcode == Opcode.CMPG_DOUBLE) { in getLegalDifferentOpcode()
136 return Opcode.CMPL_DOUBLE; in getLegalDifferentOpcode()
138 if (opcode == Opcode.CMPL_DOUBLE) { in getLegalDifferentOpcode()
139 return Opcode.CMPG_DOUBLE; in getLegalDifferentOpcode()
141 if (opcode == Opcode.CMPG_FLOAT) { in getLegalDifferentOpcode()
142 return Opcode.CMPL_FLOAT; in getLegalDifferentOpcode()
[all …]
DInstructionDuplicator.java24 import dexfuzz.rawdex.Opcode;
74 Opcode opcode = oldInsn.insn.info.opcode; in generateMutation()
76 if (opcode == Opcode.SPARSE_SWITCH || opcode == Opcode.PACKED_SWITCH in generateMutation()
77 || opcode == Opcode.FILL_ARRAY_DATA || oldInsn.insn.justRaw) { in generateMutation()
DNewMethodCaller.java26 import dexfuzz.rawdex.Opcode;
148 newInsn.insn.info = Instruction.getOpcodeInfo(Opcode.INVOKE_VIRTUAL); in applyMutation()
151 newInsn.insn.info = Instruction.getOpcodeInfo(Opcode.INVOKE_DIRECT); in applyMutation()
154 newInsn.insn.info = Instruction.getOpcodeInfo(Opcode.INVOKE_SUPER); in applyMutation()
157 newInsn.insn.info = Instruction.getOpcodeInfo(Opcode.INVOKE_STATIC); in applyMutation()
160 newInsn.insn.info = Instruction.getOpcodeInfo(Opcode.INVOKE_INTERFACE); in applyMutation()
DFieldFlagChanger.java26 import dexfuzz.rawdex.Opcode;
156 Opcode opcode = mInsn.insn.info.opcode; in isFileDefinedFieldInstruction()
157 if (Opcode.isBetween(opcode, Opcode.IGET, Opcode.SPUT_SHORT)) { in isFileDefinedFieldInstruction()
DNonsenseStringPrinter.java25 import dexfuzz.rawdex.Opcode;
123 constStringInsn.insn.info = Instruction.getOpcodeInfo(Opcode.CONST_STRING); in applyMutation()
129 streamLoadInsn.insn.info = Instruction.getOpcodeInfo(Opcode.SGET_OBJECT); in applyMutation()
135 invokeInsn.insn.info = Instruction.getOpcodeInfo(Opcode.INVOKE_VIRTUAL_RANGE); in applyMutation()
/art/runtime/
Ddex_instruction-inl.h28 switch (FormatOf(Opcode())) { in HasVRegA()
58 switch (FormatOf(Opcode())) { in VRegA()
90 DCHECK_EQ(FormatOf(Opcode()), k10t); in VRegA_10t()
95 DCHECK_EQ(FormatOf(Opcode()), k10x); in VRegA_10x()
100 DCHECK_EQ(FormatOf(Opcode()), k11n); in VRegA_11n()
105 DCHECK_EQ(FormatOf(Opcode()), k11x); in VRegA_11x()
110 DCHECK_EQ(FormatOf(Opcode()), k12x); in VRegA_12x()
115 DCHECK_EQ(FormatOf(Opcode()), k20t); in VRegA_20t()
120 DCHECK_EQ(FormatOf(Opcode()), k21c); in VRegA_21c()
125 DCHECK_EQ(FormatOf(Opcode()), k21h); in VRegA_21h()
[all …]
Ddex_instruction.h192 int result = kInstructionSizeInCodeUnits[Opcode()]; in SizeInCodeUnits()
218 DCHECK(FormatOf(Opcode()) >= k10x && FormatOf(Opcode()) <= k10t); in Next_1xx()
224 DCHECK(FormatOf(Opcode()) >= k20t && FormatOf(Opcode()) <= k25x); in Next_2xx()
230 DCHECK(FormatOf(Opcode()) >= k32x && FormatOf(Opcode()) <= k3rc); in Next_3xx()
236 DCHECK(FormatOf(Opcode()) == k51l); in Next_51l()
242 return Instruction::Name(Opcode()); in Name()
418 Code Opcode(uint16_t inst_data) const { in Opcode() function
424 Code Opcode() const { in Opcode() function
425 return Opcode(Fetch16(0)); in Opcode()
435 DCHECK(FormatOf(Opcode()) == k10x); in SetVRegA_10x()
[all …]
Ddex_instruction.cc84 switch (FormatOf(Opcode())) { in GetTargetOffset()
164 const char* opcode = kInstructionNames[Opcode()]; in DumpString()
165 switch (FormatOf(Opcode())) { in DumpString()
177 if (Opcode() == CONST_HIGH16) { in DumpString()
188 switch (Opcode()) { in DumpString()
263 switch (Opcode()) { in DumpString()
333 if (Opcode() == INVOKE_LAMBDA) { in DumpString()
357 if (Opcode() == CONST_STRING_JUMBO) { in DumpString()
383 switch (Opcode()) { in DumpString()
438 switch (Opcode()) { in DumpString()
/art/tools/dexfuzz/src/dexfuzz/rawdex/formats/
DFormat21c.java21 import dexfuzz.rawdex.Opcode;
67 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()
DFormat22c.java21 import dexfuzz.rawdex.Opcode;
67 if (info.opcode == Opcode.INSTANCE_OF || info.opcode == Opcode.NEW_ARRAY) { in getPoolIndexKind()
DFormat3rc.java21 import dexfuzz.rawdex.Opcode;
63 if (info.opcode == Opcode.FILLED_NEW_ARRAY_RANGE) { in getPoolIndexKind()
DFormat35c.java21 import dexfuzz.rawdex.Opcode;
70 if (info.opcode == Opcode.FILLED_NEW_ARRAY) { in getPoolIndexKind()
/art/compiler/dex/
Dverified_method.cc94 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()
110 } else if (IsInstructionIGetQuickOrIPutQuick(inst->Opcode())) { in GenerateDequickenMap()
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()
152 const bool is_range = inst->Opcode() == Instruction::INVOKE_VIRTUAL_RANGE || in GenerateDevirtMap()
153 inst->Opcode() == Instruction::INVOKE_INTERFACE_RANGE; in GenerateDevirtMap()
219 Instruction::Code code = inst->Opcode(); in GenerateSafeCastSet()
Ddex_to_dex_compiler.cc121 switch (inst->Opcode()) { in Compile()
202 DCHECK_EQ(inst->Opcode(), Instruction::RETURN_VOID); in CompileReturnVoid()
212 VLOG(compiler) << "Replacing " << Instruction::Name(inst->Opcode()) in CompileReturnVoid()
232 VLOG(compiler) << "Removing " << Instruction::Name(inst->Opcode()) in CompileCheckCast()
260 VLOG(compiler) << "Quickening " << Instruction::Name(inst->Opcode()) in CompileInstanceFieldAccess()
295 VLOG(compiler) << "Quickening " << Instruction::Name(inst->Opcode()) in CompileInvokeVirtual()
/art/runtime/quick/
Dinline_method_analyser.cc60 template <Instruction::Code opcode> bool Opcode();
113 bool Matcher::Opcode() { in Opcode() function in art::__anon115260ca0111::Matcher
114 return instruction_->Opcode() == opcode; in Opcode()
119 return IsInstructionDirectConst(instruction_->Opcode()) && in Const0()
120 (instruction_->Opcode() == Instruction::CONST_WIDE ? instruction_->VRegB_51l() == 0 in Const0()
126 return IsInstructionIPut(instruction_->Opcode()) && in IPutOnThis()
144 DCHECK_EQ(invoke_direct->Opcode(), Instruction::INVOKE_DIRECT); in GetTargetConstructor()
165 DCHECK_EQ(invoke_direct->Opcode(), Instruction::INVOKE_DIRECT); in CountForwardedConstructorArguments()
187 DCHECK(IsInstructionDirectConst(const0->Opcode())); in GetZeroVRegMask()
188 DCHECK((const0->Opcode() == Instruction::CONST_WIDE) ? const0->VRegB_51l() == 0u in GetZeroVRegMask()
[all …]
/art/tools/dexfuzz/src/dexfuzz/program/
DCodeTranslator.java24 import dexfuzz.rawdex.Opcode;
554 nop.insn.info = Instruction.getOpcodeInfo(Opcode.NOP); in alignDataInstructions()
570 Opcode opcode = insn.info.opcode; in isInstructionBranch()
571 if (Opcode.isBetween(opcode, Opcode.IF_EQ, Opcode.IF_LEZ) in isInstructionBranch()
572 || Opcode.isBetween(opcode, Opcode.GOTO, Opcode.GOTO_32)) { in isInstructionBranch()
582 Opcode opcode = insn.info.opcode; in isInstructionSwitch()
583 if (Opcode.isBetween(opcode, Opcode.PACKED_SWITCH, Opcode.SPARSE_SWITCH)) { in isInstructionSwitch()
590 return (insn.info.opcode == Opcode.FILL_ARRAY_DATA); in isInstructionFillArrayData()
/art/compiler/utils/arm/
Dconstants_arm.h133 enum Opcode { enum
154 std::ostream& operator<<(std::ostream& os, const Opcode& rhs);
284 Opcode OpcodeField() const { in OpcodeField()
285 return static_cast<Opcode>(Bits(kOpcodeShift, kOpcodeBits)); in OpcodeField()

123