LLVM 24.0.0git
SharedMemoryMapSPS.h
Go to the documentation of this file.
1//===- SharedMemoryMapSPS.h - SPS shared-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 SharedMemoryMapBindings to the ORC runtime's SPS controller interface.
10//
11//===----------------------------------------------------------------------===//
12
13#ifndef LLVM_EXECUTIONENGINE_ORC_SHAREDMEMORYMAPSPS_H
14#define LLVM_EXECUTIONENGINE_ORC_SHAREDMEMORYMAPSPS_H
15
21
22namespace llvm::orc::sps {
23
24/// A ProxySpec per operation, pairing one of the bindings' proxies with its
25/// controller-interface descriptor in Shared/SPSCI/SharedMemoryMapperSPSCI.h,
26/// which supplies the wrapper name and wire signature. The specs are public so
27/// that clients can resolve the operations under non-default names, using
28/// recordProxy<Spec>(&P, Name) with lookupAndApply.
41
42/// Build bindings over the SPS controller interface, resolving the operations
43/// in the given JITDylib under the specs' default names.
46
47/// As above, resolving the operations in ES's bootstrap JITDylib.
50
51} // namespace llvm::orc::sps
52
53#endif // LLVM_EXECUTIONENGINE_ORC_SHAREDMEMORYMAPSPS_H
#define LLVM_ABI
Definition Compiler.h:215
Tagged union holding either a T or a Error.
Definition Error.h:485
An ExecutionSession represents a running JIT program.
Definition Core.h:1111
Represents a JIT'd dynamic library.
Definition Core.h:675
LLVM_ABI Expected< SharedMemoryMapBindings > createSharedMemoryMapBindings(JITDylib &JD)
Build bindings over the SPS controller interface, resolving the operations in the given JITDylib unde...
ProxySpec< SharedMemoryMapBindings::DeinitializeProxy, rt::sps_ci::SharedMemoryMapperDeinitialize > SharedMemoryMapDeinitializeProxySpec
ProxySpec< SharedMemoryMapBindings::InitializeProxy, rt::sps_ci::SharedMemoryMapperInitialize > SharedMemoryMapInitializeProxySpec
ProxySpec< SharedMemoryMapBindings::ReserveProxy, rt::sps_ci::SharedMemoryMapperReserve > SharedMemoryMapReserveProxySpec
A ProxySpec per operation, pairing one of the bindings' proxies with its controller-interface descrip...
ProxySpec< SharedMemoryMapBindings::ReleaseProxy, rt::sps_ci::SharedMemoryMapperRelease > SharedMemoryMapReleaseProxySpec
Proxy< Expected< std::pair< ExecutorAddr, std::string > >( ExecutorAddr, uint64_t)> ReserveProxy
Reserve an address range of the given size; returns its base together with the name of the shared-mem...
Proxy< Error(ExecutorAddr, ArrayRef< ExecutorAddr >)> DeinitializeProxy
Deinitialize the allocations with the given keys (running their deallocation actions) without releasi...
Proxy< Expected< ExecutorAddr >( ExecutorAddr, ExecutorAddr, tpctypes::SharedMemoryFinalizeRequest)> InitializeProxy
Apply a finalize request to the reservation with the given base; returns a key for the initialized al...
Proxy< Error(ExecutorAddr, ArrayRef< ExecutorAddr >)> ReleaseProxy
Release the reservations with the given base addresses.