| 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 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 266 LOperand* op, | 266 LOperand* op, |
| 267 bool is_tagged, | 267 bool is_tagged, |
| 268 bool is_uint32, | 268 bool is_uint32, |
| 269 int* object_index_pointer, | 269 int* object_index_pointer, |
| 270 int* dematerialized_index_pointer); | 270 int* dematerialized_index_pointer); |
| 271 | 271 |
| 272 void SaveCallerDoubles(); | 272 void SaveCallerDoubles(); |
| 273 void RestoreCallerDoubles(); | 273 void RestoreCallerDoubles(); |
| 274 | 274 |
| 275 // Code generation steps. Returns true if code generation should continue. | 275 // Code generation steps. Returns true if code generation should continue. |
| 276 void GenerateBodyInstructionPre(LInstruction* instr) V8_OVERRIDE; | 276 void GenerateBodyInstructionPre(LInstruction* instr) OVERRIDE; |
| 277 bool GeneratePrologue(); | 277 bool GeneratePrologue(); |
| 278 bool GenerateDeferredCode(); | 278 bool GenerateDeferredCode(); |
| 279 bool GenerateDeoptJumpTable(); | 279 bool GenerateDeoptJumpTable(); |
| 280 bool GenerateSafepointTable(); | 280 bool GenerateSafepointTable(); |
| 281 | 281 |
| 282 // Generates the custom OSR entrypoint and sets the osr_pc_offset. | 282 // Generates the custom OSR entrypoint and sets the osr_pc_offset. |
| 283 void GenerateOsrPrologue(); | 283 void GenerateOsrPrologue(); |
| 284 | 284 |
| 285 enum SafepointMode { | 285 enum SafepointMode { |
| 286 RECORD_SIMPLE_SAFEPOINT, | 286 RECORD_SIMPLE_SAFEPOINT, |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 318 // If the function is already loaded into x1 by the caller, function_reg may | 318 // If the function is already loaded into x1 by the caller, function_reg may |
| 319 // be set to x1. Otherwise, it must be NoReg, and CallKnownFunction will | 319 // be set to x1. Otherwise, it must be NoReg, and CallKnownFunction will |
| 320 // automatically load it. | 320 // automatically load it. |
| 321 void CallKnownFunction(Handle<JSFunction> function, | 321 void CallKnownFunction(Handle<JSFunction> function, |
| 322 int formal_parameter_count, | 322 int formal_parameter_count, |
| 323 int arity, | 323 int arity, |
| 324 LInstruction* instr, | 324 LInstruction* instr, |
| 325 Register function_reg = NoReg); | 325 Register function_reg = NoReg); |
| 326 | 326 |
| 327 // Support for recording safepoint and position information. | 327 // Support for recording safepoint and position information. |
| 328 void RecordAndWritePosition(int position) V8_OVERRIDE; | 328 void RecordAndWritePosition(int position) OVERRIDE; |
| 329 void RecordSafepoint(LPointerMap* pointers, | 329 void RecordSafepoint(LPointerMap* pointers, |
| 330 Safepoint::Kind kind, | 330 Safepoint::Kind kind, |
| 331 int arguments, | 331 int arguments, |
| 332 Safepoint::DeoptMode mode); | 332 Safepoint::DeoptMode mode); |
| 333 void RecordSafepoint(LPointerMap* pointers, Safepoint::DeoptMode mode); | 333 void RecordSafepoint(LPointerMap* pointers, Safepoint::DeoptMode mode); |
| 334 void RecordSafepoint(Safepoint::DeoptMode mode); | 334 void RecordSafepoint(Safepoint::DeoptMode mode); |
| 335 void RecordSafepointWithRegisters(LPointerMap* pointers, | 335 void RecordSafepointWithRegisters(LPointerMap* pointers, |
| 336 int arguments, | 336 int arguments, |
| 337 Safepoint::DeoptMode mode); | 337 Safepoint::DeoptMode mode); |
| 338 void RecordSafepointWithLazyDeopt(LInstruction* instr, | 338 void RecordSafepointWithLazyDeopt(LInstruction* instr, |
| 339 SafepointMode safepoint_mode); | 339 SafepointMode safepoint_mode); |
| 340 | 340 |
| 341 void EnsureSpaceForLazyDeopt(int space_needed) V8_OVERRIDE; | 341 void EnsureSpaceForLazyDeopt(int space_needed) OVERRIDE; |
| 342 | 342 |
| 343 ZoneList<LEnvironment*> deoptimizations_; | 343 ZoneList<LEnvironment*> deoptimizations_; |
| 344 ZoneList<Deoptimizer::JumpTableEntry*> deopt_jump_table_; | 344 ZoneList<Deoptimizer::JumpTableEntry*> deopt_jump_table_; |
| 345 ZoneList<Handle<Object> > deoptimization_literals_; | 345 ZoneList<Handle<Object> > deoptimization_literals_; |
| 346 int inlined_function_count_; | 346 int inlined_function_count_; |
| 347 Scope* const scope_; | 347 Scope* const scope_; |
| 348 TranslationBuffer translations_; | 348 TranslationBuffer translations_; |
| 349 ZoneList<LDeferredCode*> deferred_; | 349 ZoneList<LDeferredCode*> deferred_; |
| 350 int osr_pc_offset_; | 350 int osr_pc_offset_; |
| 351 bool frame_is_built_; | 351 bool frame_is_built_; |
| (...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 455 | 455 |
| 456 protected: | 456 protected: |
| 457 MacroAssembler* masm() const { return codegen_->masm(); } | 457 MacroAssembler* masm() const { return codegen_->masm(); } |
| 458 | 458 |
| 459 LCodeGen* codegen_; | 459 LCodeGen* codegen_; |
| 460 }; | 460 }; |
| 461 | 461 |
| 462 } } // namespace v8::internal | 462 } } // namespace v8::internal |
| 463 | 463 |
| 464 #endif // V8_ARM64_LITHIUM_CODEGEN_ARM64_H_ | 464 #endif // V8_ARM64_LITHIUM_CODEGEN_ARM64_H_ |
| OLD | NEW |