class InProcessMemoryManager

Declaration

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

Description

A JITLinkMemoryManager that allocates in-process memory.

Declared at: llvm/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h:354

Inherits from: JITLinkMemoryManager

Member Variables

private uint64_t PageSize
private std::mutex FinalizedAllocsMutex
private RecyclingAllocator< llvm::BumpPtrAllocator, llvm::jitlink::InProcessMemoryManager:: FinalizedAllocInfo> FinalizedAllocInfos

Method Overview

  • public static Expected<std::unique_ptr<InProcessMemoryManager>> Create()
  • public InProcessMemoryManager(uint64_t PageSize)
  • public void allocate(const llvm::jitlink::JITLinkDylib * JD, llvm::jitlink::LinkGraph & G, llvm::jitlink::JITLinkMemoryManager::OnAllocatedFunction OnAllocated)
  • private llvm::jitlink::JITLinkMemoryManager::FinalizedAlloc createFinalizedAlloc(sys::MemoryBlock StandardSegments, std::vector<orc::shared::WrapperFunctionCall> DeallocActions)
  • public void deallocate(std::vector<FinalizedAlloc> Alloc, llvm::jitlink::JITLinkMemoryManager::OnDeallocatedFunction OnDeallocated)

Inherited from JITLinkMemoryManager:

Methods

static Expected<
    std::unique_ptr<InProcessMemoryManager>>
Create()

Description

Attempts to auto-detect the host page size.

Declared at: llvm/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h:359

InProcessMemoryManager(uint64_t PageSize)

Description

Create an instance using the given page size.

Declared at: llvm/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h:362

Parameters

uint64_t PageSize

void allocate(
    const llvm::jitlink::JITLinkDylib* JD,
    llvm::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/JITLink/JITLinkMemoryManager.h:364

Parameters

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

llvm::jitlink::JITLinkMemoryManager::
    FinalizedAlloc
    createFinalizedAlloc(
        sys::MemoryBlock StandardSegments,
        std::vector<
            orc::shared::WrapperFunctionCall>
            DeallocActions)

Declared at: llvm/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h:384

Parameters

sys::MemoryBlock StandardSegments
std::vector<orc::shared::WrapperFunctionCall> DeallocActions

void deallocate(
    std::vector<FinalizedAlloc> Alloc,
    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/JITLink/JITLinkMemoryManager.h:370

Parameters

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