LLVM  7.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

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

Constructor & Destructor Documentation

◆ LinkedObject() [1/2]

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

◆ LinkedObject() [2/2]

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

◆ ~LinkedObject()

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

Member Function Documentation

◆ finalize()

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

◆ getSymbol()

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

Definition at line 68 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 )

Member Data Documentation

◆ Finalized

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

Definition at line 82 of file RTDyldObjectLinkingLayer.h.

Referenced by getSymbol().

◆ SymbolTable

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

Definition at line 81 of file RTDyldObjectLinkingLayer.h.

Referenced by getSymbol().

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