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