diff options
| author | Lang Hames <lhames@gmail.com> | 2018-06-12 20:43:17 +0000 |
|---|---|---|
| committer | Lang Hames <lhames@gmail.com> | 2018-06-12 20:43:17 +0000 |
| commit | 253584fdaf7dcda75fc56478895f0d4fad1e8534 (patch) | |
| tree | 112c005f72812e93ce544d7a6ac0fe090850bb5c /llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h | |
| parent | 22a7440200a7eb23f784a5da3dbf6595acb204a1 (diff) | |
| download | bcm5719-llvm-253584fdaf7dcda75fc56478895f0d4fad1e8534.tar.gz bcm5719-llvm-253584fdaf7dcda75fc56478895f0d4fad1e8534.zip | |
[ORC] Refactor blocking lookup logic into the blockingLookup function, and
implement existing blocking lookups (the lookup function) and
JITSymbolResolverAdapter on top of that.
llvm-svn: 334537
Diffstat (limited to 'llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h')
| -rw-r--r-- | llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h b/llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h index fd35ec46015..aa63957236e 100644 --- a/llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h +++ b/llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h @@ -153,9 +153,10 @@ private: for (auto &S : Symbols) { if (auto Sym = findSymbol(*S)) { - if (auto Addr = Sym.getAddress()) + if (auto Addr = Sym.getAddress()) { Query->resolve(S, JITEvaluatedSymbol(*Addr, Sym.getFlags())); - else { + Query->notifySymbolReady(); + } else { Stack.ES.failQuery(*Query, Addr.takeError()); return orc::SymbolNameSet(); } @@ -169,6 +170,9 @@ private: if (Query->isFullyResolved()) Query->handleFullyResolved(); + if (Query->isFullyReady()) + Query->handleFullyReady(); + return UnresolvedSymbols; } |

