| 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 |