Memory manager and symbol resolver for RuntimeDyld and MCJIT clients.
Synopsis
Declared in <llvm/ExecutionEngine/RTDyldMemoryManager.h>
class RTDyldMemoryManager
: public MCJITMemoryManager
, public LegacyJITSymbolResolver
Description
RuntimeDyld clients often want to handle the memory management of what gets placed where. For JIT clients, this is the subset of JITMemoryManager required for dynamic loading of binaries.
FIXME: As the RuntimeDyld fills out, additional routines will be needed for the varying types of objects to be allocated.
Base Classes
Name |
Description |
Memory manager interface for MCJIT with ExecutionEngine‐aware callbacks. |
|
Legacy symbol resolution interface. |
Types
Name |
Description |
An allocated TLS section |
Type Aliases
Name |
Description |
Map from symbol name to fully resolved evaluated symbol. |
|
Set of symbol names to look up together. |
|
Callback invoked with the result of an asynchronous symbol lookup. |
Member Functions
Name |
Description |
|
Constructors |
|
Destroy the RTDyld memory manager. |
|
Deleted copy assignment operator. |
|
Allocate a memory block suitable for executable code. |
|
Allocate a memory block suitable for data. |
|
Allocate a memory block to be used for thread‐local storage (TLS). |
|
Return whether stub space may be allocated for this memory manager. |
|
Specify if this resolver can return valid symbols with zero value. |
|
Deregister previously registered EH frames with the runtime. |
|
Apply section permissions and cache coherency after loading completes. |
|
This method returns a RuntimeDyld::SymbolInfo for the specified function or variable. It is used to resolve symbols during module linking. |
|
Default to treating all modules as separate. |
|
This method returns the address of the specified function. As such it is only useful for resolving library symbols, not code generated symbols. |
|
Performs flags lookup by calling findSymbolInLogicalDylib and returning the flags value for that symbol. |
|
Legacy symbol lookup ‐ DEPRECATED! Please override findSymbol instead. |
|
Legacy symbol lookup ‐‐ DEPRECATED! Please override findSymbolInLogicalDylib instead. |
|
Performs lookup by, for each symbol, first calling findSymbolInLogicalDylib and if that fails calling findSymbol. |
|
Override to return true to enable the reserveAllocationSpace callback. |
|
|
|
Register the EH frames with the runtime so that C++ exceptions work. |
|
Inform the memory manager of total memory needed for all sections. |
Static Member Functions
Name |
Description |
Deregister EH frames in the current process. |
|
This method returns the address of the specified function or variable in the current process. |
|
Register EH frames in the current process. |
Using Declarations
Name |
Description |
Bring in RuntimeDyld::MemoryManager::notifyObjectLoaded. |
Protected Types
Name |
Description |
An EH frame section recorded for later registration or deregistration. |
Protected Type Aliases
Name |
Description |
List of EH frame sections managed by this memory manager. |
Protected Data Members
Name |
Description |
EH frame sections registered with this memory manager. |
Non-Member Functions
Derived Classes
Name |
Description |
Simple section‐based memory manager for RuntimeDyld and MCJIT. |
Created with MrDocs