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 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
224 // Architecture independent aliases. | 224 // Architecture independent aliases. |
225 typedef QRegister FpuRegister; | 225 typedef QRegister FpuRegister; |
226 | 226 |
227 const FpuRegister FpuTMP = QTMP; | 227 const FpuRegister FpuTMP = QTMP; |
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 = R10; // Location of current context at method entry. | 234 const Register CTX = R6; // Location of current context at method entry. |
235 const Register PP = R9; // Caches object pool pointer in generated code. | 235 const Register PP = R5; // 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 = R9; // IC data register. |
240 const Register ARGS_DESC_REG = R4; | 240 const Register ARGS_DESC_REG = R4; |
241 const Register CODE_REG = R10; | 241 const Register CODE_REG = R6; |
242 const Register THR = R8; // Caches current thread in generated code. | 242 const Register THR = R10; // Caches current thread in generated code. |
243 | 243 |
244 // R15 encodes APSR in the vmrs instruction. | 244 // R15 encodes APSR in the vmrs instruction. |
245 const Register APSR = R15; | 245 const Register APSR = R15; |
246 | 246 |
247 // Exception object is passed in this register to the catch handlers when an | 247 // Exception object is passed in this register to the catch handlers when an |
248 // exception is thrown. | 248 // exception is thrown. |
249 const Register kExceptionObjectReg = R0; | 249 const Register kExceptionObjectReg = R0; |
250 | 250 |
251 // Stack trace object is passed in this register to the catch handlers when | 251 // Stack trace object is passed in this register to the catch handlers when |
252 // an exception is thrown. | 252 // an exception is thrown. |
(...skipping 458 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
711 static Instr* At(uword pc) { return reinterpret_cast<Instr*>(pc); } | 711 static Instr* At(uword pc) { return reinterpret_cast<Instr*>(pc); } |
712 | 712 |
713 private: | 713 private: |
714 DISALLOW_ALLOCATION(); | 714 DISALLOW_ALLOCATION(); |
715 DISALLOW_IMPLICIT_CONSTRUCTORS(Instr); | 715 DISALLOW_IMPLICIT_CONSTRUCTORS(Instr); |
716 }; | 716 }; |
717 | 717 |
718 } // namespace dart | 718 } // namespace dart |
719 | 719 |
720 #endif // VM_CONSTANTS_ARM_H_ | 720 #endif // VM_CONSTANTS_ARM_H_ |
OLD | NEW |