| // Copyright 2013 the V8 project authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef V8_ARM64_CODE_STUBS_ARM64_H_ |
| #define V8_ARM64_CODE_STUBS_ARM64_H_ |
| |
| namespace v8 { |
| namespace internal { |
| |
| // Helper to call C++ functions from generated code. The caller must prepare |
| // the exit frame before doing the call with GenerateCall. |
| class DirectCEntryStub: public PlatformCodeStub { |
| public: |
| explicit DirectCEntryStub(Isolate* isolate) : PlatformCodeStub(isolate) {} |
| void GenerateCall(MacroAssembler* masm, Register target); |
| |
| private: |
| Movability NeedsImmovableCode() override { return kImmovable; } |
| |
| DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR(); |
| DEFINE_PLATFORM_CODE_STUB(DirectCEntry, PlatformCodeStub); |
| }; |
| |
| } // namespace internal |
| } // namespace v8 |
| |
| #endif // V8_ARM64_CODE_STUBS_ARM64_H_ |