[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