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 258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
269 LOperand* op, | 269 LOperand* op, |
270 bool is_tagged, | 270 bool is_tagged, |
271 bool is_uint32, | 271 bool is_uint32, |
272 int* object_index_pointer, | 272 int* object_index_pointer, |
273 int* dematerialized_index_pointer); | 273 int* dematerialized_index_pointer); |
274 | 274 |
275 void SaveCallerDoubles(); | 275 void SaveCallerDoubles(); |
276 void RestoreCallerDoubles(); | 276 void RestoreCallerDoubles(); |
277 | 277 |
278 // Code generation steps. Returns true if code generation should continue. | 278 // Code generation steps. Returns true if code generation should continue. |
279 void GenerateBodyInstructionPre(LInstruction* instr) OVERRIDE; | 279 void GenerateBodyInstructionPre(LInstruction* instr) override; |
280 bool GeneratePrologue(); | 280 bool GeneratePrologue(); |
281 bool GenerateDeferredCode(); | 281 bool GenerateDeferredCode(); |
282 bool GenerateJumpTable(); | 282 bool GenerateJumpTable(); |
283 bool GenerateSafepointTable(); | 283 bool GenerateSafepointTable(); |
284 | 284 |
285 // Generates the custom OSR entrypoint and sets the osr_pc_offset. | 285 // Generates the custom OSR entrypoint and sets the osr_pc_offset. |
286 void GenerateOsrPrologue(); | 286 void GenerateOsrPrologue(); |
287 | 287 |
288 enum SafepointMode { | 288 enum SafepointMode { |
289 RECORD_SIMPLE_SAFEPOINT, | 289 RECORD_SIMPLE_SAFEPOINT, |
(...skipping 27 matching lines...) Expand all Loading... |
317 LInstruction* instr, | 317 LInstruction* instr, |
318 LOperand* context); | 318 LOperand* context); |
319 | 319 |
320 // Generate a direct call to a known function. Expects the function | 320 // Generate a direct call to a known function. Expects the function |
321 // to be in x1. | 321 // to be in x1. |
322 void CallKnownFunction(Handle<JSFunction> function, | 322 void CallKnownFunction(Handle<JSFunction> function, |
323 int formal_parameter_count, int arity, | 323 int formal_parameter_count, int arity, |
324 LInstruction* instr); | 324 LInstruction* instr); |
325 | 325 |
326 // Support for recording safepoint and position information. | 326 // Support for recording safepoint and position information. |
327 void RecordAndWritePosition(int position) OVERRIDE; | 327 void RecordAndWritePosition(int position) override; |
328 void RecordSafepoint(LPointerMap* pointers, | 328 void RecordSafepoint(LPointerMap* pointers, |
329 Safepoint::Kind kind, | 329 Safepoint::Kind kind, |
330 int arguments, | 330 int arguments, |
331 Safepoint::DeoptMode mode); | 331 Safepoint::DeoptMode mode); |
332 void RecordSafepoint(LPointerMap* pointers, Safepoint::DeoptMode mode); | 332 void RecordSafepoint(LPointerMap* pointers, Safepoint::DeoptMode mode); |
333 void RecordSafepoint(Safepoint::DeoptMode mode); | 333 void RecordSafepoint(Safepoint::DeoptMode mode); |
334 void RecordSafepointWithRegisters(LPointerMap* pointers, | 334 void RecordSafepointWithRegisters(LPointerMap* pointers, |
335 int arguments, | 335 int arguments, |
336 Safepoint::DeoptMode mode); | 336 Safepoint::DeoptMode mode); |
337 void RecordSafepointWithLazyDeopt(LInstruction* instr, | 337 void RecordSafepointWithLazyDeopt(LInstruction* instr, |
338 SafepointMode safepoint_mode); | 338 SafepointMode safepoint_mode); |
339 | 339 |
340 void EnsureSpaceForLazyDeopt(int space_needed) OVERRIDE; | 340 void EnsureSpaceForLazyDeopt(int space_needed) override; |
341 | 341 |
342 ZoneList<LEnvironment*> deoptimizations_; | 342 ZoneList<LEnvironment*> deoptimizations_; |
343 ZoneList<Deoptimizer::JumpTableEntry*> jump_table_; | 343 ZoneList<Deoptimizer::JumpTableEntry*> jump_table_; |
344 ZoneList<Handle<Object> > deoptimization_literals_; | 344 ZoneList<Handle<Object> > deoptimization_literals_; |
345 int inlined_function_count_; | 345 int inlined_function_count_; |
346 Scope* const scope_; | 346 Scope* const scope_; |
347 TranslationBuffer translations_; | 347 TranslationBuffer translations_; |
348 ZoneList<LDeferredCode*> deferred_; | 348 ZoneList<LDeferredCode*> deferred_; |
349 int osr_pc_offset_; | 349 int osr_pc_offset_; |
350 bool frame_is_built_; | 350 bool frame_is_built_; |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
445 | 445 |
446 protected: | 446 protected: |
447 MacroAssembler* masm() const { return codegen_->masm(); } | 447 MacroAssembler* masm() const { return codegen_->masm(); } |
448 | 448 |
449 LCodeGen* codegen_; | 449 LCodeGen* codegen_; |
450 }; | 450 }; |
451 | 451 |
452 } } // namespace v8::internal | 452 } } // namespace v8::internal |
453 | 453 |
454 #endif // V8_ARM64_LITHIUM_CODEGEN_ARM64_H_ | 454 #endif // V8_ARM64_LITHIUM_CODEGEN_ARM64_H_ |
OLD | NEW |