class LocalTrampolinePool

Declaration

template <typename ORCABI>
class LocalTrampolinePool : public TrampolinePool { /* full declaration omitted */ };

Description

A trampoline pool for trampolines within the current process.

Declared at: llvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h:102

Inherits from: TrampolinePool

Templates

ORCABI

Member Variables

private llvm::orc::TrampolinePool::ResolveLandingFunction ResolveLanding
private sys::OwningMemoryBlock ResolverBlock
private std::vector<sys::OwningMemoryBlock> TrampolineBlocks

Inherited from TrampolinePool:

protected TPMutex
protected AvailableTrampolines

Method Overview

  • public static Expected<std::unique_ptr<LocalTrampolinePool<ORCABI>>> Create(llvm::orc::TrampolinePool::ResolveLandingFunction ResolveLanding)
  • private LocalTrampolinePool<ORCABI>(llvm::orc::TrampolinePool::ResolveLandingFunction ResolveLanding, llvm::Error & Err)
  • private llvm::Error grow()
  • private static llvm::JITTargetAddress reenter(void * TrampolinePoolPtr, void * TrampolineId)

Inherited from TrampolinePool:

Methods

static Expected<
    std::unique_ptr<LocalTrampolinePool<ORCABI>>>
Create(llvm::orc::TrampolinePool::
           ResolveLandingFunction ResolveLanding)

Description

Creates a LocalTrampolinePool with the given RunCallback function. Returns an error if this function is unable to correctly allocate, write and protect the resolver code block.

Declared at: llvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h:108

Parameters

llvm::orc::TrampolinePool::ResolveLandingFunction ResolveLanding

LocalTrampolinePool<ORCABI>(
    llvm::orc::TrampolinePool::
        ResolveLandingFunction ResolveLanding,
    llvm::Error& Err)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h:134

Parameters

llvm::orc::TrampolinePool::ResolveLandingFunction ResolveLanding
llvm::Error& Err

llvm::Error grow()

Declared at: llvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h:163

static llvm::JITTargetAddress reenter(
    void* TrampolinePoolPtr,
    void* TrampolineId)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h:120

Parameters

void* TrampolinePoolPtr
void* TrampolineId