15#ifndef LLVM_EXECUTIONENGINE_ORC_TARGETPROCESS_SIMPLEEXECUTORMEMORYMANAGER_H
16#define LLVM_EXECUTIONENGINE_ORC_TARGETPROCESS_SIMPLEEXECUTORMEMORYMANAGER_H
48 std::vector<shared::WrapperFunctionCall> DeallocActions;
52 using RegionMap = std::map<ExecutorAddr, RegionInfo>;
57 using SlabMap = std::map<void *, SlabInfo>;
83 reserveWrapper(
const char *ArgData,
size_t ArgSize);
86 initializeWrapper(
const char *ArgData,
size_t ArgSize);
89 deinitializeWrapper(
const char *ArgData,
size_t ArgSize);
92 releaseWrapper(
const char *ArgData,
size_t ArgSize);
static GCRegistry::Add< ErlangGC > A("erlang", "erlang-compatible garbage collector")
This file defines the DenseMap class.
static void initialize(TargetLibraryInfoImpl &TLI, const Triple &T, ArrayRef< StringLiteral > StandardNames)
Initialize the set of available library functions based on the specified target triple.
Lightweight error class with error context and mandatory checking.
Tagged union holding either a T or a Error.
StringMap - This is an unconventional map that is specialized for handling keys that are "strings",...
StringRef - Represent a constant reference to a string, i.e.
Represents an address in the executor process.
Simple page-based allocator.
Error deinitialize(const std::vector< ExecutorAddr > &InitKeys)
Error release(const std::vector< ExecutorAddr > &Bases)
Error shutdown() override
Expected< ExecutorAddr > reserve(uint64_t Size)
void addBootstrapSymbols(StringMap< ExecutorAddr > &M) override
This is an optimization pass for GlobalISel generic memory operations.
Represents an address range in the exceutor process.