LLVM  8.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 Error 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 101 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 Error llvm::orc::RTDyldObjectLinkingLayerBase::LinkedObject::finalize ( )
pure virtual

◆ getSymbol()

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

Definition at line 116 of file RTDyldObjectLinkingLayer.h.

◆ getSymbolMaterializer()

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

◆ 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 130 of file RTDyldObjectLinkingLayer.h.

◆ SymbolTable

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

Definition at line 129 of file RTDyldObjectLinkingLayer.h.


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