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

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 137 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 152 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 )

Member Data Documentation

◆ Finalized

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

Definition at line 166 of file RTDyldObjectLinkingLayer.h.

◆ SymbolTable

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

Definition at line 165 of file RTDyldObjectLinkingLayer.h.

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