<div dir="ltr"><div>Yes, MCJIT uses the RTDyldMemoryManager::getSymbolAddress when resolving symbols. I am using the LinkingMemoryManager::getSymbolAddress to resolve the symbol. <br><br></div><div>-Sumeeth<br></div></div>
<div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Nov 1, 2013 at 6:05 PM, Yaron Keren <span dir="ltr"><<a href="mailto:yaron.keren@gmail.com" target="_blank">yaron.keren@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="rtl"><div dir="ltr">Unless I'm missing something, indeed addGlobalMapping should not work with MCJIT.</div>
<div dir="ltr">MCJIT does not consult EEState.getGlobalAddressMap when resolving symbols. </div><div dir="ltr">


Instead it uses RTDyldMemoryManager::getSymbolAddress which checks with DynamicLibrary::SearchForAddressOfSymbol, so Andy's suggestion of DynamicLibrary::addSymbol is better as it should work with both JIT and MCJIT.</div>


<div dir="ltr">
<br></div><div dir="ltr">Another options is to use the LazyFunctionCreator which is implemented in both JIT and MCJIT. </div><div dir="ltr"><br></div><div dir="ltr">Andy - MCJIT::getPointerToFunction does call EE:addGlobalMapping - however EEState.getGlobalAddressMap is not used in MCJIT. Should this call be removed?</div>


<div dir="ltr">
<br></div><div dir="ltr">Yaron</div><div dir="ltr"><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote"><div dir="ltr">2013/11/1 sumeeth kc <span dir="ltr"><<a href="mailto:sumeethkc@gmail.com" target="_blank">sumeethkc@gmail.com</a>></span></div>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr"><div><div><div>Hi Andrew,<br><br></div>I used the latest code from trunk. GlobalSymbolTable is being used in MCJIT. <br>


<br></div>I guess it wasn't clear from the proposal that the user program will be modified to indicate that the callback should happen at that point in the code. The objective is to call some of the functions which belong to lli or the ExecutionEngine.<br>



<br></div>Thanks,<br>Sumeeth <br></div><div><div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Nov 1, 2013 at 5:40 PM, 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 link="blue" vlink="purple" lang="EN-US">
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Are you using the latest code from trunk?  I didn’t think the latest code used the address mapping in the ExecutionEngine base class.<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">Of course, if people are depending on this it might be something that should be fixed if it isn’t working.<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>
<div>
<div style="border:none;border-top:solid #b5c4df 1.0pt;padding:3.0pt 0in 0in 0in">
<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""> Caldarale, Charles R [mailto:<a href="mailto:Chuck.Caldarale@unisys.com" target="_blank">Chuck.Caldarale@unisys.com</a>]
<br>
<b>Sent:</b> Friday, November 01, 2013 10:54 AM<br>
<b>To:</b> Kaylor, Andrew; sumeeth kc; LLVM Dev<br>
<b>Subject:</b> RE: [LLVMdev] [Proposal] Adding callback mechanism to Execution Engines<u></u><u></u></span></p>
</div>
</div><div><div>
<p class="MsoNormal"><u></u> <u></u></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"">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> [<a href="mailto:llvmdev-bounces@cs.uiuc.edu" target="_blank">mailto: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>




<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>
<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></div>
</div>

</blockquote></div><br></div>
</div></div><br></div></div><div class="im">_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu" target="_blank">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></div></blockquote></div><br></div>
</blockquote></div><br></div>