[LLVMdev] dynamic linkage for jit

Charllls Alquarra charlesneedspace at yahoo.com.ar
Thu Jul 12 20:35:47 PDT 2012



Hi Duncan, 

that is exactly it. My hope is to keep the need for rebuild isolated to the individual modules where the modifications occur, and relink appropiately. 

I've discussed this with people that have worked on llvm frontends before, and they suggest that this would require keeping copies of all the modules around,
rebuild the modules that changed, and then relink everything into a single static fat module that the JIT can use, which is btw my default plan to implement, unless/until i learn a better alternative

the main drawback of that would be, i think, to have to relink all dependencies into the fat module everytime one of the modules change, since as far as i know, you cannot remove symbols already linked in a module and relink a new version

thanks for replying!



________________________________
 De: Duncan Sands <baldrick at free.fr>
Para: 
Enviado: miércoles, 11 de julio de 2012 9:40
Asunto: Re: [LLVMdev] dynamic linkage for jit
 
Hi Charllls, I didn't really get it.  Are you saying that you would execute some
functions using the JIT then, later, those functions will be modified and thus
need to be re-jitted?

Ciao, Duncan.

On 07/06/12 20:13, Charllls Alquarra wrote:
>
> Sorry if it comes out a bit pushy bumping my own question, but it's been really
> difficult to find any info regarding this functionality
> in the mailing list archives. Just some emails i've found from people working on
> NaCl:
>
> http://lists.cs.uiuc.edu/pipermail/llvmdev/2011-December/046055.html
>
> is there a branch where this is being work on, or is internal chromium project
> so far? Also i'm not sure if this is exactly the same as what i'm looking for,
> but it sounds similar enough
>
> *De:* Charllls Alquarra <charlesneedspace at yahoo.com.ar>
> *Para:* "LLVMdev at cs.uiuc.edu" <>
> *Enviado:* sábado, 2 de junio de 2012 12:14
> *Asunto:* [LLVMdev] dynamic linkage for jit
>
>
>
> Hi,
>
> I want to execute functions in a module, this module will have dependencies
> resolved in other modules. the modules might change (dynamic compilation
> environment) so i would prefer not not link all the dependencies in a single
> monolithic module, that is, if it can be avoided
>
> I hope to use Linker::linkModules but this is always destructive. That is ok for
> one module depending on a single one, since if that one changed, is no big deal,
> but isn't it overkill to rebuild and relink N-1 modules that did not change just
> because of a single one that changed?
>
> I wonder if there is a non-destructive version of linkModules that can work for
> JIT execution.
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu <mailto:LLVMdev at cs.uiuc.edu> http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
>
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu        http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>


_______________________________________________
LLVM Developers mailing list
LLVMdev at cs.uiuc.edu        http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120712/3fa16d17/attachment.html>


More information about the llvm-dev mailing list