| 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 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 154 const RegList kAllCpuRegistersList = 0xFFFFFFFF; | 154 const RegList kAllCpuRegistersList = 0xFFFFFFFF; |
| 155 | 155 |
| 156 | 156 |
| 157 const RegList kAbiArgumentCpuRegs = | 157 const RegList kAbiArgumentCpuRegs = |
| 158 (1 << A0) | (1 << A1) | (1 << A2) | (1 << A3); | 158 (1 << A0) | (1 << A1) | (1 << A2) | (1 << A3); |
| 159 const RegList kAbiPreservedCpuRegs = | 159 const RegList kAbiPreservedCpuRegs = |
| 160 (1 << S0) | (1 << S1) | (1 << S2) | (1 << S3) | | 160 (1 << S0) | (1 << S1) | (1 << S2) | (1 << S3) | |
| 161 (1 << S4) | (1 << S5) | (1 << S6) | (1 << S7); | 161 (1 << S4) | (1 << S5) | (1 << S6) | (1 << S7); |
| 162 const int kAbiPreservedCpuRegCount = 8; | 162 const int kAbiPreservedCpuRegCount = 8; |
| 163 | 163 |
| 164 | |
| 165 // FPU registers 20 - 31 are preserved across calls. | 164 // FPU registers 20 - 31 are preserved across calls. |
| 166 const FRegister kAbiFirstPreservedFpuReg = F20; | 165 const FRegister kAbiFirstPreservedFpuReg = F20; |
| 167 const FRegister kAbiLastPreservedFpuReg = | 166 const FRegister kAbiLastPreservedFpuReg = |
| 168 static_cast<FRegister>(kNumberOfFRegisters - 1); | 167 static_cast<FRegister>(kNumberOfFRegisters - 1); |
| 169 | 168 |
| 169 // CPU registers available to Dart allocator. |
| 170 const RegList kDartAvailableCpuRegs = |
| 171 (1 << R2) | (1 << R3) | (1 << R4) | (1 << R5) | |
| 172 (1 << R6) | (1 << R7) | (1 << R8) | (1 << R9) | |
| 173 (1 << R10) | (1 << R11) | (1 << R12) | (1 << R13) | |
| 174 (1 << R14) | (1 << R15) | (1 << R16) | (1 << R17) | |
| 175 (1 << R18) | (1 << R19) | (1 << R20) | (1 << R21); |
| 176 const RegList kDartVolatileCpuRegs = |
| 177 kDartAvailableCpuRegs & ~kAbiPreservedCpuRegs; |
| 178 const int kDartVolatileCpuRegCount = 14; |
| 179 const Register kDartFirstVolatileCpuReg = R2; |
| 180 const Register kDartLastVolatileCpuReg = R15; |
| 181 |
| 170 // FPU registers 0 - 19 are not preserved across calls. | 182 // FPU registers 0 - 19 are not preserved across calls. |
| 171 const FRegister kDartFirstVolatileFpuReg = F0; | 183 const FRegister kDartFirstVolatileFpuReg = F0; |
| 172 const FRegister kDartLastVolatileFpuReg = F19; | 184 const FRegister kDartLastVolatileFpuReg = F19; |
| 173 const int kDartVolatileFpuRegCount = 20; | 185 const int kDartVolatileFpuRegCount = 20; |
| 174 | 186 |
| 175 // Dart stack frame layout. | 187 // Dart stack frame layout. |
| 176 static const int kLastParamSlotIndex = 3; | 188 static const int kLastParamSlotIndex = 3; |
| 177 static const int kFirstLocalSlotIndex = -2; | 189 static const int kFirstLocalSlotIndex = -2; |
| 178 | 190 |
| 179 | 191 |
| (...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 481 static Instr* At(uword pc) { return reinterpret_cast<Instr*>(pc); } | 493 static Instr* At(uword pc) { return reinterpret_cast<Instr*>(pc); } |
| 482 | 494 |
| 483 private: | 495 private: |
| 484 DISALLOW_ALLOCATION(); | 496 DISALLOW_ALLOCATION(); |
| 485 DISALLOW_IMPLICIT_CONSTRUCTORS(Instr); | 497 DISALLOW_IMPLICIT_CONSTRUCTORS(Instr); |
| 486 }; | 498 }; |
| 487 | 499 |
| 488 } // namespace dart | 500 } // namespace dart |
| 489 | 501 |
| 490 #endif // VM_CONSTANTS_MIPS_H_ | 502 #endif // VM_CONSTANTS_MIPS_H_ |
| OLD | NEW |