| 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/assert.h" | 8 #include "platform/assert.h" |
| 9 | 9 |
| 10 namespace dart { | 10 namespace dart { |
| (...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 136 const FpuRegister kNoFpuRegister = kNoDRegister; | 136 const FpuRegister kNoFpuRegister = kNoDRegister; |
| 137 | 137 |
| 138 | 138 |
| 139 // Register aliases. | 139 // Register aliases. |
| 140 const Register TMP = IP; // Used as scratch register by assembler. | 140 const Register TMP = IP; // Used as scratch register by assembler. |
| 141 const Register CTX = R9; // Caches current context in generated code. | 141 const Register CTX = R9; // Caches current context in generated code. |
| 142 const Register PP = R10; // Caches object pool pointer in generated code. | 142 const Register PP = R10; // Caches object pool pointer in generated code. |
| 143 const Register SPREG = SP; // Stack pointer register. | 143 const Register SPREG = SP; // Stack pointer register. |
| 144 const Register FPREG = FP; // Frame pointer register. | 144 const Register FPREG = FP; // Frame pointer register. |
| 145 | 145 |
| 146 | |
| 147 // Exception object is passed in this register to the catch handlers when an | 146 // Exception object is passed in this register to the catch handlers when an |
| 148 // exception is thrown. | 147 // exception is thrown. |
| 149 const Register kExceptionObjectReg = R0; // Unimplemented. | 148 const Register kExceptionObjectReg = R0; |
| 149 |
| 150 // Stack trace object is passed in this register to the catch handlers when |
| 151 // an exception is thrown. |
| 152 const Register kStackTraceObjectReg = R1; |
| 150 | 153 |
| 151 | 154 |
| 152 // List of registers used in load/store multiple. | 155 // List of registers used in load/store multiple. |
| 153 typedef uint16_t RegList; | 156 typedef uint16_t RegList; |
| 154 const RegList kAllCpuRegistersList = 0xFFFF; | 157 const RegList kAllCpuRegistersList = 0xFFFF; |
| 155 | 158 |
| 156 | 159 |
| 157 // C++ ABI call registers. | 160 // C++ ABI call registers. |
| 158 const RegList kAbiArgumentCpuRegs = | 161 const RegList kAbiArgumentCpuRegs = |
| 159 (1 << R0) | (1 << R1) | (1 << R2) | (1 << R3); | 162 (1 << R0) | (1 << R1) | (1 << R2) | (1 << R3); |
| (...skipping 404 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 564 static Instr* At(uword pc) { return reinterpret_cast<Instr*>(pc); } | 567 static Instr* At(uword pc) { return reinterpret_cast<Instr*>(pc); } |
| 565 | 568 |
| 566 private: | 569 private: |
| 567 DISALLOW_ALLOCATION(); | 570 DISALLOW_ALLOCATION(); |
| 568 DISALLOW_IMPLICIT_CONSTRUCTORS(Instr); | 571 DISALLOW_IMPLICIT_CONSTRUCTORS(Instr); |
| 569 }; | 572 }; |
| 570 | 573 |
| 571 } // namespace dart | 574 } // namespace dart |
| 572 | 575 |
| 573 #endif // VM_CONSTANTS_ARM_H_ | 576 #endif // VM_CONSTANTS_ARM_H_ |
| OLD | NEW |