LLVM: include/llvm/ExecutionEngine/Orc/EPCGenericJITLinkMemoryManager.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18#ifndef LLVM_EXECUTIONENGINE_ORC_EPCGENERICJITLINKMEMORYMANAGER_H
19#define LLVM_EXECUTIONENGINE_ORC_EPCGENERICJITLINKMEMORYMANAGER_H
20
24
25namespace llvm {
26namespace orc {
27
30public:
31
39
40
41
43 : EPC(EPC), SAs(SAs) {}
44
46 OnAllocatedFunction OnAllocated) override;
47
48
49 using JITLinkMemoryManager::allocate;
50
51 void deallocate(std::vector Allocs,
52 OnDeallocatedFunction OnDeallocated) override;
53
54
55 using JITLinkMemoryManager::deallocate;
56
57private:
58 class InFlightAlloc;
59
61 OnAllocatedFunction OnAllocated);
62
64 SymbolAddrs SAs;
65};
66
67namespace shared {
68
69
70
71template <>
73 jitlink::JITLinkMemoryManager::FinalizedAlloc> {
74public:
78
79 static bool
85
90 return false;
92 return true;
93 }
94};
95
96}
97}
98}
99
100#endif
static GCRegistry::Add< ErlangGC > A("erlang", "erlang-compatible garbage collector")
BasicLayout simplifies the implementation of JITLinkMemoryManagers.
Represents a finalized allocation.
orc::ExecutorAddr getAddress() const
Returns the address associated with this finalized allocation.
Manages allocations of JIT memory.
EPCGenericJITLinkMemoryManager(ExecutorProcessControl &EPC, SymbolAddrs SAs)
Create an EPCGenericJITLinkMemoryManager instance from a given set of function addrs.
Definition EPCGenericJITLinkMemoryManager.h:42
Represents an address in the executor process.
ExecutorProcessControl supports interaction with a JIT target process.
This is an optimization pass for GlobalISel generic memory operations.
Function addresses for memory access.
Definition EPCGenericJITLinkMemoryManager.h:32
ExecutorAddr Initialize
Definition EPCGenericJITLinkMemoryManager.h:35
ExecutorAddr Allocator
Definition EPCGenericJITLinkMemoryManager.h:33
ExecutorAddr Deinitialize
Definition EPCGenericJITLinkMemoryManager.h:36
ExecutorAddr Reserve
Definition EPCGenericJITLinkMemoryManager.h:34
ExecutorAddr Release
Definition EPCGenericJITLinkMemoryManager.h:37