Displaying 7 results from an estimated 7 matches for "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(FuncN...
2016 Jul 29
2
[ORC JIT] Exposing IndirectStubsManager from CompileOnDemandLayer.h
...t;> @@ -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();
>> +...
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 Ca...
2016 Jul 29
0
[ORC JIT] Exposing IndirectStubsManager from CompileOnDemandLayer.h
...ate:
>>> 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();...
2016 Jul 30
1
[ORC JIT] Exposing IndirectStubsManager from CompileOnDemandLayer.h
...n 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->...
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
segment...
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 ini...