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 are | 5 // modification, are permitted provided that the following conditions are |
6 // met: | 6 // 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 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
215 // A few double registers are reserved: one as a scratch register and one to | 215 // A few double registers are reserved: one as a scratch register and one to |
216 // hold 0.0. | 216 // hold 0.0. |
217 // f28: 0.0 | 217 // f28: 0.0 |
218 // f30: scratch register. | 218 // f30: scratch register. |
219 static const int kNumReservedRegisters = 2; | 219 static const int kNumReservedRegisters = 2; |
220 static const int kMaxNumAllocatableRegisters = kMaxNumRegisters / 2 - | 220 static const int kMaxNumAllocatableRegisters = kMaxNumRegisters / 2 - |
221 kNumReservedRegisters; | 221 kNumReservedRegisters; |
222 | 222 |
223 inline static int NumRegisters(); | 223 inline static int NumRegisters(); |
224 inline static int NumAllocatableRegisters(); | 224 inline static int NumAllocatableRegisters(); |
| 225 |
| 226 // TODO(turbofan): Proper support for float32. |
| 227 inline static int NumAllocatableAliasedRegisters(); |
| 228 |
225 inline static int ToAllocationIndex(FPURegister reg); | 229 inline static int ToAllocationIndex(FPURegister reg); |
226 static const char* AllocationIndexToString(int index); | 230 static const char* AllocationIndexToString(int index); |
227 | 231 |
228 static FPURegister FromAllocationIndex(int index) { | 232 static FPURegister FromAllocationIndex(int index) { |
229 DCHECK(index >= 0 && index < kMaxNumAllocatableRegisters); | 233 DCHECK(index >= 0 && index < kMaxNumAllocatableRegisters); |
230 return from_code(index * 2); | 234 return from_code(index * 2); |
231 } | 235 } |
232 | 236 |
233 static FPURegister from_code(int code) { | 237 static FPURegister from_code(int code) { |
234 FPURegister r = { code }; | 238 FPURegister r = { code }; |
(...skipping 1135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1370 class EnsureSpace BASE_EMBEDDED { | 1374 class EnsureSpace BASE_EMBEDDED { |
1371 public: | 1375 public: |
1372 explicit EnsureSpace(Assembler* assembler) { | 1376 explicit EnsureSpace(Assembler* assembler) { |
1373 assembler->CheckBuffer(); | 1377 assembler->CheckBuffer(); |
1374 } | 1378 } |
1375 }; | 1379 }; |
1376 | 1380 |
1377 } } // namespace v8::internal | 1381 } } // namespace v8::internal |
1378 | 1382 |
1379 #endif // V8_ARM_ASSEMBLER_MIPS_H_ | 1383 #endif // V8_ARM_ASSEMBLER_MIPS_H_ |
OLD | NEW |