LLVM  14.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. More...
 
Error registerEHFrames (JITTargetAddress EHFrameSectionAddr, size_t EHFrameSectionSize) override
 
Error deregisterEHFrames (JITTargetAddress EHFrameSectionAddr, size_t EHFrameSectionSize) override
 

Static Public Member Functions

static Expected< std::unique_ptr< EPCEHFrameRegistrar > > Create (ExecutionSession &ES)
 Create from a ExecutorProcessControl instance alone. More...
 

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 36 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 funciton addresses by name.

Definition at line 20 of file EPCEHFrameRegistrar.cpp.

References llvm::orc::SymbolLookupSet::add(), assert(), llvm::orc::ExecutionSession::getExecutorProcessControl(), llvm::orc::ExecutorProcessControl::loadDylib(), and llvm::size().

◆ deregisterEHFrames()

Error llvm::orc::EPCEHFrameRegistrar::deregisterEHFrames ( JITTargetAddress  EHFrameSectionAddr,
size_t  EHFrameSectionSize 
)
overridevirtual

Implements llvm::jitlink::EHFrameRegistrar.

Definition at line 66 of file EPCEHFrameRegistrar.cpp.

◆ registerEHFrames()

Error llvm::orc::EPCEHFrameRegistrar::registerEHFrames ( JITTargetAddress  EHFrameSectionAddr,
size_t  EHFrameSectionSize 
)
overridevirtual

Implements llvm::jitlink::EHFrameRegistrar.

Definition at line 59 of file EPCEHFrameRegistrar.cpp.


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