<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<style>
<!--
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman"}
a:link, span.MsoHyperlink
{color:blue;
text-decoration:underline}
a:visited, span.MsoHyperlinkFollowed
{color:purple;
text-decoration:underline}
span.EmailStyle17
{font-family:Arial;
color:windowtext}
@page Section1
{margin:1.0in 1.25in 1.0in 1.25in}
div.Section1
{}
-->
</style>
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="Section1">
<p class="MsoNormal"><font size="2" face="Courier New"><span style="font-size:10.0pt; font-family:"Courier New"">Hi, I was wondering if there are any known issues with
<font color="#010001"><span style="color:#010001">DwarfEHPrepare</span></font>::<font color="#010001"><span style="color:#010001">InsertUnwindResumeCalls when using JIT? It appears that the block of code below in this function doesn't correctly handle the
case where the rewind function is removed from the module by some other pass (when its unused for instance), and multiple functions are JITed. The RewindFunction variable will get set once, then when the rewind function is removed it never gets updated.
Is this just an unsupported use case of calling the JIT multiple times, or am I missing something? Thanks!</span></font></span></font></p>
<p class="MsoNormal"><font size="2" color="#010001" face="Courier New"><span style="font-size:10.0pt; font-family:"Courier New"; color:#010001"><br>
Damien</span></font></p>
<p class="MsoNormal"><font size="2" color="#010001" face="Courier New"><span style="font-size:10.0pt; font-family:"Courier New"; color:#010001"> </span></font></p>
<p class="MsoNormal"><font size="2" color="#010001" face="Courier New"><span style="font-size:10.0pt; font-family:"Courier New"; color:#010001"> </span></font></p>
<p class="MsoNormal" style="text-autospace:none"><font size="2" color="blue" face="Courier New"><span style="font-size:10.0pt; font-family:"Courier New"; color:blue">if</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt; font-family:"Courier New"">
(!<font color="#010001"><span style="color:#010001">RewindFunction</span></font>) {</span></font></p>
<p class="MsoNormal" style="text-autospace:none"><font size="2" face="Courier New"><span style="font-size:10.0pt; font-family:"Courier New"">
<font color="#010001"><span style="color:#010001">LLVMContext</span></font> &<font color="#010001"><span style="color:#010001">Ctx</span></font> =
<font color="#010001"><span style="color:#010001">Resumes</span></font>[0]-><font color="#010001"><span style="color:#010001">getContext</span></font>();</span></font></p>
<p class="MsoNormal" style="text-autospace:none"><font size="2" face="Courier New"><span style="font-size:10.0pt; font-family:"Courier New"">
<font color="#010001"><span style="color:#010001">FunctionType</span></font> *<font color="#010001"><span style="color:#010001">FTy</span></font> =
<font color="#010001"><span style="color:#010001">FunctionType</span></font>::<font color="#010001"><span style="color:#010001">get</span></font>(<font color="#010001"><span style="color:#010001">Type</span></font>::<font color="#010001"><span style="color:#010001">getVoidTy</span></font>(<font color="#010001"><span style="color:#010001">Ctx</span></font>),</span></font></p>
<p class="MsoNormal" style="text-autospace:none"><font size="2" face="Courier New"><span style="font-size:10.0pt; font-family:"Courier New"">
<font color="#010001"><span style="color:#010001">Type</span></font>::<font color="#010001"><span style="color:#010001">getInt8PtrTy</span></font>(<font color="#010001"><span style="color:#010001">Ctx</span></font>),
<font color="blue"><span style="color:blue">false</span></font>);</span></font></p>
<p class="MsoNormal" style="text-autospace:none"><font size="2" face="Courier New"><span style="font-size:10.0pt; font-family:"Courier New"">
<font color="blue"><span style="color:blue">const</span></font> <font color="blue">
<span style="color:blue">char</span></font> *<font color="#010001"><span style="color:#010001">RewindName</span></font> =
<font color="#010001"><span style="color:#010001">TLI</span></font>-><font color="#010001"><span style="color:#010001">getLibcallName</span></font>(<font color="#010001"><span style="color:#010001">RTLIB</span></font>::<font color="#010001"><span style="color:#010001">UNWIND_RESUME</span></font>);</span></font></p>
<p class="MsoNormal" style="text-autospace:none"><font size="2" face="Courier New"><span style="font-size:10.0pt; font-family:"Courier New"">
<font color="#010001"><span style="color:#010001">RewindFunction</span></font> = <font color="#010001">
<span style="color:#010001">F</span></font>-><font color="#010001"><span style="color:#010001">getParent</span></font>()-><font color="#010001"><span style="color:#010001">getOrInsertFunction</span></font>(<font color="#010001"><span style="color:#010001">RewindName</span></font>,
<font color="#010001"><span style="color:#010001">FTy</span></font>);</span></font></p>
<p class="MsoNormal"><font size="2" face="Courier New"><span style="font-size:10.0pt; font-family:"Courier New""> }</span></font></p>
<p class="MsoNormal"><font size="2" face="Arial"><span style="font-size:10.0pt; font-family:Arial"> </span></font></p>
</div>
<br>
<hr>
<font face="Arial" color="Gray" size="1"><br>
This e-mail and its attachments are intended only for the individual or entity to whom it is addressed and may contain information that is confidential, privileged, inside information, or subject to other restrictions on use or disclosure. Any unauthorized
use, dissemination or copying of this transmission or the information in it is prohibited and may be unlawful. If you have received this transmission in error, please notify the sender immediately by return e-mail, and permanently delete or destroy this e-mail,
any attachments, and all copies (digital or paper). Unless expressly stated in this e-mail, nothing in this message should be construed as a digital or electronic signature.<br>
</font>
</body>
</html>