<div dir="ltr">Thanks for the update Andy.<div><br></div><div>I'm very happy to be involved in anyway that is helpful. If you would like me to test ideas, or contribute to further discussions, then please let me know.</div>
<div><br></div><div>I currently have extempore running nicely with MCJIT for the "monolithic" case and am working on various LLVM hacks to better understand the issues involved with non-monolithic approaches - in particular I'm starting with your multi-module approach. I will report back when (and if) I have something useful to contribute.</div>
<div><br></div><div>Cheers,</div><div>Andrew.</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Feb 6, 2013 at 4:08 AM, Kaylor, Andrew <span dir="ltr"><<a href="mailto:andrew.kaylor@intel.com" target="_blank">andrew.kaylor@intel.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div lang="EN-US" link="blue" vlink="purple">
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Hi Andrew,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">I was about to write a belated reply to this message (sorry for the delay), but then I realized that pretty much everything useful that I have to say on the
subject is contained in this message (which is in a thread Albert Graef already linked to):<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><a href="https://groups.google.com/d/msg/llvm-dev/Rk9cWdRX0Wg/Fa1Mn6cyS9UJ" target="_blank">https://groups.google.com/d/msg/llvm-dev/Rk9cWdRX0Wg/Fa1Mn6cyS9UJ</a><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Generally, I do hope that MCJIT will be capable of replacing the old JIT someday soon, though obviously it cannot do so until it provides equivalent functionality.
I doubt it will ever be a “drop-in” replacement, but I hope that minimal rework will be needed. Most significantly, as can be seen in earlier discussions, things will need to be made Module-centric rather than Function-centric. It ought to be possible to
write a utility class that takes a monolithic Module and breaks it up into sub-Modules for individual functions, but I think that would need to happen outside of the MCJIT engine because not all clients would want that kind of granularity.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">There’s definitely a lot of work to be done here to get this right, and hopefully we’ll get active participation in any design discussions to make sure the
solution meets everyone’s needs. I don’t have a time table for this right now. I will file a Bugzilla report as soon as the LLVM server is ready.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">-Andy<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> <a href="mailto:llvmdev-bounces@cs.uiuc.edu" target="_blank">llvmdev-bounces@cs.uiuc.edu</a> [mailto:<a href="mailto:llvmdev-bounces@cs.uiuc.edu" target="_blank">llvmdev-bounces@cs.uiuc.edu</a>]
<b>On Behalf Of </b>Andrew Sorensen<br>
<b>Sent:</b> Thursday, January 31, 2013 7:56 PM<br>
<b>To:</b> <a href="mailto:llvmdev@cs.uiuc.edu" target="_blank">llvmdev@cs.uiuc.edu</a><br>
<b>Subject:</b> [LLVMdev] MCJIT and Lazy Compilation<u></u><u></u></span></p><div><div class="h5">
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<div>
<p class="MsoNormal">Does anyone have a roadmap for MCJIT with what I think people are <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">calling lazy compilation.<u></u><u></u></p>
</div>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Is this even on the cards?<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">I spent the last few hours moving my project (<a href="http://extempore.moso.com.au" target="_blank">extempore.moso.com.au</a>) <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">over to MCJIT (particularly for ARM), and am a little horrified to discover <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">no ability to compile, and just as importantly to recompile, at a function level. <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">This is absolutely mandatory for my project. <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">I have been looking enviously at MCJIT's ARM+DWARF support for a <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">couple of years and was under the misapprehension that MCJIT was <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">attempting to be a *drop-in* replacement for JIT. So I wasn't overly<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">concerned about the primary JIT being largely neglected. This is obviously<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">my fault, I wasn't paying close enough attention.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">I am now wondering what the LLVM project, in the large, plans regarding <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">just-in-time compilation moving forward. Is MCJIT the future, and<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">if so what kind of roadmap is there to replicate current JIT functionality. <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">In my case in relation to function level (re)compilation.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">I appreciate everyones efforts, and that we all have our own agendas.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">I'm just trying to put my own roadmap in place.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Cheers,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Andrew.<u></u><u></u></p>
</div>
</div>
</div></div></div>
</div>
</blockquote></div><br></div>