| 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 896 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 907 GetModRm(*data, &mod, ®op, &rm); | 907 GetModRm(*data, &mod, ®op, &rm); |
| 908 Print("movq "); | 908 Print("movq "); |
| 909 PrintXmmRegister(regop); | 909 PrintXmmRegister(regop); |
| 910 Print(","); | 910 Print(","); |
| 911 data += PrintRightOperand(data); | 911 data += PrintRightOperand(data); |
| 912 break; | 912 break; |
| 913 } | 913 } |
| 914 default: | 914 default: |
| 915 UNIMPLEMENTED(); | 915 UNIMPLEMENTED(); |
| 916 } | 916 } |
| 917 } else if (*(data+1) == 0xA4) { |
| 918 Print("rep_movsb"); |
| 919 data += 2; |
| 920 } else { |
| 921 UNIMPLEMENTED(); |
| 917 } | 922 } |
| 918 return data; | 923 return data; |
| 919 } | 924 } |
| 920 | 925 |
| 921 | 926 |
| 922 // Returns number of bytes used, including *data. | 927 // Returns number of bytes used, including *data. |
| 923 int X86Decoder::F7Instruction(uint8_t* data) { | 928 int X86Decoder::F7Instruction(uint8_t* data) { |
| 924 ASSERT(*data == 0xF7); | 929 ASSERT(*data == 0xF7); |
| 925 uint8_t modrm = *(data+1); | 930 uint8_t modrm = *(data+1); |
| 926 int mod, regop, rm; | 931 int mod, regop, rm; |
| (...skipping 875 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1802 pc); | 1807 pc); |
| 1803 pc += instruction_length; | 1808 pc += instruction_length; |
| 1804 } | 1809 } |
| 1805 | 1810 |
| 1806 return; | 1811 return; |
| 1807 } | 1812 } |
| 1808 | 1813 |
| 1809 } // namespace dart | 1814 } // namespace dart |
| 1810 | 1815 |
| 1811 #endif // defined TARGET_ARCH_IA32 | 1816 #endif // defined TARGET_ARCH_IA32 |
| OLD | NEW |