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 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
204 // A few double registers are reserved: one as a scratch register and one to | 204 // A few double registers are reserved: one as a scratch register and one to |
205 // hold 0.0. | 205 // hold 0.0. |
206 // f28: 0.0 | 206 // f28: 0.0 |
207 // f30: scratch register. | 207 // f30: scratch register. |
208 static const int kNumReservedRegisters = 2; | 208 static const int kNumReservedRegisters = 2; |
209 static const int kMaxNumAllocatableRegisters = kMaxNumRegisters / 2 - | 209 static const int kMaxNumAllocatableRegisters = kMaxNumRegisters / 2 - |
210 kNumReservedRegisters; | 210 kNumReservedRegisters; |
211 | 211 |
212 inline static int NumRegisters(); | 212 inline static int NumRegisters(); |
213 inline static int NumAllocatableRegisters(); | 213 inline static int NumAllocatableRegisters(); |
| 214 |
| 215 // TODO(turbofan): Proper support for float32. |
| 216 inline static int NumAllocatableAliasedRegisters(); |
| 217 |
214 inline static int ToAllocationIndex(FPURegister reg); | 218 inline static int ToAllocationIndex(FPURegister reg); |
215 static const char* AllocationIndexToString(int index); | 219 static const char* AllocationIndexToString(int index); |
216 | 220 |
217 static FPURegister FromAllocationIndex(int index) { | 221 static FPURegister FromAllocationIndex(int index) { |
218 DCHECK(index >= 0 && index < kMaxNumAllocatableRegisters); | 222 DCHECK(index >= 0 && index < kMaxNumAllocatableRegisters); |
219 return from_code(index * 2); | 223 return from_code(index * 2); |
220 } | 224 } |
221 | 225 |
222 static FPURegister from_code(int code) { | 226 static FPURegister from_code(int code) { |
223 FPURegister r = { code }; | 227 FPURegister r = { code }; |
(...skipping 1183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1407 class EnsureSpace BASE_EMBEDDED { | 1411 class EnsureSpace BASE_EMBEDDED { |
1408 public: | 1412 public: |
1409 explicit EnsureSpace(Assembler* assembler) { | 1413 explicit EnsureSpace(Assembler* assembler) { |
1410 assembler->CheckBuffer(); | 1414 assembler->CheckBuffer(); |
1411 } | 1415 } |
1412 }; | 1416 }; |
1413 | 1417 |
1414 } } // namespace v8::internal | 1418 } } // namespace v8::internal |
1415 | 1419 |
1416 #endif // V8_ARM_ASSEMBLER_MIPS_H_ | 1420 #endif // V8_ARM_ASSEMBLER_MIPS_H_ |
OLD | NEW |