14 #ifndef LLVM_EXECUTIONENGINE_RTDYLDMEMORYMANAGER_H 15 #define LLVM_EXECUTIONENGINE_RTDYLDMEMORYMANAGER_H 27 class ExecutionEngine;
52 void anchor()
override;
70 static void registerEHFramesInProcess(uint8_t *Addr,
size_t Size);
73 static void deregisterEHFramesInProcess(uint8_t *Addr,
size_t Size);
75 void registerEHFrames(uint8_t *Addr, uint64_t LoadAddr,
size_t Size)
override;
76 void deregisterEHFrames()
override;
80 static uint64_t getSymbolAddressInProcess(
const std::string &
Name);
87 return getSymbolAddressInProcess(Name);
125 return JITSymbol(getSymbolAddressInLogicalDylib(Name),
138 virtual void *getPointerToNamedFunction(
const std::string &Name,
139 bool AbortOnFailure =
true);
150 void anchor()
override;
159 #endif // LLVM_EXECUTIONENGINE_RTDYLDMEMORYMANAGER_H Represents a symbol in the JIT.
This class represents lattice values for constants.
virtual uint64_t getSymbolAddress(const std::string &Name)
Legacy symbol lookup - DEPRECATED! Please override findSymbol instead.
Legacy symbol resolution interface.
This class is the base class for all object file types.
amdgpu Simplify well known AMD library false Value Value const Twine & Name
struct LLVMOpaqueMCJITMemoryManager * LLVMMCJITMemoryManagerRef
#define DEFINE_SIMPLE_CONVERSION_FUNCTIONS(ty, ref)
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 ...
JITSymbol findSymbol(const std::string &Name) override
This method returns a RuntimeDyld::SymbolInfo for the specified function or variable.
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 ...
Abstract interface for implementation execution of LLVM modules, designed to support both interpreter...
virtual uint64_t getSymbolAddressInLogicalDylib(const std::string &Name)
Legacy symbol lookup – DEPRECATED! Please override findSymbolInLogicalDylib instead.
std::vector< EHFrame > EHFrameInfos
JITSymbol findSymbolInLogicalDylib(const std::string &Name) override
Default to treating all modules as separate.