class EPCGenericJITLinkMemoryManager

Declaration

class EPCGenericJITLinkMemoryManager : public JITLinkMemoryManager { /* full declaration omitted */ };

Description

Manages allocations of JIT memory. Instances of this class may be accessed concurrently from multiple threads and their implemetations should include any necessary synchronization.

Declared at: llvm/include/llvm/ExecutionEngine/Orc/EPCGenericJITLinkMemoryManager.h:27

Inherits from: JITLinkMemoryManager

Member Variables

private llvm::orc::ExecutorProcessControl& EPC
private llvm::orc::EPCGenericJITLinkMemoryManager:: SymbolAddrs SAs

Method Overview

  • public EPCGenericJITLinkMemoryManager(llvm::orc::ExecutorProcessControl & EPC, llvm::orc::EPCGenericJITLinkMemoryManager::SymbolAddrs SAs)
  • public void allocate(const jitlink::JITLinkDylib * JD, jitlink::LinkGraph & G, llvm::jitlink::JITLinkMemoryManager::OnAllocatedFunction OnAllocated)
  • private void completeAllocation(llvm::orc::ExecutorAddr AllocAddr, jitlink::BasicLayout BL, llvm::jitlink::JITLinkMemoryManager::OnAllocatedFunction OnAllocated)
  • public void deallocate(std::vector<FinalizedAlloc> Allocs, llvm::jitlink::JITLinkMemoryManager::OnDeallocatedFunction OnDeallocated)

Inherited from JITLinkMemoryManager:

Methods

EPCGenericJITLinkMemoryManager(
    llvm::orc::ExecutorProcessControl& EPC,
    llvm::orc::EPCGenericJITLinkMemoryManager::
        SymbolAddrs SAs)

Description

Create an EPCGenericJITLinkMemoryManager instance from a given set of function addrs.

Declared at: llvm/include/llvm/ExecutionEngine/Orc/EPCGenericJITLinkMemoryManager.h:39

Parameters

llvm::orc::ExecutorProcessControl& EPC
llvm::orc::EPCGenericJITLinkMemoryManager:: SymbolAddrs SAs

void allocate(
    const jitlink::JITLinkDylib* JD,
    jitlink::LinkGraph& G,
    llvm::jitlink::JITLinkMemoryManager::
        OnAllocatedFunction OnAllocated)

Description

Start the allocation process. If the initial allocation is successful then the OnAllocated function will be called with a std::unique_ptr <InFlightAlloc > value. If the assocation is unsuccessful then the OnAllocated function will be called with an Error.

Declared at: llvm/include/llvm/ExecutionEngine/Orc/EPCGenericJITLinkMemoryManager.h:42

Parameters

const jitlink::JITLinkDylib* JD
jitlink::LinkGraph& G
llvm::jitlink::JITLinkMemoryManager:: OnAllocatedFunction OnAllocated

void completeAllocation(
    llvm::orc::ExecutorAddr AllocAddr,
    jitlink::BasicLayout BL,
    llvm::jitlink::JITLinkMemoryManager::
        OnAllocatedFunction OnAllocated)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/EPCGenericJITLinkMemoryManager.h:57

Parameters

llvm::orc::ExecutorAddr AllocAddr
jitlink::BasicLayout BL
llvm::jitlink::JITLinkMemoryManager:: OnAllocatedFunction OnAllocated

void deallocate(
    std::vector<FinalizedAlloc> Allocs,
    llvm::jitlink::JITLinkMemoryManager::
        OnDeallocatedFunction OnDeallocated)

Description

Deallocate a list of allocation objects. Dealloc actions will be run in reverse order (from the end of the vector to the start).

Declared at: llvm/include/llvm/ExecutionEngine/Orc/EPCGenericJITLinkMemoryManager.h:48

Parameters

std::vector<FinalizedAlloc> Allocs
llvm::jitlink::JITLinkMemoryManager:: OnDeallocatedFunction OnDeallocated