[llvm-dev] [ORC] Removing / replacing JITDylibs
Kavon Farvardin via llvm-dev
llvm-dev at lists.llvm.org
Mon Aug 19 15:38:31 PDT 2019
Hi,
I'm working on a runtime autotuner that utilizes ORCv2 JIT (I'm closely tracking
tip-of-tree), so linking new object files and patching in the new function(s)
will happen frequently.
One of the concerns my runtime system has is the ability to do one of the
following: (1) replacement of the contents of a JITDylib with a new object file
[to provide semi-space GC-style reclaiming], (2) the outright removal of a
JITDylib.
Right now, I have one ExecutionSession instance for my linker and am creating a
new JITDylib for each object file that I'd like to link in. There doesn't appear
to be a corresponding ExecutionSession::removeJITDylib(..) method, so I'm
wondering: how do I reclaim the memory for code that I've linked in previously
but no longer need?
When using MCJIT, I would reclaim this memory by destroying the ExecutionEngine
that was created for each "JITDylib". Should I do the same with
ExecutionSessions?
For reference, here's the short bit of code I'm playing with for linking with
ORC:
https://github.com/halo-project/llvm/blob/master/compiler-rt/lib/halomon/DynamicLinker.h#L55
Thanks,
Kavon
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190819/ae346237/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190819/ae346237/attachment.sig>
More information about the llvm-dev
mailing list