OLD | NEW |
1 // Copyright (c) 2013, 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_ARM_H_ | 5 #ifndef VM_CONSTANTS_ARM_H_ |
6 #define VM_CONSTANTS_ARM_H_ | 6 #define VM_CONSTANTS_ARM_H_ |
7 | 7 |
8 #include "platform/globals.h" | 8 #include "platform/globals.h" |
9 #include "platform/assert.h" | 9 #include "platform/assert.h" |
10 | 10 |
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
231 // Register aliases. | 231 // Register aliases. |
232 const Register TMP = IP; // Used as scratch register by assembler. | 232 const Register TMP = IP; // Used as scratch register by assembler. |
233 const Register TMP2 = kNoRegister; // There is no second assembler temporary. | 233 const Register TMP2 = kNoRegister; // There is no second assembler temporary. |
234 const Register CTX = R9; // Location of current context at method entry. | 234 const Register CTX = R9; // Location of current context at method entry. |
235 const Register PP = R10; // Caches object pool pointer in generated code. | 235 const Register PP = R10; // Caches object pool pointer in generated code. |
236 const Register SPREG = SP; // Stack pointer register. | 236 const Register SPREG = SP; // Stack pointer register. |
237 const Register FPREG = FP; // Frame pointer register. | 237 const Register FPREG = FP; // Frame pointer register. |
238 const Register LRREG = LR; // Link register. | 238 const Register LRREG = LR; // Link register. |
239 const Register ICREG = R5; // IC data register. | 239 const Register ICREG = R5; // IC data register. |
240 const Register ARGS_DESC_REG = R4; | 240 const Register ARGS_DESC_REG = R4; |
| 241 const Register THR = R8; // Caches current thread in generated code. |
241 | 242 |
242 // R15 encodes APSR in the vmrs instruction. | 243 // R15 encodes APSR in the vmrs instruction. |
243 const Register APSR = R15; | 244 const Register APSR = R15; |
244 | 245 |
245 // Exception object is passed in this register to the catch handlers when an | 246 // Exception object is passed in this register to the catch handlers when an |
246 // exception is thrown. | 247 // exception is thrown. |
247 const Register kExceptionObjectReg = R0; | 248 const Register kExceptionObjectReg = R0; |
248 | 249 |
249 // Stack trace object is passed in this register to the catch handlers when | 250 // Stack trace object is passed in this register to the catch handlers when |
250 // an exception is thrown. | 251 // an exception is thrown. |
(...skipping 454 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
705 static Instr* At(uword pc) { return reinterpret_cast<Instr*>(pc); } | 706 static Instr* At(uword pc) { return reinterpret_cast<Instr*>(pc); } |
706 | 707 |
707 private: | 708 private: |
708 DISALLOW_ALLOCATION(); | 709 DISALLOW_ALLOCATION(); |
709 DISALLOW_IMPLICIT_CONSTRUCTORS(Instr); | 710 DISALLOW_IMPLICIT_CONSTRUCTORS(Instr); |
710 }; | 711 }; |
711 | 712 |
712 } // namespace dart | 713 } // namespace dart |
713 | 714 |
714 #endif // VM_CONSTANTS_ARM_H_ | 715 #endif // VM_CONSTANTS_ARM_H_ |
OLD | NEW |