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