LLVM 19.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]

Public Member Functions

 EPCEHFrameRegistrar (ExecutionSession &ES, ExecutorAddr RegisterEHFrameSectionWrapper, ExecutorAddr DeregisterEHFRameSectionWrapper)
 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)
 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  RegisterEHFrameSectionWrapper,
ExecutorAddr  DeregisterEHFRameSectionWrapper 
)
inline

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

Definition at line 40 of file EPCEHFrameRegistrar.h.

Member Function Documentation

◆ Create()

Expected< std::unique_ptr< EPCEHFrameRegistrar > > llvm::orc::EPCEHFrameRegistrar::Create ( ExecutionSession ES)
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 20 of file EPCEHFrameRegistrar.cpp.

References llvm::orc::ExecutorProcessControl::getBootstrapSymbols(), and llvm::orc::ExecutionSession::getExecutorProcessControl().

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

◆ deregisterEHFrames()

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

Implements llvm::jitlink::EHFrameRegistrar.

Definition at line 42 of file EPCEHFrameRegistrar.cpp.

◆ registerEHFrames()

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

Implements llvm::jitlink::EHFrameRegistrar.

Definition at line 37 of file EPCEHFrameRegistrar.cpp.


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