OLD | NEW |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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_ARM64_H_ | 5 #ifndef VM_CONSTANTS_ARM64_H_ |
6 #define VM_CONSTANTS_ARM64_H_ | 6 #define VM_CONSTANTS_ARM64_H_ |
7 | 7 |
8 #include "platform/assert.h" | 8 #include "platform/assert.h" |
9 | 9 |
10 namespace dart { | 10 namespace dart { |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
107 const FpuRegister kNoFpuRegister = kNoVRegister; | 107 const FpuRegister kNoFpuRegister = kNoVRegister; |
108 | 108 |
109 // Register aliases. | 109 // Register aliases. |
110 const Register TMP = R16; // Used as scratch register by assembler. | 110 const Register TMP = R16; // Used as scratch register by assembler. |
111 const Register TMP2 = R17; | 111 const Register TMP2 = R17; |
112 const Register CTX = R28; // Location of current context at method entry. | 112 const Register CTX = R28; // Location of current context at method entry. |
113 const Register PP = R27; // Caches object pool pointer in generated code. | 113 const Register PP = R27; // Caches object pool pointer in generated code. |
114 const Register kNoPP = kNoRegister; | 114 const Register kNoPP = kNoRegister; |
115 const Register FPREG = FP; // Frame pointer register. | 115 const Register FPREG = FP; // Frame pointer register. |
116 const Register SPREG = R18; // Stack pointer register. | 116 const Register SPREG = R18; // Stack pointer register. |
| 117 const Register LRREG = LR; // Link register. |
117 const Register ICREG = R5; // IC data register. | 118 const Register ICREG = R5; // IC data register. |
118 const Register ARGS_DESC_REG = R4; // Arguments descriptor register. | 119 const Register ARGS_DESC_REG = R4; // Arguments descriptor register. |
119 | 120 |
120 // Exception object is passed in this register to the catch handlers when an | 121 // Exception object is passed in this register to the catch handlers when an |
121 // exception is thrown. | 122 // exception is thrown. |
122 const Register kExceptionObjectReg = R0; | 123 const Register kExceptionObjectReg = R0; |
123 | 124 |
124 // Stack trace object is passed in this register to the catch handlers when | 125 // Stack trace object is passed in this register to the catch handlers when |
125 // an exception is thrown. | 126 // an exception is thrown. |
126 const Register kStackTraceObjectReg = R1; | 127 const Register kStackTraceObjectReg = R1; |
(...skipping 931 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1058 static Instr* At(uword pc) { return reinterpret_cast<Instr*>(pc); } | 1059 static Instr* At(uword pc) { return reinterpret_cast<Instr*>(pc); } |
1059 | 1060 |
1060 private: | 1061 private: |
1061 DISALLOW_ALLOCATION(); | 1062 DISALLOW_ALLOCATION(); |
1062 DISALLOW_IMPLICIT_CONSTRUCTORS(Instr); | 1063 DISALLOW_IMPLICIT_CONSTRUCTORS(Instr); |
1063 }; | 1064 }; |
1064 | 1065 |
1065 } // namespace dart | 1066 } // namespace dart |
1066 | 1067 |
1067 #endif // VM_CONSTANTS_ARM64_H_ | 1068 #endif // VM_CONSTANTS_ARM64_H_ |
OLD | NEW |