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_LITHIUM_CODEGEN_ARM64_H_ | 5 #ifndef V8_ARM64_LITHIUM_CODEGEN_ARM64_H_ |
6 #define V8_ARM64_LITHIUM_CODEGEN_ARM64_H_ | 6 #define V8_ARM64_LITHIUM_CODEGEN_ARM64_H_ |
7 | 7 |
8 #include "src/arm64/lithium-arm64.h" | 8 #include "src/arm64/lithium-arm64.h" |
9 | 9 |
10 #include "src/arm64/lithium-gap-resolver-arm64.h" | 10 #include "src/arm64/lithium-gap-resolver-arm64.h" |
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
210 void PopulateDeoptimizationLiteralsWithInlinedFunctions(); | 210 void PopulateDeoptimizationLiteralsWithInlinedFunctions(); |
211 | 211 |
212 MemOperand BuildSeqStringOperand(Register string, | 212 MemOperand BuildSeqStringOperand(Register string, |
213 Register temp, | 213 Register temp, |
214 LOperand* index, | 214 LOperand* index, |
215 String::Encoding encoding); | 215 String::Encoding encoding); |
216 void DeoptimizeBranch(LInstruction* instr, const char* detail, | 216 void DeoptimizeBranch(LInstruction* instr, const char* detail, |
217 BranchType branch_type, Register reg = NoReg, | 217 BranchType branch_type, Register reg = NoReg, |
218 int bit = -1, | 218 int bit = -1, |
219 Deoptimizer::BailoutType* override_bailout_type = NULL); | 219 Deoptimizer::BailoutType* override_bailout_type = NULL); |
220 void Deoptimize(LInstruction* instr, | 220 void Deoptimize(LInstruction* instr, const char* detail, |
221 Deoptimizer::BailoutType* override_bailout_type = NULL, | 221 Deoptimizer::BailoutType* override_bailout_type = NULL); |
222 const char* detail = NULL); | 222 void DeoptimizeIf(Condition cond, LInstruction* instr, const char* detail); |
223 void DeoptimizeIf(Condition cond, LInstruction* instr, | 223 void DeoptimizeIfZero(Register rt, LInstruction* instr, const char* detail); |
224 const char* detail = NULL); | |
225 void DeoptimizeIfZero(Register rt, LInstruction* instr, | |
226 const char* detail = NULL); | |
227 void DeoptimizeIfNotZero(Register rt, LInstruction* instr, | 224 void DeoptimizeIfNotZero(Register rt, LInstruction* instr, |
228 const char* detail = NULL); | 225 const char* detail); |
229 void DeoptimizeIfNegative(Register rt, LInstruction* instr, | 226 void DeoptimizeIfNegative(Register rt, LInstruction* instr, |
230 const char* detail = NULL); | 227 const char* detail); |
231 void DeoptimizeIfSmi(Register rt, LInstruction* instr, | 228 void DeoptimizeIfSmi(Register rt, LInstruction* instr, const char* detail); |
232 const char* detail = NULL); | 229 void DeoptimizeIfNotSmi(Register rt, LInstruction* instr, const char* detail); |
233 void DeoptimizeIfNotSmi(Register rt, LInstruction* instr, | |
234 const char* detail = NULL); | |
235 void DeoptimizeIfRoot(Register rt, Heap::RootListIndex index, | 230 void DeoptimizeIfRoot(Register rt, Heap::RootListIndex index, |
236 LInstruction* instr, const char* detail = NULL); | 231 LInstruction* instr, const char* detail); |
237 void DeoptimizeIfNotRoot(Register rt, Heap::RootListIndex index, | 232 void DeoptimizeIfNotRoot(Register rt, Heap::RootListIndex index, |
238 LInstruction* instr, const char* detail = NULL); | 233 LInstruction* instr, const char* detail); |
239 void DeoptimizeIfNotHeapNumber(Register object, LInstruction* instr); | 234 void DeoptimizeIfNotHeapNumber(Register object, LInstruction* instr); |
240 void DeoptimizeIfMinusZero(DoubleRegister input, LInstruction* instr, | 235 void DeoptimizeIfMinusZero(DoubleRegister input, LInstruction* instr, |
241 const char* detail = NULL); | 236 const char* detail); |
242 void DeoptimizeIfBitSet(Register rt, int bit, LInstruction* instr, | 237 void DeoptimizeIfBitSet(Register rt, int bit, LInstruction* instr, |
243 const char* detail = NULL); | 238 const char* detail); |
244 void DeoptimizeIfBitClear(Register rt, int bit, LInstruction* instr, | 239 void DeoptimizeIfBitClear(Register rt, int bit, LInstruction* instr, |
245 const char* detail = NULL); | 240 const char* detail); |
246 | 241 |
247 MemOperand PrepareKeyedExternalArrayOperand(Register key, | 242 MemOperand PrepareKeyedExternalArrayOperand(Register key, |
248 Register base, | 243 Register base, |
249 Register scratch, | 244 Register scratch, |
250 bool key_is_smi, | 245 bool key_is_smi, |
251 bool key_is_constant, | 246 bool key_is_constant, |
252 int constant_key, | 247 int constant_key, |
253 ElementsKind elements_kind, | 248 ElementsKind elements_kind, |
254 int base_offset); | 249 int base_offset); |
255 MemOperand PrepareKeyedArrayOperand(Register base, | 250 MemOperand PrepareKeyedArrayOperand(Register base, |
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
464 | 459 |
465 protected: | 460 protected: |
466 MacroAssembler* masm() const { return codegen_->masm(); } | 461 MacroAssembler* masm() const { return codegen_->masm(); } |
467 | 462 |
468 LCodeGen* codegen_; | 463 LCodeGen* codegen_; |
469 }; | 464 }; |
470 | 465 |
471 } } // namespace v8::internal | 466 } } // namespace v8::internal |
472 | 467 |
473 #endif // V8_ARM64_LITHIUM_CODEGEN_ARM64_H_ | 468 #endif // V8_ARM64_LITHIUM_CODEGEN_ARM64_H_ |
OLD | NEW |