| 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 |