class MapperJITLinkMemoryManager::InFlightAlloc

Declaration

class MapperJITLinkMemoryManager::InFlightAlloc : public InFlightAlloc { /* full declaration omitted */ };

Description

Represents an allocation which has not been finalized yet. InFlightAllocs manage both executor memory allocations and working memory allocations. On finalization, the InFlightAlloc should transfer the content of working memory into executor memory, apply memory protections, and run any finalization functions. Working memory should be kept alive at least until one of the following happens: (1) the InFlightAlloc instance is destroyed, (2) the InFlightAlloc is abandoned, (3) finalized target memory is destroyed. If abandon is called then working memory and executor memory should both be freed.

Declared at: llvm/lib/ExecutionEngine/Orc/MapperJITLinkMemoryManager.cpp:21

Inherits from: JITLinkMemoryManager::InFlightAlloc

Member Variables

private llvm::orc::MapperJITLinkMemoryManager& Parent
private llvm::jitlink::LinkGraph& G
private llvm::orc::ExecutorAddr AllocAddr
private std::vector<MemoryMapper::AllocInfo::SegInfo> Segs

Method Overview

  • public InFlightAlloc(llvm::orc::MapperJITLinkMemoryManager & Parent, llvm::jitlink::LinkGraph & G, llvm::orc::ExecutorAddr AllocAddr, std::vector<MemoryMapper::AllocInfo::SegInfo> Segs)
  • public void abandon(llvm::jitlink::JITLinkMemoryManager::InFlightAlloc::OnAbandonedFunction OnFinalize)
  • public void finalize(llvm::jitlink::JITLinkMemoryManager::InFlightAlloc::OnFinalizedFunction OnFinalize)

Inherited from JITLinkMemoryManager::InFlightAlloc:

Methods

InFlightAlloc(
    llvm::orc::MapperJITLinkMemoryManager& Parent,
    llvm::jitlink::LinkGraph& G,
    llvm::orc::ExecutorAddr AllocAddr,
    std::vector<MemoryMapper::AllocInfo::SegInfo>
        Segs)

Declared at: llvm/lib/ExecutionEngine/Orc/MapperJITLinkMemoryManager.cpp:24

Parameters

llvm::orc::MapperJITLinkMemoryManager& Parent
llvm::jitlink::LinkGraph& G
llvm::orc::ExecutorAddr AllocAddr
std::vector<MemoryMapper::AllocInfo::SegInfo> Segs

void abandon(
    llvm::jitlink::JITLinkMemoryManager::
        InFlightAlloc::OnAbandonedFunction
            OnFinalize)

Description

Called prior to finalization if the allocation should be abandoned.

Declared at: llvm/lib/ExecutionEngine/Orc/MapperJITLinkMemoryManager.cpp:46

Parameters

llvm::jitlink::JITLinkMemoryManager:: InFlightAlloc::OnAbandonedFunction OnFinalize

void finalize(
    llvm::jitlink::JITLinkMemoryManager::
        InFlightAlloc::OnFinalizedFunction
            OnFinalize)

Description

Called to transfer working memory to the target and apply finalization.

Declared at: llvm/lib/ExecutionEngine/Orc/MapperJITLinkMemoryManager.cpp:29

Parameters

llvm::jitlink::JITLinkMemoryManager:: InFlightAlloc::OnFinalizedFunction OnFinalize