[PATCH] D75090: [ORC] Align weak definition handling in JITDylib::defineMaterializing() and JITDylib::defineImpl()
Lang Hames via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 3 17:52:10 PST 2020
lhames added a comment.
> ThinLtoJIT will try to minimize the immediate/synchronous workload and bet on discovery to identify and emit all necessary code asynchronously. In many cases this may work, but it still needs a fallback in case rarely() gets called and discovery didn't manage to provide rare.bc in time. For this case it emits a synthetic call-through stub that does the work (load and emit the module). The symbol it defines for rarely() in the shadow dylib would then simply be weak, so that discovery can override it with the actual definition from rare.bc once it's ready.
Is the idea here that the call-through stub is emitted as weak, and then replaced by discovery with a strong definition if one is found in time? Or have I misunderstood?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D75090/new/
https://reviews.llvm.org/D75090
More information about the llvm-commits
mailing list