[PATCH] D74300: [ORC] Add generic initializer/deinitializer support.
Stefan Gränitz via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun Feb 16 17:06:59 PST 2020
sgraenitz added a comment.
Will initializer symbols be looked up and run again when calling initialize() a second time on a JITDylib? More specifically, is it possible for a client to break this process down and initialize specific (or simply all uninitialized) MaterializationUnits? Otherwise, wouldn't it mean modules cannot be added (and initialized) to a JITDylib after initializiation (without re-init)?
lli orc-lazy can we also do this?
add all modules add some modules <--
run all initializers run their initializers <--
lookup lookup
materialize materialize
execute execute,
call-through call-through
lookup lookup
materialize add more modules <--
execute run their initializers <--
... materialize
execute
> Can we think of any use for gating on initializers having run, or should we rip this part back out for now to simplify the patch?
Not sure if this is related?
================
Comment at: llvm/tools/lli/lli.cpp:927
// Run any static constructors.
- ExitOnErr(J->runConstructors());
+ ExitOnErr(J->initialize(J->getMainJITDylib()));
----------------
If we called this again, would it re-initialize everything?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D74300/new/
https://reviews.llvm.org/D74300
More information about the llvm-commits
mailing list