class TrampolinePool

Declaration

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

Description

Base class for pools of compiler re-entry trampolines. These trampolines are callable addresses that save all register state before calling a supplied function to return the trampoline landing address, then restore all state before jumping to that address. They are used by various ORC APIs to support lazy compilation

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

Member Variables

protected std::mutex TPMutex
protected std::vector<JITTargetAddress> AvailableTrampolines

Method Overview

Methods

Expected<llvm::JITTargetAddress> getTrampoline()

Description

Get an available trampoline address. Returns an error if no trampoline can be created.

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

virtual llvm::Error grow()

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

void releaseTrampoline(
    llvm::JITTargetAddress TrampolineAddr)

Description

Returns the given trampoline to the pool for re-use.

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

Parameters

llvm::JITTargetAddress TrampolineAddr

virtual ~TrampolinePool()

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