14#ifndef LLVM_EXECUTIONENGINE_ORC_SELFEXECUTORPROCESSCONTROL_H
15#define LLVM_EXECUTIONENGINE_ORC_SELFEXECUTORPROCESSCONTROL_H
29 std::shared_ptr<SymbolStringPool> SSP, std::unique_ptr<TaskDispatcher>
D,
31 std::unique_ptr<jitlink::JITLinkMemoryManager> MemMgr);
39 Create(std::shared_ptr<SymbolStringPool> SSP =
nullptr,
40 std::unique_ptr<TaskDispatcher>
D =
nullptr,
41 std::unique_ptr<jitlink::JITLinkMemoryManager> MemMgr =
nullptr);
54 Error disconnect()
override;
58 jitDispatchViaWrapperFunctionManager(
void *Ctx,
const void *FnTag,
59 const char *Data,
size_t Size);
66 std::unique_ptr<jitlink::JITLinkMemoryManager> OwnedMemMgr;
68 std::unique_ptr<UnwindInfoManager> UnwindInfoMgr;
70 char GlobalManglingPrefix = 0;
static GCRegistry::Add< StatepointGC > D("statepoint-example", "an example strategy for statepoint")
static cl::opt< int > PageSize("imp-null-check-page-size", cl::desc("The page size of the target in bytes"), cl::init(4096), cl::Hidden)
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
Lightweight error class with error context and mandatory checking.
Tagged union holding either a T or a Error.
Triple - Helper class for working with autoconf configuration names.
Represents an address in the executor process.
A handler or incoming WrapperFunctionResults – either return values from callWrapper* calls,...
ExecutorProcessControl supports interaction with a JIT target process.
A ExecutorProcessControl implementation targeting the current process.
unique_function is a type-erasing functor similar to std::function.
LLVM_ABI int runAsVoidFunction(int(*Func)(void))
LLVM_ABI int runAsIntFunction(int(*Func)(int), int Arg)
LLVM_ABI int runAsMain(int(*Main)(int, char *[]), ArrayRef< std::string > Args, std::optional< StringRef > ProgramName=std::nullopt)
Run a main function, returning the result.