<div dir="ltr">Hey Everyone,<div><br></div><div>I understood this a little differently (well, I do have direct contact with Sumeeth given that we both work in the same lab). Allow me to try and explain his proposal.</div><div>
<br>We are trying to optimise out instructions from a program (JIT-compiled OS Kernels or JIT-compiled Web Server code) during run time and we have this hypothesis that some of the decisions are best taken by the programmer himself, e.g. if statistics shows that a particular subsystem of the program being run hasn't seen any action in quite a while, the programmer is in a position to decide whether that part of the code can be optimised out of the binary or not (if the code is some highly sensitive failure detection code then I guess he wouldn't want it removed no matter what).<br>
<br>For this, we wanted to some mechanism to call back into the execution engine to get stuff like stats or to tell the execution engine to recompile a particular module or function etc.<br><br>His proposal is to introduce a callback mechanism in the execution engine that allows the internal tools to expose functions like offering stats or the ability to toggle a recompile etc. to the user program.<br>
<br>Hope that clears some things up.<br><br>Cheers,</div><div>Amogh</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Nov 1, 2013 at 1:53 PM, Caldarale, Charles R <span dir="ltr"><<a href="mailto:Chuck.Caldarale@unisys.com" target="_blank">Chuck.Caldarale@unisys.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:10.0pt;font-family:"Comic Sans MS";color:blue">> </span><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>] <u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Comic Sans MS";color:blue">> </span><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">On Behalf Of </span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">Kaylor, Andrew<br>
</span><span style="font-size:10.0pt;font-family:"Comic Sans MS";color:blue">> </span><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">Subject:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Re: [LLVMdev] [Proposal] Adding callback mechanism to Execution Engines<u></u><u></u></span></p>
<div class="im"><p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Comic Sans MS";color:blue"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Comic Sans MS";color:blue">> </span><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">If the function is in a statically linked module, you need to do something to explicitly expose it.  With <u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Comic Sans MS";color:blue">> </span><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">the older JIT engine you can use addGlobalMapping as Yaron suggests, but I don’t think that will work<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Comic Sans MS";color:blue">> </span><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">with MCJIT.</span><span style="font-size:10.0pt;font-family:"Comic Sans MS";color:blue"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Comic Sans MS";color:blue"><u></u> <u></u></span></p></div><p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Comic Sans MS";color:blue">Seems to work fine for us with MCJIT.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Comic Sans MS";color:blue"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Comic Sans MS";color:blue"> - Chuck<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Comic Sans MS";color:blue"><u></u> <u></u></span></p></div></div><br>_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>The Wheel of Time turns and Ages come and go, leaving memories that become legend. Legend fades to myth, and even myth is long forgotten when the Age that gave it birth returns again.
</div>