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 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
206 SmiCheck check_needed); | 206 SmiCheck check_needed); |
207 | 207 |
208 int DefineDeoptimizationLiteral(Handle<Object> literal); | 208 int DefineDeoptimizationLiteral(Handle<Object> literal); |
209 void PopulateDeoptimizationData(Handle<Code> code); | 209 void PopulateDeoptimizationData(Handle<Code> code); |
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, |
| 217 Deoptimizer::DeoptReason deopt_reason, |
217 BranchType branch_type, Register reg = NoReg, | 218 BranchType branch_type, Register reg = NoReg, |
218 int bit = -1, | 219 int bit = -1, |
219 Deoptimizer::BailoutType* override_bailout_type = NULL); | 220 Deoptimizer::BailoutType* override_bailout_type = NULL); |
220 void Deoptimize(LInstruction* instr, const char* detail, | 221 void Deoptimize(LInstruction* instr, Deoptimizer::DeoptReason deopt_reason, |
221 Deoptimizer::BailoutType* override_bailout_type = NULL); | 222 Deoptimizer::BailoutType* override_bailout_type = 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 Deoptimizer::DeoptReason deopt_reason); |
| 225 void DeoptimizeIfZero(Register rt, LInstruction* instr, |
| 226 Deoptimizer::DeoptReason deopt_reason); |
224 void DeoptimizeIfNotZero(Register rt, LInstruction* instr, | 227 void DeoptimizeIfNotZero(Register rt, LInstruction* instr, |
225 const char* detail); | 228 Deoptimizer::DeoptReason deopt_reason); |
226 void DeoptimizeIfNegative(Register rt, LInstruction* instr, | 229 void DeoptimizeIfNegative(Register rt, LInstruction* instr, |
227 const char* detail); | 230 Deoptimizer::DeoptReason deopt_reason); |
228 void DeoptimizeIfSmi(Register rt, LInstruction* instr, const char* detail); | 231 void DeoptimizeIfSmi(Register rt, LInstruction* instr, |
229 void DeoptimizeIfNotSmi(Register rt, LInstruction* instr, const char* detail); | 232 Deoptimizer::DeoptReason deopt_reason); |
| 233 void DeoptimizeIfNotSmi(Register rt, LInstruction* instr, |
| 234 Deoptimizer::DeoptReason deopt_reason); |
230 void DeoptimizeIfRoot(Register rt, Heap::RootListIndex index, | 235 void DeoptimizeIfRoot(Register rt, Heap::RootListIndex index, |
231 LInstruction* instr, const char* detail); | 236 LInstruction* instr, |
| 237 Deoptimizer::DeoptReason deopt_reason); |
232 void DeoptimizeIfNotRoot(Register rt, Heap::RootListIndex index, | 238 void DeoptimizeIfNotRoot(Register rt, Heap::RootListIndex index, |
233 LInstruction* instr, const char* detail); | 239 LInstruction* instr, |
| 240 Deoptimizer::DeoptReason deopt_reason); |
234 void DeoptimizeIfNotHeapNumber(Register object, LInstruction* instr); | 241 void DeoptimizeIfNotHeapNumber(Register object, LInstruction* instr); |
235 void DeoptimizeIfMinusZero(DoubleRegister input, LInstruction* instr, | 242 void DeoptimizeIfMinusZero(DoubleRegister input, LInstruction* instr, |
236 const char* detail); | 243 Deoptimizer::DeoptReason deopt_reason); |
237 void DeoptimizeIfBitSet(Register rt, int bit, LInstruction* instr, | 244 void DeoptimizeIfBitSet(Register rt, int bit, LInstruction* instr, |
238 const char* detail); | 245 Deoptimizer::DeoptReason deopt_reason); |
239 void DeoptimizeIfBitClear(Register rt, int bit, LInstruction* instr, | 246 void DeoptimizeIfBitClear(Register rt, int bit, LInstruction* instr, |
240 const char* detail); | 247 Deoptimizer::DeoptReason deopt_reason); |
241 | 248 |
242 MemOperand PrepareKeyedExternalArrayOperand(Register key, | 249 MemOperand PrepareKeyedExternalArrayOperand(Register key, |
243 Register base, | 250 Register base, |
244 Register scratch, | 251 Register scratch, |
245 bool key_is_smi, | 252 bool key_is_smi, |
246 bool key_is_constant, | 253 bool key_is_constant, |
247 int constant_key, | 254 int constant_key, |
248 ElementsKind elements_kind, | 255 ElementsKind elements_kind, |
249 int base_offset); | 256 int base_offset); |
250 MemOperand PrepareKeyedArrayOperand(Register base, | 257 MemOperand PrepareKeyedArrayOperand(Register base, |
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
455 | 462 |
456 protected: | 463 protected: |
457 MacroAssembler* masm() const { return codegen_->masm(); } | 464 MacroAssembler* masm() const { return codegen_->masm(); } |
458 | 465 |
459 LCodeGen* codegen_; | 466 LCodeGen* codegen_; |
460 }; | 467 }; |
461 | 468 |
462 } } // namespace v8::internal | 469 } } // namespace v8::internal |
463 | 470 |
464 #endif // V8_ARM64_LITHIUM_CODEGEN_ARM64_H_ | 471 #endif // V8_ARM64_LITHIUM_CODEGEN_ARM64_H_ |
OLD | NEW |