OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // A Disassembler object is used to disassemble a block of code instruction by | 5 // A Disassembler object is used to disassemble a block of code instruction by |
6 // instruction. The default implementation of the NameConverter object can be | 6 // instruction. The default implementation of the NameConverter object can be |
7 // overriden to modify register names or to do symbol lookup on addresses. | 7 // overriden to modify register names or to do symbol lookup on addresses. |
8 // | 8 // |
9 // The example below will disassemble a block of code and print it to stdout. | 9 // The example below will disassemble a block of code and print it to stdout. |
10 // | 10 // |
(...skipping 499 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
510 return 3 * Instruction::kInstrSize; | 510 return 3 * Instruction::kInstrSize; |
511 } else { | 511 } else { |
512 Format(instr, "break, code: 'code"); | 512 Format(instr, "break, code: 'code"); |
513 return Instruction::kInstrSize; | 513 return Instruction::kInstrSize; |
514 } | 514 } |
515 } | 515 } |
516 | 516 |
517 | 517 |
518 bool Decoder::DecodeTypeRegisterRsType(Instruction* instr) { | 518 bool Decoder::DecodeTypeRegisterRsType(Instruction* instr) { |
519 switch (instr->FunctionFieldRaw()) { | 519 switch (instr->FunctionFieldRaw()) { |
| 520 case RINT: |
| 521 Format(instr, "rint.'t 'fd, 'fs"); |
| 522 break; |
520 case SELEQZ_C: | 523 case SELEQZ_C: |
521 Format(instr, "seleqz.'t 'fd, 'fs, 'ft"); | 524 Format(instr, "seleqz.'t 'fd, 'fs, 'ft"); |
522 break; | 525 break; |
523 case SELNEZ_C: | 526 case SELNEZ_C: |
524 Format(instr, "selnez.'t 'fd, 'fs, 'ft"); | 527 Format(instr, "selnez.'t 'fd, 'fs, 'ft"); |
525 break; | 528 break; |
526 case MIN: | 529 case MIN: |
527 Format(instr, "min.'t 'fd, 'fs, 'ft"); | 530 Format(instr, "min.'t 'fd, 'fs, 'ft"); |
528 break; | 531 break; |
529 case MAX: | 532 case MAX: |
(...skipping 1008 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1538 prev_pc, *reinterpret_cast<int32_t*>(prev_pc), buffer.start()); | 1541 prev_pc, *reinterpret_cast<int32_t*>(prev_pc), buffer.start()); |
1539 } | 1542 } |
1540 } | 1543 } |
1541 | 1544 |
1542 | 1545 |
1543 #undef UNSUPPORTED | 1546 #undef UNSUPPORTED |
1544 | 1547 |
1545 } // namespace disasm | 1548 } // namespace disasm |
1546 | 1549 |
1547 #endif // V8_TARGET_ARCH_MIPS64 | 1550 #endif // V8_TARGET_ARCH_MIPS64 |
OLD | NEW |