| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #include "vm/disassembler.h" | 5 #include "vm/disassembler.h" |
| 6 | 6 |
| 7 #include "vm/globals.h" // Needed here to get TARGET_ARCH_IA32. | 7 #include "vm/globals.h" // Needed here to get TARGET_ARCH_IA32. |
| 8 #if defined(TARGET_ARCH_IA32) | 8 #if defined(TARGET_ARCH_IA32) |
| 9 #include "platform/utils.h" | 9 #include "platform/utils.h" |
| 10 #include "vm/allocation.h" | 10 #include "vm/allocation.h" |
| (...skipping 711 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 722 case 1: mnem = "or"; break; | 722 case 1: mnem = "or"; break; |
| 723 case 2: mnem = "adc"; break; | 723 case 2: mnem = "adc"; break; |
| 724 case 3: mnem = "sbb"; break; | 724 case 3: mnem = "sbb"; break; |
| 725 case 4: mnem = "and"; break; | 725 case 4: mnem = "and"; break; |
| 726 case 5: mnem = "sub"; break; | 726 case 5: mnem = "sub"; break; |
| 727 case 6: mnem = "xor"; break; | 727 case 6: mnem = "xor"; break; |
| 728 case 7: mnem = "cmp"; break; | 728 case 7: mnem = "cmp"; break; |
| 729 default: UNIMPLEMENTED(); | 729 default: UNIMPLEMENTED(); |
| 730 } | 730 } |
| 731 Print(mnem); | 731 Print(mnem); |
| 732 if (size_override) { | |
| 733 Print("_w"); | |
| 734 } else if (sign_extension_bit) { | |
| 735 Print("_b"); | |
| 736 } | |
| 737 Print(" "); | 732 Print(" "); |
| 738 int count = PrintRightOperand(data+1); | 733 int count = PrintRightOperand(data+1); |
| 739 Print(","); | 734 Print(","); |
| 740 if (size_override) { | 735 if (size_override) { |
| 741 PrintHex(*reinterpret_cast<int16_t*>(data + 1 + count)); | 736 PrintHex(*reinterpret_cast<int16_t*>(data + 1 + count)); |
| 742 return 1 + count + 2 /*int16_t*/; | 737 return 1 + count + 2 /*int16_t*/; |
| 743 } else if (sign_extension_bit) { | 738 } else if (sign_extension_bit) { |
| 744 PrintHex(*(data + 1 + count)); | 739 PrintHex(*(data + 1 + count)); |
| 745 return 1 + count + 1 /*int8_t*/; | 740 return 1 + count + 1 /*int8_t*/; |
| 746 } else { | 741 } else { |
| (...skipping 1127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1874 } | 1869 } |
| 1875 hex_buffer[hex_index] = '\0'; | 1870 hex_buffer[hex_index] = '\0'; |
| 1876 if (out_instr_len) { | 1871 if (out_instr_len) { |
| 1877 *out_instr_len = instruction_length; | 1872 *out_instr_len = instruction_length; |
| 1878 } | 1873 } |
| 1879 } | 1874 } |
| 1880 | 1875 |
| 1881 } // namespace dart | 1876 } // namespace dart |
| 1882 | 1877 |
| 1883 #endif // defined TARGET_ARCH_IA32 | 1878 #endif // defined TARGET_ARCH_IA32 |
| OLD | NEW |