summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2018-09-06 19:39:26 +0000
committerLang Hames <lhames@gmail.com>2018-09-06 19:39:26 +0000
commitbf985258b9af0de0c95370c696fbdbc03d0713cf (patch)
treeabbb4f006298f2a4d5988030b54c0ec8432234ac /llvm/lib/ExecutionEngine
parenta5f33c86942e49ea3e1d06bb33909ce7bb806be5 (diff)
downloadbcm5719-llvm-bf985258b9af0de0c95370c696fbdbc03d0713cf.tar.gz
bcm5719-llvm-bf985258b9af0de0c95370c696fbdbc03d0713cf.zip
[ORC] Make RuntimeDyldObjectLinkingLayer2 take memory managers by unique_ptr.
The existing memory manager API can not be shared between objects when linking concurrently (since there is no way to know which concurrent allocations were performed on behalf of which object, and hence which allocations would be safe to finalize when finalizeMemory is called). For now, we can work around this by requiring a new memory manager for each object. This change only affects the concurrent version of the ORC APIs. llvm-svn: 341579
Diffstat (limited to 'llvm/lib/ExecutionEngine')
-rw-r--r--llvm/lib/ExecutionEngine/Orc/LLJIT.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/ExecutionEngine/Orc/LLJIT.cpp b/llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
index f9cc763f802..b463771c730 100644
--- a/llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
+++ b/llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
@@ -59,7 +59,7 @@ LLJIT::LLJIT(std::unique_ptr<ExecutionSession> ES,
CompileLayer(*this->ES, ObjLinkingLayer, SimpleCompiler(*this->TM)),
CtorRunner(Main), DtorRunner(Main) {}
-std::shared_ptr<RuntimeDyld::MemoryManager>
+std::unique_ptr<RuntimeDyld::MemoryManager>
LLJIT::getMemoryManager(VModuleKey K) {
return llvm::make_unique<SectionMemoryManager>();
}
OpenPOWER on IntegriCloud