LLVM 24.0.0git
SimpleMemoryMapSPS.cpp
Go to the documentation of this file.
1//===- SimpleMemoryMapSPS.cpp - SPS memory-map bindings -------------------===//
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
10
13
14namespace llvm::orc::sps {
15
18 // Instance is the executor-side manager object -- a data symbol passed as the
19 // first argument to each call, not a wrapper to proxy. The proxies resolve to
20 // the specs' default (SimpleNativeMemoryMap) names.
21 if (auto Err = lookupAndApply(
23 &B.Instance),
28 return std::move(Err);
29 return std::move(B);
30}
31
36
37} // namespace llvm::orc::sps
static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")
Tagged union holding either a T or a Error.
Definition Error.h:485
An ExecutionSession represents a running JIT program.
Definition Core.h:1111
JITDylib & getBootstrapJITDylib()
Returns a reference to the bootstrap JITDylib.
Definition Core.h:1177
Represents a JIT'd dynamic library.
Definition Core.h:675
constexpr char SimpleNativeMemoryMapInstanceName[]
The executor-side memory-manager instance.
LLVM_ABI Expected< SimpleMemoryMapBindings > createSimpleMemoryMapBindings(JITDylib &JD)
Build bindings over the SPS controller interface, resolving the operations in the given JITDylib unde...
LookupPrepareFn recordProxy(Proxy< FnT > *P, typename Proxy< FnT >::DispatchFn Dispatch, StringRef Name, SymbolLookupFlags LF=SymbolLookupFlags::RequiredSymbol)
Builds P over the symbol with the given name, dispatching through Dispatch.
Definition RecordProxy.h:30
LLVM_ABI void lookupAndApply(unique_function< void(Error)> OnApplied, ExecutionSession &ES, LookupKind K, const JITDylibSearchOrder &SearchOrder, ArrayRef< LookupPrepareFn > PrepareFns)
Resolve the symbols contributed by every prepare function with a single lookup, then let each of thei...
LookupPrepareFn recordAddr(StringRef Name, ExecutorAddr *A, SymbolLookupFlags LF=SymbolLookupFlags::RequiredSymbol)
Records the address of the symbol with the given name.
The resolved controller-side handle to an executor-side memory manager: the address of the manager in...