LLVM 17.0.0git
Public Member Functions | Static Public Member Functions | List of all members
llvm::orc::EPCEHFrameRegistrar Class Reference

Register/Deregisters EH frames in a remote process via a ExecutorProcessControl instance. More...

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

Inheritance diagram for llvm::orc::EPCEHFrameRegistrar:
Inheritance graph
[legend]
Collaboration diagram for llvm::orc::EPCEHFrameRegistrar:
Collaboration graph
[legend]

Public Member Functions

 EPCEHFrameRegistrar (ExecutionSession &ES, ExecutorAddr RegisterEHFrameWrapperFnAddr, ExecutorAddr DeregisterEHFRameWrapperFnAddr)
 Create a EPCEHFrameRegistrar with the given ExecutorProcessControl object and registration/deregistration function addresses.
 
Error registerEHFrames (ExecutorAddrRange EHFrameSection) override
 
Error deregisterEHFrames (ExecutorAddrRange EHFrameSection) override
 

Static Public Member Functions

static Expected< std::unique_ptr< EPCEHFrameRegistrar > > Create (ExecutionSession &ES, std::optional< ExecutorAddr > RegistrationFunctionsDylib=std::nullopt)
 Create from a ExecutorProcessControl instance alone.
 

Detailed Description

Register/Deregisters EH frames in a remote process via a ExecutorProcessControl instance.

Definition at line 26 of file EPCEHFrameRegistrar.h.

Constructor & Destructor Documentation

◆ EPCEHFrameRegistrar()

llvm::orc::EPCEHFrameRegistrar::EPCEHFrameRegistrar ( ExecutionSession ES,
ExecutorAddr  RegisterEHFrameWrapperFnAddr,
ExecutorAddr  DeregisterEHFRameWrapperFnAddr 
)
inline

Create a EPCEHFrameRegistrar with the given ExecutorProcessControl object and registration/deregistration function addresses.

Definition at line 41 of file EPCEHFrameRegistrar.h.

Member Function Documentation

◆ Create()

Expected< std::unique_ptr< EPCEHFrameRegistrar > > llvm::orc::EPCEHFrameRegistrar::Create ( ExecutionSession ES,
std::optional< ExecutorAddr RegistrationFunctionsDylib = std::nullopt 
)
static

Create from a ExecutorProcessControl instance alone.

This will use the EPC's lookupSymbols method to find the registration/deregistration function addresses by name.

If RegistrationFunctionsDylib is non-None then it will be searched to find the registration functions. If it is None then the process dylib will be loaded to find the registration functions.

Definition at line 19 of file EPCEHFrameRegistrar.cpp.

References llvm::orc::SymbolLookupSet::add(), assert(), D, llvm::orc::ExecutionSession::getExecutorProcessControl(), llvm::orc::Result, and llvm::size().

Referenced by llvm::orc::LLJITBuilderState::prepareForConstruction().

◆ deregisterEHFrames()

Error llvm::orc::EPCEHFrameRegistrar::deregisterEHFrames ( ExecutorAddrRange  EHFrameSection)
overridevirtual

◆ registerEHFrames()

Error llvm::orc::EPCEHFrameRegistrar::registerEHFrames ( ExecutorAddrRange  EHFrameSection)
overridevirtual

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