| 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 { |
| 11 ZR = 0, | 11 ZR = 0, |
| 12 AT = 1, | 12 AT = 1, |
| 13 kFirstFreeCpuRegister = 2, |
| 13 V0 = 2, | 14 V0 = 2, |
| 14 V1 = 3, | 15 V1 = 3, |
| 15 A0 = 4, | 16 A0 = 4, |
| 16 A1 = 5, | 17 A1 = 5, |
| 17 A2 = 6, | 18 A2 = 6, |
| 18 A3 = 7, | 19 A3 = 7, |
| 19 T0 = 8, | 20 T0 = 8, |
| 20 T1 = 9, | 21 T1 = 9, |
| 21 T2 = 10, | 22 T2 = 10, |
| 22 T3 = 11, | 23 T3 = 11, |
| 23 T4 = 12, | 24 T4 = 12, |
| 24 T5 = 13, | 25 T5 = 13, |
| 25 T6 = 14, | 26 T6 = 14, |
| 26 T7 = 15, | 27 T7 = 15, |
| 27 S0 = 16, | 28 S0 = 16, |
| 28 S1 = 17, | 29 S1 = 17, |
| 29 S2 = 18, | 30 S2 = 18, |
| 30 S3 = 19, | 31 S3 = 19, |
| 31 S4 = 20, | 32 S4 = 20, |
| 32 S5 = 21, | 33 S5 = 21, |
| 33 S6 = 22, | 34 S6 = 22, |
| 34 S7 = 23, | 35 S7 = 23, |
| 35 T8 = 24, | 36 T8 = 24, |
| 36 T9 = 25, | 37 T9 = 25, |
| 38 kLastFreeCpuRegister = 25, |
| 37 K0 = 26, | 39 K0 = 26, |
| 38 K1 = 27, | 40 K1 = 27, |
| 39 GP = 28, | 41 GP = 28, |
| 40 SP = 29, | 42 SP = 29, |
| 41 FP = 30, | 43 FP = 30, |
| 42 RA = 31, | 44 RA = 31, |
| 43 kNumberOfCpuRegisters = 32, | 45 kNumberOfCpuRegisters = 32, |
| 44 kNoRegister = -1, | 46 kNoRegister = -1, |
| 45 }; | 47 }; |
| 46 | 48 |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 84 }; | 86 }; |
| 85 | 87 |
| 86 | 88 |
| 87 // Architecture independent aliases. | 89 // Architecture independent aliases. |
| 88 typedef FRegister FpuRegister; | 90 typedef FRegister FpuRegister; |
| 89 const FpuRegister FpuTMP = F0; | 91 const FpuRegister FpuTMP = F0; |
| 90 const int kNumberOfFpuRegisters = kNumberOfFRegisters; | 92 const int kNumberOfFpuRegisters = kNumberOfFRegisters; |
| 91 | 93 |
| 92 | 94 |
| 93 // Register aliases. | 95 // Register aliases. |
| 94 const Register TMP = AT; | 96 const Register TMP = AT; // Used as scratch register by assembler. |
| 95 const Register CTX = S7; // Caches current context in generated code. | 97 const Register CTX = S6; // Caches current context in generated code. |
| 96 const Register SPREG = SP; | 98 const Register PP = S7; // Caches object pool pointer in generated code. |
| 97 const Register FPREG = FP; | 99 const Register SPREG = SP; // Stack pointer register. |
| 100 const Register FPREG = FP; // Frame pointer register. |
| 98 | 101 |
| 99 | 102 |
| 100 // Values for the condition field. // UNIMPLEMENTED. | 103 // Values for the condition field. // UNIMPLEMENTED. |
| 101 enum Condition { | 104 enum Condition { |
| 102 kNoCondition = -1, | 105 kNoCondition = -1, |
| 103 kMaxCondition = 16, | 106 kMaxCondition = 16, |
| 104 }; | 107 }; |
| 105 | 108 |
| 106 } // namespace dart | 109 } // namespace dart |
| 107 | 110 |
| 108 #endif // VM_CONSTANTS_MIPS_H_ | 111 #endif // VM_CONSTANTS_MIPS_H_ |
| OLD | NEW |