<br>> De: Duncan Sands <baldrick at <a href="http://free.fr">free.fr</a>><br>>Para: <br>>Enviado: miércoles, 11 de julio de 2012 9:40<br>>Asunto: Re: [LLVMdev] dynamic linkage for jit<br>> <br>>Hi Charllls, I didn't really get it.  Are you saying that you would execute some<br>
>functions using the JIT then, later, those functions will be modified and thus<br>>need to be re-jitted?<br>><br>>Ciao, Duncan.<br><br>Hi Duncan, <br><br>that is exactly it. My hope is to keep the need for rebuild isolated to the individual <br>
modules where the modifications occur, and relink appropiately. <br><br>I've discussed this with people that have worked on llvm frontends before, and they<br> suggest that this would require keeping copies of all the modules around, rebuild <br>
the modules that changed, and then relink everything into a single static fat module<br> that the JIT can use, which is btw my default plan to implement, unless/until i learn<br> a better alternative<br><br>the main drawback of that would be, i think, to have to relink all dependencies into the<br>
 fat module everytime one of the modules change, since as far as i know, you cannot<br> remove symbols already linked in a module and relink a new version<br><br>Another question that is more inmediately relevant to me (since it potentially affects <br>
or invalidates my current implementation plan) is about the transitivity of the <br>mappings between symbols of different modules. <br><br>Let me explain with a minimal example;<br><br>say module A implements symbols used in module B, so B is built and when the <br>
Call/Invoke instructions are inserted in B for the A symbols, we need to add Global <br>mappings for those symbols in A manually and use those for the instruction creation.<br> (this is my understand of how mappings for calls between modules is done).<br>
<br>So, now i want to JIT code in B that uses A, so i need to link both B and A into the fat <br>static runtime jit module. Will the mappings (the A symbols used in B) will be preserved <br>when the modules are link to the runtime JIT module? <br>
<br><br>btw: had to swap email accounts because my emails where bouncing from some llvmdev<br>users, but the mailing list was not reporting it to me<br><br><br><br>