diff options
| author | Lang Hames <lhames@gmail.com> | 2018-02-14 22:13:02 +0000 |
|---|---|---|
| committer | Lang Hames <lhames@gmail.com> | 2018-02-14 22:13:02 +0000 |
| commit | 1cd3dd0bd8ba00a9a613f651fe74868276301f03 (patch) | |
| tree | d56a717bf2daebc2c9a58132ab7709d29839e0b5 /llvm/lib | |
| parent | e833fe8ec31e1bc51d59c84af158ac44ed423153 (diff) | |
| download | bcm5719-llvm-1cd3dd0bd8ba00a9a613f651fe74868276301f03.tar.gz bcm5719-llvm-1cd3dd0bd8ba00a9a613f651fe74868276301f03.zip | |
[ORC] Consolidate RTDyldObjectLinkingLayer GetMemMgr and GetResolver into a
unified GetResources callback.
Having a single 'GetResources' callback will simplify adding new resources in
the future.
llvm-svn: 325180
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h | 6 | ||||
| -rw-r--r-- | llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h | 9 |
2 files changed, 8 insertions, 7 deletions
diff --git a/llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h b/llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h index 499708e7847..7dc39ebba12 100644 --- a/llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h +++ b/llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h @@ -205,16 +205,14 @@ public: : ES(SSP), DL(TM.createDataLayout()), IndirectStubsMgr(IndirectStubsMgrBuilder()), CCMgr(std::move(CCMgr)), ObjectLayer(ES, - [](orc::VModuleKey K) { - return std::make_shared<SectionMemoryManager>(); - }, [this](orc::VModuleKey K) { auto ResolverI = Resolvers.find(K); assert(ResolverI != Resolvers.end() && "No resolver for module K"); auto Resolver = std::move(ResolverI->second); Resolvers.erase(ResolverI); - return Resolver; + return ObjLayerT::Resources{ + std::make_shared<SectionMemoryManager>(), Resolver}; }), CompileLayer(ObjectLayer, orc::SimpleCompiler(TM)), CODLayer(ES, CompileLayer, diff --git a/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h b/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h index 579d68b1333..7e412f677db 100644 --- a/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h +++ b/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h @@ -229,9 +229,12 @@ public: Resolver(std::make_shared<LinkingORCResolver>(*this)), ClientResolver(std::move(ClientResolver)), NotifyObjectLoaded(*this), NotifyFinalized(*this), - ObjectLayer(ES, [this](VModuleKey K) { return this->MemMgr; }, - [this](VModuleKey K) { return this->Resolver; }, - NotifyObjectLoaded, NotifyFinalized), + ObjectLayer( + ES, + [this](VModuleKey K) { + return ObjectLayerT::Resources{this->MemMgr, this->Resolver}; + }, + NotifyObjectLoaded, NotifyFinalized), CompileLayer(ObjectLayer, SimpleCompiler(*this->TM)), LazyEmitLayer(CompileLayer) {} |

