/art/tools/dexfuzz/src/dexfuzz/program/mutators/ |
H A D | ArithOpChanger.java | 25 import dexfuzz.rawdex.Opcode; 151 Opcode opcode = mInsn.insn.info.opcode; 152 if (Opcode.isBetween(opcode, Opcode.ADD_INT, Opcode.USHR_INT_LIT8)) { 158 private Opcode getLegalDifferentOpcode(MInsn mInsn) { 159 Opcode opcode = mInsn.insn.info.opcode; 161 for (List<Opcode> opcodeList : opcodeLists) { 162 Opcode first = opcodeList.get(0); 163 Opcode las [all...] |
H A D | ValuePrinter.java | 25 import dexfuzz.rawdex.Opcode; 156 valueCopyInsn.insn.info = Instruction.getOpcodeInfo(Opcode.MOVE_OBJECT_16); 158 valueCopyInsn.insn.info = Instruction.getOpcodeInfo(Opcode.MOVE_WIDE_16); 160 valueCopyInsn.insn.info = Instruction.getOpcodeInfo(Opcode.MOVE_16); 167 streamLoadInsn.insn.info = Instruction.getOpcodeInfo(Opcode.SGET_OBJECT); 173 invokeInsn.insn.info = Instruction.getOpcodeInfo(Opcode.INVOKE_VIRTUAL_RANGE); 216 Opcode opcode = mInsn.insn.info.opcode; 217 if (opcode == Opcode.CONST_STRING || opcode == Opcode.CONST_STRING_JUMBO) { 220 if (opcode == Opcode [all...] |
H A D | RandomInstructionGenerator.java | 26 import dexfuzz.rawdex.Opcode; 126 Opcode newOpcode = null; 127 int opcodeCount = Opcode.values().length; 131 newOpcode = Opcode.values()[rng.nextInt(opcodeCount)]; 133 if (Opcode.isBetween(newOpcode, Opcode.FILLED_NEW_ARRAY, Opcode.FILL_ARRAY_DATA) 134 || Opcode.isBetween(newOpcode, Opcode.PACKED_SWITCH, Opcode [all...] |
H A D | CmpBiasChanger.java | 25 import dexfuzz.rawdex.Opcode; 121 Opcode newOpcode = getLegalDifferentOpcode(cmpBiasInsn); 133 private Opcode getLegalDifferentOpcode(MInsn mInsn) { 134 Opcode opcode = mInsn.insn.info.opcode; 135 if (opcode == Opcode.CMPG_DOUBLE) { 136 return Opcode.CMPL_DOUBLE; 138 if (opcode == Opcode.CMPL_DOUBLE) { 139 return Opcode.CMPG_DOUBLE; 141 if (opcode == Opcode.CMPG_FLOAT) { 142 return Opcode [all...] |
H A D | ConversionRepeater.java | 25 import dexfuzz.rawdex.Opcode; 126 Opcode oppositeOpcode = null; 129 oppositeOpcode = Opcode.LONG_TO_INT; 132 oppositeOpcode = Opcode.FLOAT_TO_INT; 135 oppositeOpcode = Opcode.DOUBLE_TO_INT; 138 oppositeOpcode = Opcode.INT_TO_LONG; 141 oppositeOpcode = Opcode.FLOAT_TO_LONG; 144 oppositeOpcode = Opcode.DOUBLE_TO_LONG; 147 oppositeOpcode = Opcode.INT_TO_FLOAT; 150 oppositeOpcode = Opcode [all...] |
H A D | InstructionDuplicator.java | 24 import dexfuzz.rawdex.Opcode; 74 Opcode opcode = oldInsn.insn.info.opcode; 76 if (opcode == Opcode.SPARSE_SWITCH || opcode == Opcode.PACKED_SWITCH 77 || opcode == Opcode.FILL_ARRAY_DATA || oldInsn.insn.justRaw) {
|
H A D | NewMethodCaller.java | 26 import dexfuzz.rawdex.Opcode; 148 newInsn.insn.info = Instruction.getOpcodeInfo(Opcode.INVOKE_VIRTUAL); 151 newInsn.insn.info = Instruction.getOpcodeInfo(Opcode.INVOKE_DIRECT); 154 newInsn.insn.info = Instruction.getOpcodeInfo(Opcode.INVOKE_SUPER); 157 newInsn.insn.info = Instruction.getOpcodeInfo(Opcode.INVOKE_STATIC); 160 newInsn.insn.info = Instruction.getOpcodeInfo(Opcode.INVOKE_INTERFACE);
|
H A D | FieldFlagChanger.java | 26 import dexfuzz.rawdex.Opcode; 156 Opcode opcode = mInsn.insn.info.opcode; 157 if (Opcode.isBetween(opcode, Opcode.IGET, Opcode.SPUT_SHORT)) {
|
H A D | NonsenseStringPrinter.java | 25 import dexfuzz.rawdex.Opcode; 123 constStringInsn.insn.info = Instruction.getOpcodeInfo(Opcode.CONST_STRING); 129 streamLoadInsn.insn.info = Instruction.getOpcodeInfo(Opcode.SGET_OBJECT); 135 invokeInsn.insn.info = Instruction.getOpcodeInfo(Opcode.INVOKE_VIRTUAL_RANGE);
|
/art/tools/dexfuzz/src/dexfuzz/rawdex/ |
H A D | Instruction.java | 298 private static Map<Opcode,OpcodeInfo> opcode_map_by_enum = new HashMap<Opcode,OpcodeInfo>(); 300 public static OpcodeInfo getOpcodeInfo(Opcode opcode) { 308 private static void addOpcodeInfo(Opcode opcode, String name, 312 Log.errorAndQuit(String.format("Opcode: %s (enum ordinal 0x%x) != (value 0x%x)", 320 addOpcodeInfo(Opcode.NOP, "nop", 0x00, new Format10x()); 321 addOpcodeInfo(Opcode.MOVE, "move", 0x01, new Format12x()); 322 addOpcodeInfo(Opcode.MOVE_FROM16, "move/from16", 0x02, new Format22x()); 323 addOpcodeInfo(Opcode.MOVE_16, "move/16", 0x03, new Format32x()); 324 addOpcodeInfo(Opcode [all...] |
H A D | CodeItem.java | 149 Opcode opcode = insn.info.opcode; 152 if (opcode == Opcode.CONST_STRING || opcode == Opcode.CONST_STRING_JUMBO) { 160 if (opcode == Opcode.CONST_CLASS 161 || opcode == Opcode.CHECK_CAST 162 || opcode == Opcode.NEW_INSTANCE 163 || opcode == Opcode.FILLED_NEW_ARRAY 164 || opcode == Opcode.FILLED_NEW_ARRAY_RANGE) { 169 } else if (opcode == Opcode.INSTANCE_OF || opcode == Opcode [all...] |
H A D | OpcodeInfo.java | 27 public final Opcode opcode; 35 public OpcodeInfo(Opcode opcode, String name, int opcodeValue, AbstractFormat fmt) {
|
H A D | Opcode.java | 19 public enum Opcode { enum 277 public static boolean isBetween(Opcode opcode, Opcode opcode1, Opcode opcode2) {
|
/art/runtime/ |
H A D | dex_instruction-inl.h | 28 switch (FormatOf(Opcode())) { 60 switch (FormatOf(Opcode())) { 94 DCHECK_EQ(FormatOf(Opcode()), k10t); 99 DCHECK_EQ(FormatOf(Opcode()), k10x); 104 DCHECK_EQ(FormatOf(Opcode()), k11n); 109 DCHECK_EQ(FormatOf(Opcode()), k11x); 114 DCHECK_EQ(FormatOf(Opcode()), k12x); 119 DCHECK_EQ(FormatOf(Opcode()), k20t); 124 DCHECK_EQ(FormatOf(Opcode()), k21c); 129 DCHECK_EQ(FormatOf(Opcode()), k21 [all...] |
H A D | dex_instruction.h | 201 int result = kInstructionSizeInCodeUnits[Opcode()]; 227 DCHECK(FormatOf(Opcode()) >= k10x && FormatOf(Opcode()) <= k10t); 233 DCHECK(FormatOf(Opcode()) >= k20t && FormatOf(Opcode()) <= k22c); 239 DCHECK(FormatOf(Opcode()) >= k32x && FormatOf(Opcode()) <= k3rc); 245 DCHECK(FormatOf(Opcode()) >= k45cc && FormatOf(Opcode()) <= k4rcc); 251 DCHECK(FormatOf(Opcode()) 446 Code Opcode(uint16_t inst_data) const { function in class:art::Instruction 452 Code Opcode() const { function in class:art::Instruction [all...] |
H A D | dex_instruction_visitor.h | 34 switch (inst->Opcode()) {
|
H A D | dex_instruction.cc | 88 switch (FormatOf(Opcode())) { 168 const char* opcode = kInstructionNames[Opcode()]; 169 switch (FormatOf(Opcode())) { 181 if (Opcode() == CONST_HIGH16) { 192 switch (Opcode()) { 260 switch (Opcode()) { 336 if (Opcode() == CONST_STRING_JUMBO) { 363 switch (Opcode()) { 434 switch (Opcode()) { 493 switch (Opcode()) { [all...] |
/art/tools/dexfuzz/src/dexfuzz/rawdex/formats/ |
H A D | Format21c.java | 21 import dexfuzz.rawdex.Opcode; 67 if (info.opcode == Opcode.CONST_STRING) { 70 if (info.opcode == Opcode.CONST_CLASS 71 || info.opcode == Opcode.CHECK_CAST 72 || info.opcode == Opcode.NEW_INSTANCE) {
|
H A D | Format22c.java | 21 import dexfuzz.rawdex.Opcode; 67 if (info.opcode == Opcode.INSTANCE_OF || info.opcode == Opcode.NEW_ARRAY) {
|
H A D | Format35c.java | 21 import dexfuzz.rawdex.Opcode; 70 if (info.opcode == Opcode.FILLED_NEW_ARRAY) {
|
H A D | Format3rc.java | 21 import dexfuzz.rawdex.Opcode; 63 if (info.opcode == Opcode.FILLED_NEW_ARRAY_RANGE) {
|
/art/compiler/dex/ |
H A D | inline_method_analyser.cc | 60 template <Instruction::Code opcode> bool Opcode(); 113 bool Matcher::Opcode() { function in class:art::__anon5::Matcher 114 return instruction_->Opcode() == opcode; 119 return IsInstructionDirectConst(instruction_->Opcode()) && 120 (instruction_->Opcode() == Instruction::CONST_WIDE ? instruction_->VRegB_51l() == 0 126 return IsInstructionIPut(instruction_->Opcode()) && 144 DCHECK_EQ(invoke_direct->Opcode(), Instruction::INVOKE_DIRECT); 165 DCHECK_EQ(invoke_direct->Opcode(), Instruction::INVOKE_DIRECT); 187 DCHECK(IsInstructionDirectConst(const0->Opcode())); 188 DCHECK((const0->Opcode() [all...] |
H A D | dex_to_dex_compiler.cc | 120 switch (inst->Opcode()) { 201 DCHECK_EQ(inst->Opcode(), Instruction::RETURN_VOID); 211 VLOG(compiler) << "Replacing " << Instruction::Name(inst->Opcode()) 231 VLOG(compiler) << "Removing " << Instruction::Name(inst->Opcode()) 261 VLOG(compiler) << "Quickening " << Instruction::Name(inst->Opcode()) 300 VLOG(compiler) << "Quickening " << Instruction::Name(inst->Opcode())
|
/art/tools/dexfuzz/src/dexfuzz/program/ |
H A D | CodeTranslator.java | 24 import dexfuzz.rawdex.Opcode; 562 nop.insn.info = Instruction.getOpcodeInfo(Opcode.NOP); 578 Opcode opcode = insn.info.opcode; 579 if (Opcode.isBetween(opcode, Opcode.IF_EQ, Opcode.IF_LEZ) 580 || Opcode.isBetween(opcode, Opcode.GOTO, Opcode.GOTO_32)) { 590 Opcode opcod [all...] |
/art/compiler/utils/arm/ |
H A D | constants_arm.h | 133 enum Opcode { enum in namespace:art::arm 154 std::ostream& operator<<(std::ostream& os, const Opcode& rhs); 284 Opcode OpcodeField() const { 285 return static_cast<Opcode>(Bits(kOpcodeShift, kOpcodeBits));
|