/art/tools/dexfuzz/src/dexfuzz/rawdex/ |
D | Instruction.java | 298 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 …]
|
D | CodeItem.java | 149 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 …]
|
D | OpcodeInfo.java | 27 public final Opcode opcode; 35 public OpcodeInfo(Opcode opcode, String name, int opcodeValue, AbstractFormat fmt) { in OpcodeInfo()
|
D | Opcode.java | 19 public enum Opcode { enum 277 public static boolean isBetween(Opcode opcode, Opcode opcode1, Opcode opcode2) { in isBetween()
|
/art/tools/dexfuzz/src/dexfuzz/program/mutators/ |
D | ArithOpChanger.java | 25 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 …]
|
D | ValuePrinter.java | 25 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 …]
|
D | RandomInstructionGenerator.java | 26 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 …]
|
D | ConversionRepeater.java | 25 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 …]
|
D | CmpBiasChanger.java | 25 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 …]
|
D | InstructionDuplicator.java | 24 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()
|
D | NewMethodCaller.java | 26 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()
|
D | FieldFlagChanger.java | 26 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()
|
D | NonsenseStringPrinter.java | 25 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/ |
D | dex_instruction-inl.h | 28 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 …]
|
D | dex_instruction.h | 192 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 …]
|
D | dex_instruction.cc | 84 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/ |
D | Format21c.java | 21 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()
|
D | Format22c.java | 21 import dexfuzz.rawdex.Opcode; 67 if (info.opcode == Opcode.INSTANCE_OF || info.opcode == Opcode.NEW_ARRAY) { in getPoolIndexKind()
|
D | Format3rc.java | 21 import dexfuzz.rawdex.Opcode; 63 if (info.opcode == Opcode.FILLED_NEW_ARRAY_RANGE) { in getPoolIndexKind()
|
D | Format35c.java | 21 import dexfuzz.rawdex.Opcode; 70 if (info.opcode == Opcode.FILLED_NEW_ARRAY) { in getPoolIndexKind()
|
/art/compiler/dex/ |
D | verified_method.cc | 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() 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()
|
D | dex_to_dex_compiler.cc | 121 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/ |
D | inline_method_analyser.cc | 60 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/ |
D | CodeTranslator.java | 24 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/ |
D | constants_arm.h | 133 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()
|