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 300 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
311 const Runtime::Function* function = Runtime::FunctionForId(id); | 311 const Runtime::Function* function = Runtime::FunctionForId(id); |
312 CallRuntime(function, num_arguments, instr); | 312 CallRuntime(function, num_arguments, instr); |
313 } | 313 } |
314 | 314 |
315 void LoadContextFromDeferred(LOperand* context); | 315 void LoadContextFromDeferred(LOperand* context); |
316 void CallRuntimeFromDeferred(Runtime::FunctionId id, | 316 void CallRuntimeFromDeferred(Runtime::FunctionId id, |
317 int argc, | 317 int argc, |
318 LInstruction* instr, | 318 LInstruction* instr, |
319 LOperand* context); | 319 LOperand* context); |
320 | 320 |
321 // Generate a direct call to a known function. | 321 // Generate a direct call to a known function. Expects the function |
322 // If the function is already loaded into x1 by the caller, function_reg may | 322 // to be in x1. |
323 // be set to x1. Otherwise, it must be NoReg, and CallKnownFunction will | |
324 // automatically load it. | |
325 void CallKnownFunction(Handle<JSFunction> function, | 323 void CallKnownFunction(Handle<JSFunction> function, |
326 int formal_parameter_count, | 324 int formal_parameter_count, int arity, |
327 int arity, | 325 LInstruction* instr); |
328 LInstruction* instr, | |
329 Register function_reg = NoReg); | |
330 | 326 |
331 // Support for recording safepoint and position information. | 327 // Support for recording safepoint and position information. |
332 void RecordAndWritePosition(int position) OVERRIDE; | 328 void RecordAndWritePosition(int position) OVERRIDE; |
333 void RecordSafepoint(LPointerMap* pointers, | 329 void RecordSafepoint(LPointerMap* pointers, |
334 Safepoint::Kind kind, | 330 Safepoint::Kind kind, |
335 int arguments, | 331 int arguments, |
336 Safepoint::DeoptMode mode); | 332 Safepoint::DeoptMode mode); |
337 void RecordSafepoint(LPointerMap* pointers, Safepoint::DeoptMode mode); | 333 void RecordSafepoint(LPointerMap* pointers, Safepoint::DeoptMode mode); |
338 void RecordSafepoint(Safepoint::DeoptMode mode); | 334 void RecordSafepoint(Safepoint::DeoptMode mode); |
339 void RecordSafepointWithRegisters(LPointerMap* pointers, | 335 void RecordSafepointWithRegisters(LPointerMap* pointers, |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
459 | 455 |
460 protected: | 456 protected: |
461 MacroAssembler* masm() const { return codegen_->masm(); } | 457 MacroAssembler* masm() const { return codegen_->masm(); } |
462 | 458 |
463 LCodeGen* codegen_; | 459 LCodeGen* codegen_; |
464 }; | 460 }; |
465 | 461 |
466 } } // namespace v8::internal | 462 } } // namespace v8::internal |
467 | 463 |
468 #endif // V8_ARM64_LITHIUM_CODEGEN_ARM64_H_ | 464 #endif // V8_ARM64_LITHIUM_CODEGEN_ARM64_H_ |
OLD | NEW |