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 #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 { |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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 // Register aliases. | 54 // Register aliases. |
55 const Register TMP = kNoRegister; // No scratch register used by assembler. | 55 const Register TMP = kNoRegister; // No scratch register used by assembler. |
56 const Register CTX = ESI; // Caches current context in generated code. | 56 const Register CTX = ESI; // Caches current context in generated code. |
| 57 const Register SPREG = ESP; |
| 58 const Register FPREG = EBP; |
57 | 59 |
58 // Exception object is passed in this register to the catch handlers when an | 60 // Exception object is passed in this register to the catch handlers when an |
59 // exception is thrown. | 61 // exception is thrown. |
60 const Register kExceptionObjectReg = EAX; | 62 const Register kExceptionObjectReg = EAX; |
61 | 63 |
62 // Stack trace object is passed in this register to the catch handlers when | 64 // Stack trace object is passed in this register to the catch handlers when |
63 // an exception is thrown. | 65 // an exception is thrown. |
64 const Register kStackTraceObjectReg = EDX; | 66 const Register kStackTraceObjectReg = EDX; |
65 | 67 |
66 enum ScaleFactor { | 68 enum ScaleFactor { |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
121 }; | 123 }; |
122 | 124 |
123 | 125 |
124 // The largest multibyte nop we will emit. This could go up to 15 if it | 126 // The largest multibyte nop we will emit. This could go up to 15 if it |
125 // becomes important to us. | 127 // becomes important to us. |
126 const int MAX_NOP_SIZE = 8; | 128 const int MAX_NOP_SIZE = 8; |
127 | 129 |
128 } // namespace dart | 130 } // namespace dart |
129 | 131 |
130 #endif // VM_CONSTANTS_IA32_H_ | 132 #endif // VM_CONSTANTS_IA32_H_ |
OLD | NEW |