LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | List of all members
llvm::RuntimeDyld Class Reference

#include <RuntimeDyld.h>

Public Member Functions

 RuntimeDyld (RTDyldMemoryManager *)
 
 ~RuntimeDyld ()
 
ObjectImageloadObject (ObjectBuffer *InputBuffer)
 
void * getSymbolAddress (StringRef Name)
 
uint64_t getSymbolLoadAddress (StringRef Name)
 
void resolveRelocations ()
 Resolve the relocations for all symbols we currently know about. More...
 
void mapSectionAddress (const void *LocalAddress, uint64_t TargetAddress)
 
void registerEHFrames ()
 
void deregisterEHFrames ()
 
StringRef getErrorString ()
 

Protected Member Functions

void reassignSectionAddress (unsigned SectionID, uint64_t Addr)
 

Detailed Description

Definition at line 27 of file RuntimeDyld.h.

Constructor & Destructor Documentation

llvm::RuntimeDyld::RuntimeDyld ( RTDyldMemoryManager mm)

Definition at line 551 of file RuntimeDyld.cpp.

llvm::RuntimeDyld::~RuntimeDyld ( )

Definition at line 562 of file RuntimeDyld.cpp.

Member Function Documentation

void llvm::RuntimeDyld::deregisterEHFrames ( )

Definition at line 642 of file RuntimeDyld.cpp.

Referenced by llvm::MCJIT::~MCJIT().

StringRef llvm::RuntimeDyld::getErrorString ( )

Definition at line 633 of file RuntimeDyld.cpp.

Referenced by llvm::MCJIT::generateCodeForModule().

void * llvm::RuntimeDyld::getSymbolAddress ( StringRef  Name)

Get the address of our local copy of the symbol. This may or may not be the address used for relocation (clients can copy the data around and resolve relocatons based on where they put it).

Definition at line 607 of file RuntimeDyld.cpp.

uint64_t llvm::RuntimeDyld::getSymbolLoadAddress ( StringRef  Name)

Get the address of the target copy of the symbol. This is the address used for relocation.

Definition at line 613 of file RuntimeDyld.cpp.

Referenced by llvm::MCJIT::getExistingSymbolAddress(), and llvm::MCJIT::getPointerToFunction().

ObjectImage * llvm::RuntimeDyld::loadObject ( ObjectBuffer InputBuffer)
void llvm::RuntimeDyld::mapSectionAddress ( const void *  LocalAddress,
uint64_t  TargetAddress 
)

Map a section to its target address space value. Map the address of a JIT section as returned from the memory manager to the address in the target process as the running code will see it. This is the address which will be used for relocation resolution.

Definition at line 628 of file RuntimeDyld.cpp.

Referenced by llvm::MCJIT::mapSectionAddress().

void llvm::RuntimeDyld::reassignSectionAddress ( unsigned  SectionID,
uint64_t  Addr 
)
protected

Definition at line 623 of file RuntimeDyld.cpp.

void llvm::RuntimeDyld::registerEHFrames ( )

Register any EH frame sections that have been loaded but not previously registered with the memory manager. Note, RuntimeDyld is responsible for identifying the EH frame and calling the memory manager with the EH frame section data. However, the memory manager itself will handle the actual target-specific EH frame registration.

Definition at line 637 of file RuntimeDyld.cpp.

Referenced by llvm::MCJIT::finalizeLoadedModules().

void llvm::RuntimeDyld::resolveRelocations ( )

Resolve the relocations for all symbols we currently know about.

Definition at line 619 of file RuntimeDyld.cpp.

Referenced by llvm::MCJIT::finalizeLoadedModules().


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