OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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 706 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
717 break; | 717 break; |
718 case CGR: | 718 case CGR: |
719 Format(instr, "cgr\t'r5,'r6"); | 719 Format(instr, "cgr\t'r5,'r6"); |
720 break; | 720 break; |
721 case CLGR: | 721 case CLGR: |
722 Format(instr, "clgr\t'r5,'r6"); | 722 Format(instr, "clgr\t'r5,'r6"); |
723 break; | 723 break; |
724 case LLGFR: | 724 case LLGFR: |
725 Format(instr, "llgfr\t'r5,'r6"); | 725 Format(instr, "llgfr\t'r5,'r6"); |
726 break; | 726 break; |
| 727 case POPCNT_Z: |
| 728 Format(instr, "popcnt\t'r5,'r6"); |
| 729 break; |
| 730 case LLGCR: |
| 731 Format(instr, "llgcr\t'r5,'r6"); |
| 732 break; |
| 733 case LLCR: |
| 734 Format(instr, "llcr\t'r5,'r6"); |
| 735 break; |
727 case LBR: | 736 case LBR: |
728 Format(instr, "lbr\t'r5,'r6"); | 737 Format(instr, "lbr\t'r5,'r6"); |
729 break; | 738 break; |
730 case LEDBR: | 739 case LEDBR: |
731 Format(instr, "ledbr\t'f5,'f6"); | 740 Format(instr, "ledbr\t'f5,'f6"); |
732 break; | 741 break; |
733 case LDEBR: | 742 case LDEBR: |
734 Format(instr, "ldebr\t'f5,'f6"); | 743 Format(instr, "ldebr\t'f5,'f6"); |
735 break; | 744 break; |
736 case LTGR: | 745 case LTGR: |
(...skipping 785 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1522 byte* prev_pc = pc; | 1531 byte* prev_pc = pc; |
1523 pc += d.InstructionDecode(buffer, pc); | 1532 pc += d.InstructionDecode(buffer, pc); |
1524 v8::internal::PrintF(f, "%p %08x %s\n", static_cast<void*>(prev_pc), | 1533 v8::internal::PrintF(f, "%p %08x %s\n", static_cast<void*>(prev_pc), |
1525 *reinterpret_cast<int32_t*>(prev_pc), buffer.start()); | 1534 *reinterpret_cast<int32_t*>(prev_pc), buffer.start()); |
1526 } | 1535 } |
1527 } | 1536 } |
1528 | 1537 |
1529 } // namespace disasm | 1538 } // namespace disasm |
1530 | 1539 |
1531 #endif // V8_TARGET_ARCH_S390 | 1540 #endif // V8_TARGET_ARCH_S390 |
OLD | NEW |