OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 #ifndef VM_CONSTANTS_IA32_H_ | 5 #ifndef VM_CONSTANTS_IA32_H_ |
6 #define VM_CONSTANTS_IA32_H_ | 6 #define VM_CONSTANTS_IA32_H_ |
7 | 7 |
8 #include "platform/assert.h" | 8 #include "platform/assert.h" |
9 | 9 |
10 namespace dart { | 10 namespace dart { |
11 | 11 |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
44 XMM3 = 3, | 44 XMM3 = 3, |
45 XMM4 = 4, | 45 XMM4 = 4, |
46 XMM5 = 5, | 46 XMM5 = 5, |
47 XMM6 = 6, | 47 XMM6 = 6, |
48 XMM7 = 7, | 48 XMM7 = 7, |
49 kNumberOfXmmRegisters = 8, | 49 kNumberOfXmmRegisters = 8, |
50 kNoXmmRegister = -1 // Signals an illegal register. | 50 kNoXmmRegister = -1 // Signals an illegal register. |
51 }; | 51 }; |
52 | 52 |
53 | 53 |
| 54 // Architecture independent aliases. |
| 55 typedef XmmRegister FpuRegister; |
| 56 const FpuRegister FpuTMP = XMM0; |
| 57 const int kNumberOfFpuRegisters = kNumberOfXmmRegisters; |
| 58 |
| 59 |
54 // Register aliases. | 60 // Register aliases. |
55 const Register TMP = kNoRegister; // No scratch register used by assembler. | 61 const Register TMP = kNoRegister; // No scratch register used by assembler. |
56 const Register CTX = ESI; // Caches current context in generated code. | 62 const Register CTX = ESI; // Caches current context in generated code. |
57 const Register SPREG = ESP; | 63 const Register SPREG = ESP; |
58 const Register FPREG = EBP; | 64 const Register FPREG = EBP; |
59 | 65 |
60 // Exception object is passed in this register to the catch handlers when an | 66 // Exception object is passed in this register to the catch handlers when an |
61 // exception is thrown. | 67 // exception is thrown. |
62 const Register kExceptionObjectReg = EAX; | 68 const Register kExceptionObjectReg = EAX; |
63 | 69 |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
126 }; | 132 }; |
127 | 133 |
128 | 134 |
129 // The largest multibyte nop we will emit. This could go up to 15 if it | 135 // The largest multibyte nop we will emit. This could go up to 15 if it |
130 // becomes important to us. | 136 // becomes important to us. |
131 const int MAX_NOP_SIZE = 8; | 137 const int MAX_NOP_SIZE = 8; |
132 | 138 |
133 } // namespace dart | 139 } // namespace dart |
134 | 140 |
135 #endif // VM_CONSTANTS_IA32_H_ | 141 #endif // VM_CONSTANTS_IA32_H_ |
OLD | NEW |