| 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_ARM_H_ | 5 #ifndef VM_CONSTANTS_ARM_H_ |
| 6 #define VM_CONSTANTS_ARM_H_ | 6 #define VM_CONSTANTS_ARM_H_ |
| 7 | 7 |
| 8 #include "platform/globals.h" | 8 #include "platform/globals.h" |
| 9 #include "platform/assert.h" | 9 #include "platform/assert.h" |
| 10 | 10 |
| (...skipping 19 matching lines...) Expand all Loading... |
| 30 kFirstFreeCpuRegister = 0, | 30 kFirstFreeCpuRegister = 0, |
| 31 R0 = 0, | 31 R0 = 0, |
| 32 R1 = 1, | 32 R1 = 1, |
| 33 R2 = 2, | 33 R2 = 2, |
| 34 R3 = 3, | 34 R3 = 3, |
| 35 R4 = 4, | 35 R4 = 4, |
| 36 R5 = 5, | 36 R5 = 5, |
| 37 R6 = 6, | 37 R6 = 6, |
| 38 R7 = 7, | 38 R7 = 7, |
| 39 R8 = 8, | 39 R8 = 8, |
| 40 kLastFreeCpuRegister = 8, | |
| 41 R9 = 9, | 40 R9 = 9, |
| 42 R10 = 10, | 41 R10 = 10, |
| 43 R11 = 11, | 42 R11 = 11, |
| 44 R12 = 12, | 43 R12 = 12, |
| 45 R13 = 13, | 44 R13 = 13, |
| 46 R14 = 14, | 45 R14 = 14, |
| 46 kLastFreeCpuRegister = 14, |
| 47 R15 = 15, | 47 R15 = 15, |
| 48 FP = 11, | 48 FP = 11, |
| 49 IP = 12, | 49 IP = 12, |
| 50 SP = 13, | 50 SP = 13, |
| 51 LR = 14, | 51 LR = 14, |
| 52 PC = 15, | 52 PC = 15, |
| 53 kNumberOfCpuRegisters = 16, | 53 kNumberOfCpuRegisters = 16, |
| 54 }; | 54 }; |
| 55 | 55 |
| 56 | 56 |
| (...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 259 (1 << R4) | (1 << R5) | (1 << R6) | (1 << R7) | | 259 (1 << R4) | (1 << R5) | (1 << R6) | (1 << R7) | |
| 260 (1 << R8) | (1 << R9) | (1 << R10); | 260 (1 << R8) | (1 << R9) | (1 << R10); |
| 261 const int kAbiPreservedCpuRegCount = 7; | 261 const int kAbiPreservedCpuRegCount = 7; |
| 262 const QRegister kAbiFirstPreservedFpuReg = Q4; | 262 const QRegister kAbiFirstPreservedFpuReg = Q4; |
| 263 const QRegister kAbiLastPreservedFpuReg = Q7; | 263 const QRegister kAbiLastPreservedFpuReg = Q7; |
| 264 const int kAbiPreservedFpuRegCount = 4; | 264 const int kAbiPreservedFpuRegCount = 4; |
| 265 | 265 |
| 266 // CPU registers available to Dart allocator. | 266 // CPU registers available to Dart allocator. |
| 267 const RegList kDartAvailableCpuRegs = | 267 const RegList kDartAvailableCpuRegs = |
| 268 (1 << R0) | (1 << R1) | (1 << R2) | (1 << R3) | | 268 (1 << R0) | (1 << R1) | (1 << R2) | (1 << R3) | |
| 269 (1 << R4) | (1 << R5) | (1 << R6) | (1 << R7) | (1 << R8); | 269 (1 << R4) | (1 << R5) | (1 << R6) | (1 << R7) | |
| 270 (1 << R8) | (1 << R14); |
| 270 | 271 |
| 271 // Registers available to Dart that are not preserved by runtime calls. | 272 // Registers available to Dart that are not preserved by runtime calls. |
| 272 const RegList kDartVolatileCpuRegs = | 273 const RegList kDartVolatileCpuRegs = |
| 273 kDartAvailableCpuRegs & ~kAbiPreservedCpuRegs; | 274 kDartAvailableCpuRegs & ~kAbiPreservedCpuRegs; |
| 274 const int kDartVolatileCpuRegCount = 4; | 275 const int kDartVolatileCpuRegCount = 5; |
| 275 const QRegister kDartFirstVolatileFpuReg = Q0; | 276 const QRegister kDartFirstVolatileFpuReg = Q0; |
| 276 const QRegister kDartLastVolatileFpuReg = Q3; | 277 const QRegister kDartLastVolatileFpuReg = Q3; |
| 277 const int kDartVolatileFpuRegCount = 4; | 278 const int kDartVolatileFpuRegCount = 4; |
| 278 | 279 |
| 279 | 280 |
| 280 // Values for the condition field as defined in section A3.2. | 281 // Values for the condition field as defined in section A3.2. |
| 281 enum Condition { | 282 enum Condition { |
| 282 kNoCondition = -1, | 283 kNoCondition = -1, |
| 283 EQ = 0, // equal | 284 EQ = 0, // equal |
| 284 NE = 1, // not equal | 285 NE = 1, // not equal |
| (...skipping 412 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 697 static Instr* At(uword pc) { return reinterpret_cast<Instr*>(pc); } | 698 static Instr* At(uword pc) { return reinterpret_cast<Instr*>(pc); } |
| 698 | 699 |
| 699 private: | 700 private: |
| 700 DISALLOW_ALLOCATION(); | 701 DISALLOW_ALLOCATION(); |
| 701 DISALLOW_IMPLICIT_CONSTRUCTORS(Instr); | 702 DISALLOW_IMPLICIT_CONSTRUCTORS(Instr); |
| 702 }; | 703 }; |
| 703 | 704 |
| 704 } // namespace dart | 705 } // namespace dart |
| 705 | 706 |
| 706 #endif // VM_CONSTANTS_ARM_H_ | 707 #endif // VM_CONSTANTS_ARM_H_ |
| OLD | NEW |