llvm-project/llvm/lib/ExecutionEngine
Lang Hames 3dac3f7fe6 [ExecutionEngine] Fix MCJIT::addGlobalMapping.
This patch fixes MCJIT::addGlobalMapping by changing the implementation of the
ExecutionEngineState class. The new implementation maintains a bidirectional
mapping between symbol names (std::strings) and addresses (uint64_ts), rather
than a mapping between Value*s and void*s.

This has fix has been made for backwards compatibility, however the strongly
preferred way to resolve unknown symbols is by writing a custom
RuntimeDyld::SymbolResolver (formerly RTDyldMemoryManager) and overriding the
findSymbol method. The addGlobalMapping method is a hangover from the legacy JIT
(which has was removed in 3.6), and may be deprecated in a future release as
part of a clean-up of the ExecutionEngine interface.

Patch by Murat Bolat. Thanks Murat!

llvm-svn: 233747
2015-03-31 20:31:14 +00:00
..
IntelJITEvents Move DebugInfo to DebugInfo/DWARF. 2015-01-30 18:07:45 +00:00
Interpreter Remove more superfluous .str() and replace std::string concatenation with Twine. 2015-03-30 15:42:36 +00:00
MCJIT [MCJIT][Orc] Refactor RTDyldMemoryManager, weave RuntimeDyld::SymbolInfo through 2015-03-30 03:37:06 +00:00
OProfileJIT [cleanup] Re-sort all the #include lines in LLVM using 2015-01-14 11:23:27 +00:00
Orc [MCJIT][Orc] Refactor RTDyldMemoryManager, weave RuntimeDyld::SymbolInfo through 2015-03-30 03:37:06 +00:00
RuntimeDyld [MCJIT] In debug memory dump output, don't truncate 64 bit addresses 2015-03-30 05:15:57 +00:00
CMakeLists.txt [ExecutionEngine] Fix dependence issue by moving RTDyldMemoryManager into 2015-02-15 23:22:43 +00:00
EventListenerCommon.h Switch this header file to not hard-code Windows line endings. 2015-01-15 02:21:56 +00:00
ExecutionEngine.cpp [ExecutionEngine] Fix MCJIT::addGlobalMapping. 2015-03-31 20:31:14 +00:00
ExecutionEngineBindings.cpp [C API] Expose LLVMGetGlobalValueAddress and LLVMGetFunctionAddress. 2014-12-22 18:53:11 +00:00
GDBRegistrationListener.cpp [cleanup] Re-sort all the #include lines in LLVM using 2015-01-14 11:23:27 +00:00
LLVMBuild.txt [ExecutionEngine] Fix dependence issue by moving RTDyldMemoryManager into 2015-02-15 23:22:43 +00:00
Makefile [Orc] New JIT APIs. 2015-01-23 21:25:00 +00:00
SectionMemoryManager.cpp [Orc] Move SectionMemoryManager's implementation from MCJIT to ExecutionEngine. 2015-02-06 19:36:40 +00:00
TargetSelect.cpp Reinstate "Nuke the old JIT." 2014-09-02 22:28:02 +00:00