LLVM  6.0.0svn
Public Member Functions | Protected Attributes | List of all members
llvm::orc::RTDyldObjectLinkingLayerBase::LinkedObject Class Referenceabstract

Holds an object to be allocated/linked as a unit in the JIT. More...

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

Collaboration diagram for llvm::orc::RTDyldObjectLinkingLayerBase::LinkedObject:
Collaboration graph
[legend]

Public Member Functions

 LinkedObject ()=default
 
 LinkedObject (const LinkedObject &)=delete
 
void operator= (const LinkedObject &)=delete
 
virtual ~LinkedObject ()=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 an object to be allocated/linked as a unit in the JIT.

An instance of this class will be created for each object added via JITObjectLayer::addObject. Deleting the instance (via removeObject) 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 51 of file RTDyldObjectLinkingLayer.h.

Constructor & Destructor Documentation

◆ LinkedObject() [1/2]

llvm::orc::RTDyldObjectLinkingLayerBase::LinkedObject::LinkedObject ( )
default

◆ LinkedObject() [2/2]

llvm::orc::RTDyldObjectLinkingLayerBase::LinkedObject::LinkedObject ( const LinkedObject )
delete

◆ ~LinkedObject()

virtual llvm::orc::RTDyldObjectLinkingLayerBase::LinkedObject::~LinkedObject ( )
virtualdefault

Member Function Documentation

◆ finalize()

virtual void llvm::orc::RTDyldObjectLinkingLayerBase::LinkedObject::finalize ( )
pure virtual

◆ getSymbol()

JITSymbol llvm::orc::RTDyldObjectLinkingLayerBase::LinkedObject::getSymbol ( StringRef  Name,
bool  ExportedSymbolsOnly 
)
inline

Definition at line 66 of file RTDyldObjectLinkingLayer.h.

References Finalized, getSymbolMaterializer(), and SymbolTable.

◆ getSymbolMaterializer()

virtual JITSymbol::GetAddressFtor llvm::orc::RTDyldObjectLinkingLayerBase::LinkedObject::getSymbolMaterializer ( std::string  Name)
pure virtual

Referenced by getSymbol().

◆ mapSectionAddress()

virtual void llvm::orc::RTDyldObjectLinkingLayerBase::LinkedObject::mapSectionAddress ( const void *  LocalAddress,
JITTargetAddress  TargetAddr 
) const
pure virtual

◆ operator=()

void llvm::orc::RTDyldObjectLinkingLayerBase::LinkedObject::operator= ( const LinkedObject )
delete

Member Data Documentation

◆ Finalized

bool llvm::orc::RTDyldObjectLinkingLayerBase::LinkedObject::Finalized = false
protected

Definition at line 80 of file RTDyldObjectLinkingLayer.h.

Referenced by getSymbol().

◆ SymbolTable

StringMap<JITEvaluatedSymbol> llvm::orc::RTDyldObjectLinkingLayerBase::LinkedObject::SymbolTable
protected

Definition at line 79 of file RTDyldObjectLinkingLayer.h.

Referenced by getSymbol().


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