LLVM 24.0.0git
SimpleMemoryMapSPS.h
Go to the documentation of this file.
1//===- SimpleMemoryMapSPS.h - SPS memory-map bindings -----------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// Binds SimpleMemoryMapBindings to the ORC runtime's SPS controller
10// interface: a ProxySpec per operation, plus operations that resolve them.
11//
12// Each spec is built from the operation's controller-interface descriptor in
13// Shared/SPSCI/SimpleNativeMemoryMapSPSCI.h, which supplies the wrapper name
14// and wire signature. The specs are public so that clients can resolve the
15// operations under non-default names, using recordProxy<Spec>(&P, Name) with
16// lookupAndApply.
17//
18//===----------------------------------------------------------------------===//
19
20#ifndef LLVM_EXECUTIONENGINE_ORC_SIMPLEMEMORYMAPSPS_H
21#define LLVM_EXECUTIONENGINE_ORC_SIMPLEMEMORYMAPSPS_H
22
28
29namespace llvm::orc::sps {
30
35
36/// Build bindings over the SPS controller interface, resolving the operations
37/// in the given JITDylib under the specs' default (SimpleNativeMemoryMap)
38/// names.
39///
40/// To bind a different executor-side implementation, use the specs above with
41/// recordProxy<Spec>(&P, Name) to resolve its own names instead.
44
45/// As above, resolving the operations in ES's bootstrap JITDylib.
48
49} // namespace llvm::orc::sps
50
51#endif // LLVM_EXECUTIONENGINE_ORC_SIMPLEMEMORYMAPSPS_H
#define LLVM_ABI
Definition Compiler.h:211
Tagged union holding either a T or a Error.
Definition Error.h:485
An ExecutionSession represents a running JIT program.
Definition Core.h:1104
Represents a JIT'd dynamic library.
Definition Core.h:675
Dispatches proxies for the call described by CI, which must provide:
ProxySpec< rt::sps_ci::MemMgrReserve > MemMgrReserveProxySpec
LLVM_ABI Expected< SimpleMemoryMapBindings > createSimpleMemoryMapBindings(JITDylib &JD)
Build bindings over the SPS controller interface, resolving the operations in the given JITDylib unde...
ProxySpec< rt::sps_ci::MemMgrInitialize > MemMgrInitializeProxySpec
ProxySpec< rt::sps_ci::MemMgrDeinitialize > MemMgrDeinitializeProxySpec
ProxySpec< rt::sps_ci::MemMgrRelease > MemMgrReleaseProxySpec