OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_ARM64_ASSEMBLER_ARM64_H_ | 5 #ifndef V8_ARM64_ASSEMBLER_ARM64_H_ |
6 #define V8_ARM64_ASSEMBLER_ARM64_H_ | 6 #define V8_ARM64_ASSEMBLER_ARM64_H_ |
7 | 7 |
8 #include <deque> | 8 #include <deque> |
9 #include <list> | 9 #include <list> |
10 #include <map> | 10 #include <map> |
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
148 } | 148 } |
149 | 149 |
150 Register(const Register& r) { // NOLINT(runtime/explicit) | 150 Register(const Register& r) { // NOLINT(runtime/explicit) |
151 reg_code = r.reg_code; | 151 reg_code = r.reg_code; |
152 reg_size = r.reg_size; | 152 reg_size = r.reg_size; |
153 reg_type = r.reg_type; | 153 reg_type = r.reg_type; |
154 DCHECK(IsValidOrNone()); | 154 DCHECK(IsValidOrNone()); |
155 } | 155 } |
156 | 156 |
157 const char* ToString(); | 157 const char* ToString(); |
158 bool IsAllocatable() const; | 158 bool IsAllocatable(RegisterConfiguration::CompilerSelector compiler = |
| 159 RegisterConfiguration::CRANKSHAFT) const; |
159 bool IsValid() const { | 160 bool IsValid() const { |
160 DCHECK(IsRegister() || IsNone()); | 161 DCHECK(IsRegister() || IsNone()); |
161 return IsValidRegister(); | 162 return IsValidRegister(); |
162 } | 163 } |
163 | 164 |
164 static Register XRegFromCode(unsigned code); | 165 static Register XRegFromCode(unsigned code); |
165 static Register WRegFromCode(unsigned code); | 166 static Register WRegFromCode(unsigned code); |
166 | 167 |
167 // Start of V8 compatibility section --------------------- | 168 // Start of V8 compatibility section --------------------- |
168 // These memebers are necessary for compilation. | 169 // These memebers are necessary for compilation. |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
224 } | 225 } |
225 | 226 |
226 FPRegister(const FPRegister& r) { // NOLINT(runtime/explicit) | 227 FPRegister(const FPRegister& r) { // NOLINT(runtime/explicit) |
227 reg_code = r.reg_code; | 228 reg_code = r.reg_code; |
228 reg_size = r.reg_size; | 229 reg_size = r.reg_size; |
229 reg_type = r.reg_type; | 230 reg_type = r.reg_type; |
230 DCHECK(IsValidOrNone()); | 231 DCHECK(IsValidOrNone()); |
231 } | 232 } |
232 | 233 |
233 const char* ToString(); | 234 const char* ToString(); |
234 bool IsAllocatable() const; | 235 bool IsAllocatable(RegisterConfiguration::CompilerSelector compiler = |
| 236 RegisterConfiguration::CRANKSHAFT) const; |
235 bool IsValid() const { | 237 bool IsValid() const { |
236 DCHECK(IsFPRegister() || IsNone()); | 238 DCHECK(IsFPRegister() || IsNone()); |
237 return IsValidFPRegister(); | 239 return IsValidFPRegister(); |
238 } | 240 } |
239 | 241 |
240 static FPRegister SRegFromCode(unsigned code); | 242 static FPRegister SRegFromCode(unsigned code); |
241 static FPRegister DRegFromCode(unsigned code); | 243 static FPRegister DRegFromCode(unsigned code); |
242 | 244 |
243 // Start of V8 compatibility section --------------------- | 245 // Start of V8 compatibility section --------------------- |
244 static const int kMaxNumRegisters = kNumberOfFPRegisters; | 246 static const int kMaxNumRegisters = kNumberOfFPRegisters; |
(...skipping 1991 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2236 public: | 2238 public: |
2237 explicit EnsureSpace(Assembler* assembler) { | 2239 explicit EnsureSpace(Assembler* assembler) { |
2238 assembler->CheckBufferSpace(); | 2240 assembler->CheckBufferSpace(); |
2239 } | 2241 } |
2240 }; | 2242 }; |
2241 | 2243 |
2242 } // namespace internal | 2244 } // namespace internal |
2243 } // namespace v8 | 2245 } // namespace v8 |
2244 | 2246 |
2245 #endif // V8_ARM64_ASSEMBLER_ARM64_H_ | 2247 #endif // V8_ARM64_ASSEMBLER_ARM64_H_ |
OLD | NEW |