• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
3 // found in the LICENSE file.
4 
5 #ifndef V8_ARM64_CODE_STUBS_ARM64_H_
6 #define V8_ARM64_CODE_STUBS_ARM64_H_
7 
8 namespace v8 {
9 namespace internal {
10 
11 // Helper to call C++ functions from generated code. The caller must prepare
12 // the exit frame before doing the call with GenerateCall.
13 class DirectCEntryStub: public PlatformCodeStub {
14  public:
DirectCEntryStub(Isolate * isolate)15   explicit DirectCEntryStub(Isolate* isolate) : PlatformCodeStub(isolate) {}
16   void GenerateCall(MacroAssembler* masm, Register target);
17 
18  private:
NeedsImmovableCode()19   Movability NeedsImmovableCode() override { return kImmovable; }
20 
21   DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR();
22   DEFINE_PLATFORM_CODE_STUB(DirectCEntry, PlatformCodeStub);
23 };
24 
25 }  // namespace internal
26 }  // namespace v8
27 
28 #endif  // V8_ARM64_CODE_STUBS_ARM64_H_
29