LLVM  4.0.0
Public Member Functions | Protected Attributes | List of all members
llvm::orc::ObjectLinkingLayerBase::LinkedObjectSet Class Referenceabstract

Holds a set of objects to be allocated/linked as a unit in the JIT. More...

#include <ObjectLinkingLayer.h>

Collaboration diagram for llvm::orc::ObjectLinkingLayerBase::LinkedObjectSet:
[legend]

Public Member Functions

 LinkedObjectSet ()=default
 
 LinkedObjectSet (const LinkedObjectSet &)=delete
 
void operator= (const LinkedObjectSet &)=delete
 
virtual ~LinkedObjectSet ()=default
 
virtual void finalize ()=0
 
virtual JITSymbol::GetAddressFtor getSymbolMaterializer (std::string Name)=0
 
virtual void mapSectionAddress (const void *LocalAddress, JITTargetAddress TargetAddr) const =0
 
JITSymbol getSymbol (StringRef Name, bool ExportedSymbolsOnly)
 

Protected Attributes

StringMap< JITEvaluatedSymbolSymbolTable
 
bool Finalized = false
 

Detailed Description

Holds a set of objects to be allocated/linked as a unit in the JIT.

An instance of this class will be created for each set of objects added via JITObjectLayer::addObjectSet. Deleting the instance (via removeObjectSet) frees its memory, removing all symbol definitions that had been provided by this instance. Higher level layers are responsible for taking any action required to handle the missing symbols.

Definition at line 47 of file ObjectLinkingLayer.h.

Constructor & Destructor Documentation

llvm::orc::ObjectLinkingLayerBase::LinkedObjectSet::LinkedObjectSet ( )
default
llvm::orc::ObjectLinkingLayerBase::LinkedObjectSet::LinkedObjectSet ( const LinkedObjectSet )
delete
virtual llvm::orc::ObjectLinkingLayerBase::LinkedObjectSet::~LinkedObjectSet ( )
virtualdefault

Member Function Documentation

virtual void llvm::orc::ObjectLinkingLayerBase::LinkedObjectSet::finalize ( )
pure virtual
JITSymbol llvm::orc::ObjectLinkingLayerBase::LinkedObjectSet::getSymbol ( StringRef  Name,
bool  ExportedSymbolsOnly 
)
inline

Definition at line 62 of file ObjectLinkingLayer.h.

References Finalized, getSymbolMaterializer(), and SymbolTable.

virtual JITSymbol::GetAddressFtor llvm::orc::ObjectLinkingLayerBase::LinkedObjectSet::getSymbolMaterializer ( std::string  Name)
pure virtual

Referenced by getSymbol().

virtual void llvm::orc::ObjectLinkingLayerBase::LinkedObjectSet::mapSectionAddress ( const void *  LocalAddress,
JITTargetAddress  TargetAddr 
) const
pure virtual
void llvm::orc::ObjectLinkingLayerBase::LinkedObjectSet::operator= ( const LinkedObjectSet )
delete

Member Data Documentation

bool llvm::orc::ObjectLinkingLayerBase::LinkedObjectSet::Finalized = false
protected

Definition at line 76 of file ObjectLinkingLayer.h.

Referenced by getSymbol().

StringMap<JITEvaluatedSymbol> llvm::orc::ObjectLinkingLayerBase::LinkedObjectSet::SymbolTable
protected

Definition at line 75 of file ObjectLinkingLayer.h.

Referenced by getSymbol().


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