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 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
228 const int kNumberOfFpuRegisters = kNumberOfQRegisters; | 228 const int kNumberOfFpuRegisters = kNumberOfQRegisters; |
229 const FpuRegister kNoFpuRegister = kNoQRegister; | 229 const FpuRegister kNoFpuRegister = kNoQRegister; |
230 | 230 |
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 ICREG = R5; // IC data register. | 239 const Register ICREG = R5; // IC data register. |
239 const Register ARGS_DESC_REG = R4; | 240 const Register ARGS_DESC_REG = R4; |
240 | 241 |
241 // R15 encodes APSR in the vmrs instruction. | 242 // R15 encodes APSR in the vmrs instruction. |
242 const Register APSR = R15; | 243 const Register APSR = R15; |
243 | 244 |
244 // Exception object is passed in this register to the catch handlers when an | 245 // Exception object is passed in this register to the catch handlers when an |
245 // exception is thrown. | 246 // exception is thrown. |
246 const Register kExceptionObjectReg = R0; | 247 const Register kExceptionObjectReg = R0; |
247 | 248 |
(...skipping 456 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
704 static Instr* At(uword pc) { return reinterpret_cast<Instr*>(pc); } | 705 static Instr* At(uword pc) { return reinterpret_cast<Instr*>(pc); } |
705 | 706 |
706 private: | 707 private: |
707 DISALLOW_ALLOCATION(); | 708 DISALLOW_ALLOCATION(); |
708 DISALLOW_IMPLICIT_CONSTRUCTORS(Instr); | 709 DISALLOW_IMPLICIT_CONSTRUCTORS(Instr); |
709 }; | 710 }; |
710 | 711 |
711 } // namespace dart | 712 } // namespace dart |
712 | 713 |
713 #endif // VM_CONSTANTS_ARM_H_ | 714 #endif // VM_CONSTANTS_ARM_H_ |
OLD | NEW |