LLVM  12.0.0git
Public Member Functions | Static Public Member Functions | List of all members
llvm::orc::Platform Class Referenceabstract

Platforms set up standard symbols and mediate interactions between dynamic initializers (e.g. More...

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

Inheritance diagram for llvm::orc::Platform:
Inheritance graph
[legend]

Public Member Functions

virtual ~Platform ()
 
virtual Error setupJITDylib (JITDylib &JD)=0
 This method will be called outside the session lock each time a JITDylib is created (unless it is created with EmptyJITDylib set) to allow the Platform to install any JITDylib specific standard symbols (e.g __dso_handle). More...
 
virtual Error notifyAdding (JITDylib &JD, const MaterializationUnit &MU)=0
 This method will be called under the ExecutionSession lock each time a MaterializationUnit is added to a JITDylib. More...
 
virtual Error notifyRemoving (JITDylib &JD, VModuleKey K)=0
 This method will be called under the ExecutionSession lock when a VModuleKey is removed. More...
 

Static Public Member Functions

static Expected< DenseMap< JITDylib *, SymbolMap > > lookupInitSymbols (ExecutionSession &ES, const DenseMap< JITDylib *, SymbolLookupSet > &InitSyms)
 A utility function for looking up initializer symbols. More...
 

Detailed Description

Platforms set up standard symbols and mediate interactions between dynamic initializers (e.g.

C++ static constructors) and ExecutionSession state. Note that Platforms do not automatically run initializers: clients are still responsible for doing this.

Definition at line 1062 of file Core.h.

Constructor & Destructor Documentation

◆ ~Platform()

llvm::orc::Platform::~Platform ( )
virtual

Definition at line 1724 of file Core.cpp.

Member Function Documentation

◆ lookupInitSymbols()

Expected< DenseMap< JITDylib *, SymbolMap > > llvm::orc::Platform::lookupInitSymbols ( ExecutionSession ES,
const DenseMap< JITDylib *, SymbolLookupSet > &  InitSyms 
)
static

◆ notifyAdding()

virtual Error llvm::orc::Platform::notifyAdding ( JITDylib JD,
const MaterializationUnit MU 
)
pure virtual

This method will be called under the ExecutionSession lock each time a MaterializationUnit is added to a JITDylib.

Implemented in llvm::orc::MachOPlatform.

◆ notifyRemoving()

virtual Error llvm::orc::Platform::notifyRemoving ( JITDylib JD,
VModuleKey  K 
)
pure virtual

This method will be called under the ExecutionSession lock when a VModuleKey is removed.

Implemented in llvm::orc::MachOPlatform.

◆ setupJITDylib()

virtual Error llvm::orc::Platform::setupJITDylib ( JITDylib JD)
pure virtual

This method will be called outside the session lock each time a JITDylib is created (unless it is created with EmptyJITDylib set) to allow the Platform to install any JITDylib specific standard symbols (e.g __dso_handle).

Implemented in llvm::orc::MachOPlatform.


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