<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Nov 12, 2015 at 12:48 PM, Andy Ayers <span dir="ltr"><<a href="mailto:andya@microsoft.com" target="_blank">andya@microsoft.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">





<div lang="EN-US" link="blue" vlink="purple">
<div>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Someday I’d like to understand this “epilog constraint” better, since our own compilers happily shrink wrap on x64 (via chained unwind).<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">However, this day may be a ways off....
<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">First LLILC has to get to the point where we want to shrink wrap, and then we have to see if CoreCLR can handle it.
<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">I see a fair number of cases coming from C# code where it looks like shrink wrapping should be a win.</span></p></div></div></blockquote><div><br></div><div>It shouldn't be hard to overcome this, I just noticed that we generate code like this with shrink wrapping enabled:</div><div><div>        popq    %rbx</div><div>        movl    %esi, %eax  ; <-- I believe not allowed by win64 epilogue rules</div><div>        retq</div></div><div><br></div><div>We would have to arrange for the copy into eax to come before we started popping registers. Not impossible, just beyond what Quentin wants to handle today.</div></div></div></div>