LLVM 19.0.0git
Static Public Member Functions | List of all members
llvm::orc::LocalTrampolinePool< ORCABI > Class Template Reference

A trampoline pool for trampolines within the current process. More...

#include "llvm/ExecutionEngine/Orc/IndirectionUtils.h"

Inheritance diagram for llvm::orc::LocalTrampolinePool< ORCABI >:
Inheritance graph
[legend]

Static Public Member Functions

static Expected< std::unique_ptr< LocalTrampolinePool > > Create (ResolveLandingFunction ResolveLanding)
 Creates a LocalTrampolinePool with the given RunCallback function.
 

Additional Inherited Members

- Public Types inherited from llvm::orc::TrampolinePool
using NotifyLandingResolvedFunction = unique_function< void(ExecutorAddr) const >
 
using ResolveLandingFunction = unique_function< void(ExecutorAddr TrampolineAddr, NotifyLandingResolvedFunction OnLandingResolved) const >
 
- Public Member Functions inherited from llvm::orc::TrampolinePool
virtual ~TrampolinePool ()
 
Expected< ExecutorAddrgetTrampoline ()
 Get an available trampoline address.
 
void releaseTrampoline (ExecutorAddr TrampolineAddr)
 Returns the given trampoline to the pool for re-use.
 
virtual Error grow ()=0
 
- Protected Attributes inherited from llvm::orc::TrampolinePool
std::mutex TPMutex
 
std::vector< ExecutorAddrAvailableTrampolines
 

Detailed Description

template<typename ORCABI>
class llvm::orc::LocalTrampolinePool< ORCABI >

A trampoline pool for trampolines within the current process.

Definition at line 102 of file IndirectionUtils.h.

Member Function Documentation

◆ Create()

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

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.

Definition at line 108 of file IndirectionUtils.h.

References llvm::Error::success().


The documentation for this class was generated from the following file: