Lines Matching refs:instruction
28 // A Disassembler object is used to disassemble a block of code instruction by
29 // instruction. The default implementation of the NameConverter object can be
88 // Writes one disassembled instruction into 'buffer' (0-terminated).
89 // Returns the length of the disassembled machine instruction in bytes.
90 int InstructionDecode(byte* instruction);
104 int FormatVFPRegister(Instruction* instr, const char* format);
105 void PrintMovwMovt(Instruction* instr);
106 int FormatVFPinstruction(Instruction* instr, const char* format);
107 void PrintCondition(Instruction* instr);
108 void PrintShiftRm(Instruction* instr);
109 void PrintShiftImm(Instruction* instr);
110 void PrintShiftSat(Instruction* instr);
111 void PrintPU(Instruction* instr);
115 int FormatRegister(Instruction* instr, const char* option);
116 int FormatOption(Instruction* instr, const char* option);
117 void Format(Instruction* instr, const char* format);
118 void Unknown(Instruction* instr);
120 // Each of these functions decodes one particular instruction type, a 3-bit
121 // field in the instruction encoding.
124 void DecodeType01(Instruction* instr);
125 void DecodeType2(Instruction* instr);
126 void DecodeType3(Instruction* instr);
127 void DecodeType4(Instruction* instr);
128 void DecodeType5(Instruction* instr);
129 void DecodeType6(Instruction* instr);
131 int DecodeType7(Instruction* instr);
133 void DecodeTypeVFP(Instruction* instr);
134 void DecodeType6CoprocessorIns(Instruction* instr);
136 void DecodeVMOVBetweenCoreAndSinglePrecisionRegisters(Instruction* instr);
137 void DecodeVCMP(Instruction* instr);
138 void DecodeVCVTBetweenDoubleAndSingle(Instruction* instr);
139 void DecodeVCVTBetweenFloatingPointAndInteger(Instruction* instr);
179 // Print the condition guarding the instruction.
180 void Decoder::PrintCondition(Instruction* instr) {
208 // Print the register shift operands for the instruction. Generally used for
210 void Decoder::PrintShiftRm(Instruction* instr) {
244 // Print the immediate operand for the instruction. Generally used for data
246 void Decoder::PrintShiftImm(Instruction* instr) {
256 void Decoder::PrintShiftSat(Instruction* instr) {
268 void Decoder::PrintPU(Instruction* instr) {
322 int Decoder::FormatRegister(Instruction* instr, const char* format) {
371 int Decoder::FormatVFPRegister(Instruction* instr, const char* format) {
405 int Decoder::FormatVFPinstruction(Instruction* instr, const char* format) {
411 // Print the movw or movt instruction.
412 void Decoder::PrintMovwMovt(Instruction* instr) {
426 int Decoder::FormatOption(Instruction* instr, const char* format) {
607 // instruction overview on page A3.16.2. The instructions that
615 // arbitrary ways that are unrelated to the signedness of the instruction.
648 // Format takes a formatting string for a whole instruction and prints it into
651 void Decoder::Format(Instruction* instr, const char* format) {
666 // it to crash if the data does not ressemble any known instruction.
675 // which will just print "unknown" of the instruction bits.
676 void Decoder::Unknown(Instruction* instr) {
681 void Decoder::DecodeType01(Instruction* instr) {
684 // multiply instruction or extra loads and stores
690 // The MUL instruction description (A 4.1.33) refers to Rd as being
695 // The MLA instruction description (A 4.1.28) refers to the order
921 void Decoder::DecodeType2(Instruction* instr) {
956 void Decoder::DecodeType3(Instruction* instr) {
1020 void Decoder::DecodeType4(Instruction* instr) {
1034 void Decoder::DecodeType5(Instruction* instr) {
1039 void Decoder::DecodeType6(Instruction* instr) {
1044 int Decoder::DecodeType7(Instruction* instr) {
1053 + Instruction::kInstrSize),
1055 + Instruction::kInstrSize),
1057 + Instruction::kInstrSize));
1058 // We have decoded 2 * Instruction::kInstrSize bytes.
1059 return 2 * Instruction::kInstrSize;
1066 return Instruction::kInstrSize;
1070 // void Decoder::DecodeTypeVFP(Instruction* instr)
1085 void Decoder::DecodeTypeVFP(Instruction* instr) {
1177 Instruction* instr) {
1191 void Decoder::DecodeVCMP(Instruction* instr) {
1214 void Decoder::DecodeVCVTBetweenDoubleAndSingle(Instruction* instr) {
1228 void Decoder::DecodeVCVTBetweenFloatingPointAndInteger(Instruction* instr) {
1276 void Decoder::DecodeType6CoprocessorIns(Instruction* instr) {
1377 // Disassemble the instruction at *instr_ptr into the output buffer.
1379 Instruction* instr = Instruction::At(instr_ptr);
1380 // Print raw instruction bytes.
1386 return Instruction::kInstrSize;
1394 return Instruction::kInstrSize;
1431 return Instruction::kInstrSize;
1489 byte* instruction) {
1491 return d.InstructionDecode(instruction);
1495 int Disassembler::ConstantPoolSizeAt(byte* instruction) {
1496 return v8::internal::Decoder::ConstantPoolSizeAt(instruction);