OLD | NEW |
1 // Copyright (c) 1994-2006 Sun Microsystems Inc. | 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. |
2 // All Rights Reserved. | 2 // All Rights Reserved. |
3 // | 3 // |
4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
5 // modification, are permitted provided that the following conditions | 5 // modification, are permitted provided that the following conditions |
6 // are met: | 6 // are met: |
7 // | 7 // |
8 // - Redistributions of source code must retain the above copyright notice, | 8 // - Redistributions of source code must retain the above copyright notice, |
9 // this list of conditions and the following disclaimer. | 9 // this list of conditions and the following disclaimer. |
10 // | 10 // |
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
211 kNumReservedRegisters; | 211 kNumReservedRegisters; |
212 static const int kSizeInBytes = 8; | 212 static const int kSizeInBytes = 8; |
213 | 213 |
214 // Note: the number of registers can be different at snapshot and run-time. | 214 // Note: the number of registers can be different at snapshot and run-time. |
215 // Any code included in the snapshot must be able to run both with 16 or 32 | 215 // Any code included in the snapshot must be able to run both with 16 or 32 |
216 // registers. | 216 // registers. |
217 inline static int NumRegisters(); | 217 inline static int NumRegisters(); |
218 inline static int NumReservedRegisters(); | 218 inline static int NumReservedRegisters(); |
219 inline static int NumAllocatableRegisters(); | 219 inline static int NumAllocatableRegisters(); |
220 | 220 |
| 221 // TODO(turbofan): This is a temporary work-around required because our |
| 222 // register allocator does not yet support the aliasing of single/double |
| 223 // registers on ARM. |
| 224 inline static int NumAllocatableAliasedRegisters(); |
| 225 |
221 inline static int ToAllocationIndex(DwVfpRegister reg); | 226 inline static int ToAllocationIndex(DwVfpRegister reg); |
222 static const char* AllocationIndexToString(int index); | 227 static const char* AllocationIndexToString(int index); |
223 inline static DwVfpRegister FromAllocationIndex(int index); | 228 inline static DwVfpRegister FromAllocationIndex(int index); |
224 | 229 |
225 static DwVfpRegister from_code(int code) { | 230 static DwVfpRegister from_code(int code) { |
226 DwVfpRegister r = { code }; | 231 DwVfpRegister r = { code }; |
227 return r; | 232 return r; |
228 } | 233 } |
229 | 234 |
230 bool is_valid() const { | 235 bool is_valid() const { |
(...skipping 1431 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1662 public: | 1667 public: |
1663 explicit EnsureSpace(Assembler* assembler) { | 1668 explicit EnsureSpace(Assembler* assembler) { |
1664 assembler->CheckBuffer(); | 1669 assembler->CheckBuffer(); |
1665 } | 1670 } |
1666 }; | 1671 }; |
1667 | 1672 |
1668 | 1673 |
1669 } } // namespace v8::internal | 1674 } } // namespace v8::internal |
1670 | 1675 |
1671 #endif // V8_ARM_ASSEMBLER_ARM_H_ | 1676 #endif // V8_ARM_ASSEMBLER_ARM_H_ |
OLD | NEW |