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_MIPS_H_ | 5 #ifndef VM_CONSTANTS_MIPS_H_ |
6 #define VM_CONSTANTS_MIPS_H_ | 6 #define VM_CONSTANTS_MIPS_H_ |
7 | 7 |
8 namespace dart { | 8 namespace dart { |
9 | 9 |
10 enum Register { | 10 enum Register { |
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
134 | 134 |
135 | 135 |
136 // Register aliases. | 136 // Register aliases. |
137 const Register TMP = AT; // Used as scratch register by assembler. | 137 const Register TMP = AT; // Used as scratch register by assembler. |
138 const Register CTX = S6; // Caches current context in generated code. | 138 const Register CTX = S6; // Caches current context in generated code. |
139 const Register PP = S7; // Caches object pool pointer in generated code. | 139 const Register PP = S7; // Caches object pool pointer in generated code. |
140 const Register SPREG = SP; // Stack pointer register. | 140 const Register SPREG = SP; // Stack pointer register. |
141 const Register FPREG = FP; // Frame pointer register. | 141 const Register FPREG = FP; // Frame pointer register. |
142 | 142 |
143 | 143 |
| 144 typedef uint32_t RegList; |
| 145 const RegList kAllCpuRegistersList = 0xFFFFFFFF; |
| 146 |
| 147 |
| 148 const RegList kAbiArgumentCpuRegs = |
| 149 (1 << A0) | (1 << A1) | (1 << A2) | (1 << A3); |
| 150 const RegList kAbiPreservedCpuRegs = |
| 151 (1 << S0) | (1 << S1) | (1 << S2) | (1 << S3) | |
| 152 (1 << S4) | (1 << S5) | (1 << S6) | (1 << S7); |
| 153 const int kAbiPreservedCpuRegCount = 8; |
| 154 |
| 155 |
144 // Dart stack frame layout. | 156 // Dart stack frame layout. |
145 static const int kLastParamSlotIndex = 3; | 157 static const int kLastParamSlotIndex = 3; |
146 static const int kFirstLocalSlotIndex = -2; | 158 static const int kFirstLocalSlotIndex = -2; |
147 | 159 |
148 | 160 |
149 // Values for the condition field. // UNIMPLEMENTED. | 161 // Values for the condition field. // UNIMPLEMENTED. |
150 enum Condition { | 162 enum Condition { |
151 kNoCondition = -1, | 163 kNoCondition = -1, |
152 kMaxCondition = 16, | 164 kMaxCondition = 16, |
153 }; | 165 }; |
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
384 static Instr* At(uword pc) { return reinterpret_cast<Instr*>(pc); } | 396 static Instr* At(uword pc) { return reinterpret_cast<Instr*>(pc); } |
385 | 397 |
386 private: | 398 private: |
387 DISALLOW_ALLOCATION(); | 399 DISALLOW_ALLOCATION(); |
388 DISALLOW_IMPLICIT_CONSTRUCTORS(Instr); | 400 DISALLOW_IMPLICIT_CONSTRUCTORS(Instr); |
389 }; | 401 }; |
390 | 402 |
391 } // namespace dart | 403 } // namespace dart |
392 | 404 |
393 #endif // VM_CONSTANTS_MIPS_H_ | 405 #endif // VM_CONSTANTS_MIPS_H_ |
OLD | NEW |