/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 | OppositeBranchChanger.java | 36 Opcode opcode = mInsn.insn.info.opcode; in getModifiedOpcode() local 37 switch (opcode) { in getModifiedOpcode() 64 return opcode; in getModifiedOpcode()
|
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()
|
/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::RETURN_VOID_NO_BARRIER; in IsInstructionInvoke() 71 constexpr bool IsInstructionQuickInvoke(Instruction::Code opcode) { in IsInstructionQuickInvoke() 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/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/arm64/ |
D | control_flow.S | 152 b.ne .L${opcode}_check 153 .L${opcode}_return: 157 .L${opcode}_check: 159 b .L${opcode}_return 170 b.ne .L${opcode}_check 171 .L${opcode}_return: 174 .L${opcode}_check: 176 b .L${opcode}_return 182 b.ne .L${opcode}_check 183 .L${opcode}_return: [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/common/ |
D | gen_setup.py | 27 opcode = "" variable 37 global opnum, opcode 38 opnum, opcode = str(num), name 47 opnum, opcode = None, None 55 name = "mterp_" + opcode + "_helper"
|
/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/runtime/arch/x86/ |
D | fault_handler_x86.cc | 113 uint8_t opcode = *pc; in GetInstructionSize() local 125 switch (opcode) { in GetInstructionSize() 146 opcode = *pc; in GetInstructionSize() 156 if (x86_64 && opcode >= 0x40 && opcode <= 0x4f) { in GetInstructionSize() 157 opcode = *pc; in GetInstructionSize() 161 if (opcode == 0x0f) { in GetInstructionSize() 164 opcode = *pc; in GetInstructionSize() 171 switch (opcode) { in GetInstructionSize() 187 switch (opcode) { in GetInstructionSize() 227 immediate_size = (opcode == 0xf6) ? 1 : (operand_size_prefix ? 2 : 4); in GetInstructionSize() [all …]
|
/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/arm/ |
D | other.S | 17 GET_INST_OPCODE ip @ extract opcode from rINST 33 GET_INST_OPCODE ip @ extract opcode from rINST 43 GET_INST_OPCODE ip @ extract opcode from rINST 51 GET_INST_OPCODE ip @ ip<- opcode from rINST 65 GET_INST_OPCODE ip @ extract opcode from rINST 91 GET_INST_OPCODE ip @ extract opcode from rINST 106 GET_INST_OPCODE ip @ extract opcode from rINST 118 GET_INST_OPCODE ip @ extract opcode from rINST 132 GET_INST_OPCODE ip @ extract opcode from rINST 145 GET_INST_OPCODE ip @ extract opcode from rINST [all …]
|
D | object.S | 10 PREFETCH_INST 2 @ prefetch next opcode 15 GET_INST_OPCODE ip @ extract opcode from rINST 34 GET_INST_OPCODE ip @ extract opcode from rINST 123 GET_INST_OPCODE ip @ extract opcode from rINST 162 GET_INST_OPCODE ip @ extract opcode from rINST 188 GET_INST_OPCODE ip @ extract opcode from rINST 224 GET_INST_OPCODE ip @ extract opcode from rINST 239 GET_INST_OPCODE ip @ extract opcode from rINST 263 GET_INST_OPCODE ip @ extract opcode from rINST 279 GET_INST_OPCODE ip @ extract opcode from rINST
|
/art/runtime/interpreter/mterp/x86/ |
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 …]
|
D | floating_point.S | 24 jp .L${opcode}_nan_is_${nanval} 25 je .L${opcode}_finish 26 jb .L${opcode}_less 27 .L${opcode}_nan_is_pos: 29 jmp .L${opcode}_finish 30 .L${opcode}_nan_is_neg: 31 .L${opcode}_less: 33 .L${opcode}_finish:
|
/art/tools/dexanalyze/ |
D | dexanalyze_bytecode.cc | 237 const Instruction::Code opcode = inst->Opcode(); in ProcessCodeItem() local 238 Instruction::Code new_opcode = opcode; in ProcessCodeItem() 239 ++opcode_count_[opcode]; in ProcessCodeItem() 240 switch (opcode) { in ProcessCodeItem() 294 const bool is_jumbo = opcode == Instruction::CONST_STRING_JUMBO; in ProcessCodeItem() 304 CHECK(InstNibbles(opcode, {out_reg, idx})); in ProcessCodeItem() 410 ++first_arg_reg_count_[opcode]; in ProcessCodeItem() 415 if (InstNibbles(opcode, new_args)) { in ProcessCodeItem() 432 InstNibbles(opcode, {reg, static_cast<uint16_t>(offset)})) { in ProcessCodeItem() 475 if (opcode == Instruction::NEW_INSTANCE) { in ProcessCodeItem() [all …]
|
/art/runtime/interpreter/mterp/x86_64/ |
D | floating_point.S | 24 jp .L${opcode}_nan_is_${nanval} 25 je .L${opcode}_finish 26 jb .L${opcode}_less 27 .L${opcode}_nan_is_pos: 29 jmp .L${opcode}_finish 30 .L${opcode}_nan_is_neg: 31 .L${opcode}_less: 33 .L${opcode}_finish:
|