diff options
author | Lang Hames <lhames@gmail.com> | 2018-01-19 22:24:13 +0000 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2018-01-19 22:24:13 +0000 |
commit | b72f48452c528daf3b9fb7604a640e4e14e3f405 (patch) | |
tree | ed672be7baa3b1306f83f9f64f2b35d5fd18b6c8 /llvm/lib/ExecutionEngine/ExecutionEngine.cpp | |
parent | 8b2faeed022dc14b838416e12754d8d9c3074195 (diff) | |
download | bcm5719-llvm-b72f48452c528daf3b9fb7604a640e4e14e3f405.tar.gz bcm5719-llvm-b72f48452c528daf3b9fb7604a640e4e14e3f405.zip |
[ORC] Re-apply r322913 with a fix for a read-after-free error.
ExternalSymbolMap now stores the string key (rather than using a StringRef),
as the object file backing the key may be removed at any time.
llvm-svn: 323001
Diffstat (limited to 'llvm/lib/ExecutionEngine/ExecutionEngine.cpp')
-rw-r--r-- | llvm/lib/ExecutionEngine/ExecutionEngine.cpp | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/llvm/lib/ExecutionEngine/ExecutionEngine.cpp b/llvm/lib/ExecutionEngine/ExecutionEngine.cpp index 233ece29422..e4efc15f2ae 100644 --- a/llvm/lib/ExecutionEngine/ExecutionEngine.cpp +++ b/llvm/lib/ExecutionEngine/ExecutionEngine.cpp @@ -49,14 +49,13 @@ STATISTIC(NumGlobals , "Number of global vars initialized"); ExecutionEngine *(*ExecutionEngine::MCJITCtor)( std::unique_ptr<Module> M, std::string *ErrorStr, std::shared_ptr<MCJITMemoryManager> MemMgr, - - std::shared_ptr<JITSymbolResolver> Resolver, + std::shared_ptr<LegacyJITSymbolResolver> Resolver, std::unique_ptr<TargetMachine> TM) = nullptr; ExecutionEngine *(*ExecutionEngine::OrcMCJITReplacementCtor)( - std::string *ErrorStr, std::shared_ptr<MCJITMemoryManager> MemMgr, - std::shared_ptr<JITSymbolResolver> Resolver, - std::unique_ptr<TargetMachine> TM) = nullptr; + std::string *ErrorStr, std::shared_ptr<MCJITMemoryManager> MemMgr, + std::shared_ptr<LegacyJITSymbolResolver> Resolver, + std::unique_ptr<TargetMachine> TM) = nullptr; ExecutionEngine *(*ExecutionEngine::InterpCtor)(std::unique_ptr<Module> M, std::string *ErrorStr) =nullptr; @@ -502,9 +501,9 @@ EngineBuilder::setMemoryManager(std::unique_ptr<MCJITMemoryManager> MM) { return *this; } -EngineBuilder& -EngineBuilder::setSymbolResolver(std::unique_ptr<JITSymbolResolver> SR) { - Resolver = std::shared_ptr<JITSymbolResolver>(std::move(SR)); +EngineBuilder & +EngineBuilder::setSymbolResolver(std::unique_ptr<LegacyJITSymbolResolver> SR) { + Resolver = std::shared_ptr<LegacyJITSymbolResolver>(std::move(SR)); return *this; } |