Go to the documentation of this file.
13 #ifndef LLVM_EXECUTIONENGINE_RTDYLDMEMORYMANAGER_H
14 #define LLVM_EXECUTIONENGINE_RTDYLDMEMORYMANAGER_H
26 class ExecutionEngine;
51 void anchor()
override;
138 bool AbortOnFailure =
true);
149 void anchor()
override;
158 #endif // LLVM_EXECUTIONENGINE_RTDYLDMEMORYMANAGER_H
void registerEHFrames(uint8_t *Addr, uint64_t LoadAddr, size_t Size) override
Register the EH frames with the runtime so that c++ exceptions work.
This is an optimization pass for GlobalISel generic memory operations.
RTDyldMemoryManager()=default
struct LLVMOpaqueMCJITMemoryManager * LLVMMCJITMemoryManagerRef
virtual void * getPointerToNamedFunction(const std::string &Name, bool AbortOnFailure=true)
This method returns the address of the specified function.
#define DEFINE_SIMPLE_CONVERSION_FUNCTIONS(ty, ref)
JITSymbol findSymbol(const std::string &Name) override
This method returns a RuntimeDyld::SymbolInfo for the specified function or variable.
void operator=(const RTDyldMemoryManager &)=delete
JITSymbol findSymbolInLogicalDylib(const std::string &Name) override
Default to treating all modules as separate.
Legacy symbol resolution interface.
std::vector< EHFrame > EHFrameInfos
bar al al movzbl eax ret Missed when stored in a memory object
static void deregisterEHFramesInProcess(uint8_t *Addr, size_t Size)
Deregister EH frames in the current proces.
virtual void notifyObjectLoaded(RuntimeDyld &RTDyld, const object::ObjectFile &Obj)
This method is called after an object has been loaded into memory but before relocations are applied ...
virtual void notifyObjectLoaded(ExecutionEngine *EE, const object::ObjectFile &)
This method is called after an object has been loaded into memory but before relocations are applied ...
~RTDyldMemoryManager() override
This class is the base class for all object file types.
void deregisterEHFrames() override
static uint64_t getSymbolAddressInProcess(const std::string &Name)
This method returns the address of the specified function or variable in the current process.
Abstract interface for implementation execution of LLVM modules, designed to support both interpreter...
virtual uint64_t getSymbolAddress(const std::string &Name)
Legacy symbol lookup - DEPRECATED! Please override findSymbol instead.
virtual uint64_t getSymbolAddressInLogicalDylib(const std::string &Name)
Legacy symbol lookup – DEPRECATED! Please override findSymbolInLogicalDylib instead.
Represents a symbol in the JIT.
static void registerEHFramesInProcess(uint8_t *Addr, size_t Size)
Register EH frames in the current process.