search for: logicaldylib

Displaying 7 results from an estimated 7 matches for "logicaldylib".

Did you mean: logicaldylibs
2016 Jul 28
2
[ORC JIT] Exposing IndirectStubsManager from CompileOnDemandLayer.h
...2b8..4aa3362 100644 --- a/CompileOnDemandLayer.h +++ b/CompileOnDemandLayer.h @@ -429,6 +429,28 @@ private: return CalledAddr; } +public: + TargetAddress updatePointer(std::string FuncName, TargetAddress FnBodyAddr) { + //Find out which logical dylib contains our symbol + auto LDI = LogicalDylibs.begin(); + for (auto LDE = LogicalDylibs.end(); LDI != LDE; ++LDI) { + if (auto LMResources = LDI->getLogicalModuleResourcesForSymbol(FuncName, false)) { + Module &SrcM = LMResources->SourceModule->getResource(); + std::string CalledFnName = mangle(Func...
2016 Jul 29
2
[ORC JIT] Exposing IndirectStubsManager from CompileOnDemandLayer.h
Hi Sean, This is great, but it couples LogicalDylib too tightly to CompileOnDemandLayer. Does this alternative implementation of getLogicalModuleResourcesForSymbol work for you (unfortunately I don't have a local test case for this yet): LogicalModuleResources* getLogicalModuleResourcesForSymbol(const std::string &Name,...
2016 Jul 29
0
[ORC JIT] Exposing IndirectStubsManager from CompileOnDemandLayer.h
...> +++ b/CompileOnDemandLayer.h > @@ -429,6 +429,28 @@ private: > return CalledAddr; > } > > +public: > + TargetAddress updatePointer(std::string FuncName, TargetAddress > FnBodyAddr) { > + //Find out which logical dylib contains our symbol > + auto LDI = LogicalDylibs.begin(); > + for (auto LDE = LogicalDylibs.end(); LDI != LDE; ++LDI) { > + if (auto LMResources = > LDI->getLogicalModuleResourcesForSymbol(FuncName, false)) { > + Module &SrcM = LMResources->SourceModule->getResource(); > + std::string C...
2016 Jul 29
0
[ORC JIT] Exposing IndirectStubsManager from CompileOnDemandLayer.h
...a couple of people asking for support for updating stub pointers for functions that are optimized at runtime, and I'd be willing to work on adding that support. On Fri, Jul 29, 2016 at 6:53 PM Lang Hames <lhames at gmail.com> wrote: > Hi Sean, > > This is great, but it couples LogicalDylib too tightly to > CompileOnDemandLayer. Does this alternative implementation of > getLogicalModuleResourcesForSymbol work for you (unfortunately I don't > have a local test case for this yet): > > > > > > LogicalModuleResources* > getLogicalModuleResourcesForSym...
2016 Jul 30
1
[ORC JIT] Exposing IndirectStubsManager from CompileOnDemandLayer.h
...ort for updating stub > pointers for functions that are optimized at runtime, and I'd be willing to > work on adding that support. > > On Fri, Jul 29, 2016 at 6:53 PM Lang Hames <lhames at gmail.com> wrote: > >> Hi Sean, >> >> This is great, but it couples LogicalDylib too tightly to >> CompileOnDemandLayer. Does this alternative implementation of >> getLogicalModuleResourcesForSymbol work for you (unfortunately I don't >> have a local test case for this yet): >> >> >> >> >> >> LogicalModuleResources* &g...
2019 Aug 13
2
VModuleKey K not valid here
...::orc::SimpleCompiler>, std::function<std::unique_ptr<llvm::Module>(std::unique_ptr<llvm::Module>)> >; CompileCallbackMgrT = llvm::orc::JITCompileCallbackManager; IndirectStubsMgrT = llvm::orc::IndirectStubsManager; llvm::orc::VModuleKey = long unsigned int]: Assertion `I != LogicalDylibs.end() && "VModuleKey K not valid here"' failed. 1) Can 0 ever be a valid VModuleKey? How can one reliably detect an invalid VModuleKey? 2) Secondly it seems to me that following the assertion there should be a check so that the code dosn't continue? It is causing segmen...
2019 Aug 13
2
VModuleKey K not valid here
...n Tue, 13 Aug 2019 at 22:15, Lang Hames <lhames at gmail.com> wrote: > >> 1) Can 0 ever be a valid VModuleKey? How can one reliably detect an invalid VModuleKey? > > > I believe 0 was a valid VModuleKey in ORCv1. The assertion is checking the the VModuleKey is present in the LogicalDylibs map. That means that you have to have used that key in an addModule call, e.g.: > > CODLayer.addModule(K, std::move(M)); > > and not subsequently removed the key with a call to removeModule. Yes indeed that is what happened. So to prevent that I need to check if VModuleKey was ever in...