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/assert.h" | 8 #include "platform/assert.h" |
9 | 9 |
10 namespace dart { | 10 namespace dart { |
11 | 11 |
12 // We support both VFPv3-D16 and VFPv3-D32 profiles, but currently only one at | 12 // We support both VFPv3-D16 and VFPv3-D32 profiles, but currently only one at |
13 // a time. | 13 // a time. |
14 #define VFPv3_D16 | 14 // TODO(zra): Detect number of registers at runtime by querying /proc/cpuinfo. |
| 15 #define VFPv3_D32 |
15 #if defined(VFPv3_D16) == defined(VFPv3_D32) | 16 #if defined(VFPv3_D16) == defined(VFPv3_D32) |
16 #error "Exactly one of VFPv3_D16 or VFPv3_D32 can be defined at a time." | 17 #error "Exactly one of VFPv3_D16 or VFPv3_D32 can be defined at a time." |
17 #endif | 18 #endif |
18 | 19 |
19 | 20 |
20 enum Register { | 21 enum Register { |
21 kFirstFreeCpuRegister = 0, | 22 kFirstFreeCpuRegister = 0, |
22 R0 = 0, | 23 R0 = 0, |
23 R1 = 1, | 24 R1 = 1, |
24 R2 = 2, | 25 R2 = 2, |
(...skipping 624 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
649 static Instr* At(uword pc) { return reinterpret_cast<Instr*>(pc); } | 650 static Instr* At(uword pc) { return reinterpret_cast<Instr*>(pc); } |
650 | 651 |
651 private: | 652 private: |
652 DISALLOW_ALLOCATION(); | 653 DISALLOW_ALLOCATION(); |
653 DISALLOW_IMPLICIT_CONSTRUCTORS(Instr); | 654 DISALLOW_IMPLICIT_CONSTRUCTORS(Instr); |
654 }; | 655 }; |
655 | 656 |
656 } // namespace dart | 657 } // namespace dart |
657 | 658 |
658 #endif // VM_CONSTANTS_ARM_H_ | 659 #endif // VM_CONSTANTS_ARM_H_ |
OLD | NEW |