/art/tools/dexfuzz/src/dexfuzz/program/mutators/ |
D | ValuePrinter.java | 216 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 …]
|
D | InvokeChanger.java | 152 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 …]
|
D | RandomBranchChanger.java | 53 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()
|
D | CmpBiasChanger.java | 134 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()
|
D | InstructionDuplicator.java | 74 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()
|
D | OppositeBranchChanger.java | 36 Opcode opcode = mInsn.insn.info.opcode; in getModifiedOpcode() local 37 switch (opcode) { in getModifiedOpcode() 64 return opcode; in getModifiedOpcode()
|
/art/libdexfile/dex/ |
D | dex_instruction_utils.h | 54 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 …]
|
D | dex_instruction.cc | 43 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 …]
|
D | dex_instruction.h | 84 #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/ |
D | object.S | 8 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 …]
|
D | arithmetic.S | 191 %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/ |
D | object.S | 9 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 …]
|
D | other.S | 11 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/ |
D | CodeItem.java | 149 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 …]
|
D | OpcodeInfo.java | 27 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/ |
D | inline_method_analyser.h | 86 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()
|
D | inline_method_analyser.cc | 61 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/ |
D | object.S | 8 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/ |
D | object.S | 8 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
|
D | arithmetic.S | 18 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/ |
D | fault_handler_x86.cc | 102 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/ |
D | gen_setup.py | 27 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/ |
D | Format21c.java | 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()
|
/art/libelffile/dwarf/ |
D | debug_line_opcode_writer.h | 180 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/ |
D | nterp.cc | 201 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 …]
|