[LLVMdev] dynamic linkage for jit

Charllls Alquarra charlesneedspace at yahoo.com.ar
Thu Jul 12 22:01:16 PDT 2012




Another question that is more inmediately relevant to me (since it potentially affects or invalidates my current implementation plan) is about the transitivity of the mappings between
symbols of different modules. Let me explain with a minimal example;

say module A implements symbols used in module B, so B is built and when the Call/Invoke instructions are inserted in B for the A symbols, we need to add Global mappings for those symbols
in A manually and use those for the instruction creation. (this is my understand of how mappings for calls between modules is done).

So, now i want to JIT code in B that uses A, so i need to link both B and A into the fat static runtime jit module. Will the mappings (the A symbols used in B) will be preserved when the modules are link to the runtime JIT module? 



________________________________
 De: Duncan Sands <baldrick at free.fr>
Para: llvmdev at cs.uiuc.edu 
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/4c21fa31/attachment.html>


More information about the llvm-dev mailing list