summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2018-06-12 20:43:17 +0000
committerLang Hames <lhames@gmail.com>2018-06-12 20:43:17 +0000
commit253584fdaf7dcda75fc56478895f0d4fad1e8534 (patch)
tree112c005f72812e93ce544d7a6ac0fe090850bb5c /llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h
parent22a7440200a7eb23f784a5da3dbf6595acb204a1 (diff)
downloadbcm5719-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.h8
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;
}
OpenPOWER on IntegriCloud