class MemoryMapper

Declaration

class MemoryMapper { /* full declaration omitted */ };

Description

Manages mapping, content transfer and protections for JIT memory

Declared at: llvm/include/llvm/ExecutionEngine/Orc/MemoryMapper.h:25

Method Overview

  • public virtual void deinitialize(ArrayRef<llvm::orc::ExecutorAddr> Allocations, llvm::orc::MemoryMapper::OnDeinitializedFunction OnDeInitialized)
  • public virtual unsigned int getPageSize()
  • public virtual void initialize(llvm::orc::MemoryMapper::AllocInfo & AI, llvm::orc::MemoryMapper::OnInitializedFunction OnInitialized)
  • public virtual char * prepare(llvm::orc::ExecutorAddr Addr, size_t ContentSize)
  • public virtual void release(ArrayRef<llvm::orc::ExecutorAddr> Reservations, llvm::orc::MemoryMapper::OnReleasedFunction OnRelease)
  • public virtual void reserve(size_t NumBytes, llvm::orc::MemoryMapper::OnReservedFunction OnReserved)
  • public virtual ~MemoryMapper()

Methods

virtual void deinitialize(
    ArrayRef<llvm::orc::ExecutorAddr> Allocations,
    llvm::orc::MemoryMapper::
        OnDeinitializedFunction OnDeInitialized)

Description

Runs previously specified deinitialization actions Executor addresses returned by initialize should be passed

Declared at: llvm/include/llvm/ExecutionEngine/Orc/MemoryMapper.h:69

Parameters

ArrayRef<llvm::orc::ExecutorAddr> Allocations
llvm::orc::MemoryMapper::OnDeinitializedFunction OnDeInitialized

virtual unsigned int getPageSize()

Declared at: llvm/include/llvm/ExecutionEngine/Orc/MemoryMapper.h:46

virtual void initialize(
    llvm::orc::MemoryMapper::AllocInfo& AI,
    llvm::orc::MemoryMapper::OnInitializedFunction
        OnInitialized)

Description

Ensures executor memory is synchronized with working copy memory, sends functions to be called after initilization and before deinitialization and applies memory protections Returns a unique address identifying the allocation. This address should be passed to deinitialize to run deallocation actions (and reset permissions where possible).

Declared at: llvm/include/llvm/ExecutionEngine/Orc/MemoryMapper.h:62

Parameters

llvm::orc::MemoryMapper::AllocInfo& AI
llvm::orc::MemoryMapper::OnInitializedFunction OnInitialized

virtual char* prepare(
    llvm::orc::ExecutorAddr Addr,
    size_t ContentSize)

Description

Provides working memory

Declared at: llvm/include/llvm/ExecutionEngine/Orc/MemoryMapper.h:52

Parameters

llvm::orc::ExecutorAddr Addr
size_t ContentSize

virtual void release(
    ArrayRef<llvm::orc::ExecutorAddr>
        Reservations,
    llvm::orc::MemoryMapper::OnReleasedFunction
        OnRelease)

Description

Release address space acquired through reserve()

Declared at: llvm/include/llvm/ExecutionEngine/Orc/MemoryMapper.h:75

Parameters

ArrayRef<llvm::orc::ExecutorAddr> Reservations
llvm::orc::MemoryMapper::OnReleasedFunction OnRelease

virtual void reserve(
    size_t NumBytes,
    llvm::orc::MemoryMapper::OnReservedFunction
        OnReserved)

Description

Reserves address space in executor process

Declared at: llvm/include/llvm/ExecutionEngine/Orc/MemoryMapper.h:49

Parameters

size_t NumBytes
llvm::orc::MemoryMapper::OnReservedFunction OnReserved

virtual ~MemoryMapper()

Declared at: llvm/include/llvm/ExecutionEngine/Orc/MemoryMapper.h:78