<div dir="ltr">Oh, sorry about that!  I would have sworn that I entered the llvm-commits cc on the initial review creation, but I guess I'll pay more attention next time.<div><br></div><div><br></div><div>Here's the summary I put on the revision:</div><div><br></div><div><p style="margin:0px 0px 12px;padding:0px;border:0px;color:rgb(0,0,0);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:13px;line-height:18.8500003814697px">This is a barebones patch that enables the invoking of llvm.experimental.patchpoint intrinsics; it's missing some things (tests, should refactor the existing code instead of duplicating more of it), but I wanted to send out the current version for early feedback.</p><p style="margin:0px 0px 12px;padding:0px;border:0px;color:rgb(0,0,0);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:13px;line-height:18.8500003814697px">I tried to just take the invoke-handling sections from the normal Invoke path and add them to patchpoints, and it seems to work (LLVM and Pyston tests pass), but it's hard for me to verify that I'm doing this correctly and that it's not missing anything.</p><p style="margin:0px;padding:0px;border:0px;color:rgb(0,0,0);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:13px;line-height:18.8500003814697px">There might also need to be some discussion about whether it makes sense to invoke patchpoints in the first place -- I think it definitely makes sense to attach stackmap information to an invoke, but patching and statically emitting EH information might not be coherent concepts, though on my system it ends up working out fine.</p></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Oct 2, 2014 at 12:17 AM, Chandler Carruth <span dir="ltr"><<a href="mailto:chandlerc@google.com" target="_blank">chandlerc@google.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="ltr">Hey Andy, Kevin,<div><br></div><div>Just as a heads up, this patch hit a common usage problem we have with Phabricator: the initial patch was created without llvm-commits, and then when it as added no email was actually sent to the list. So all anyone has seen is Andy's response.</div><div><br></div><div>Given the widespread interest in things like patchpoint intrinsics, I think it would be worth updating this thread with a reasonably good introduction to what the patch is trying to do so that others can see it.</div><div><br></div><div>(also, as I have mentioned in other threads about Phabricator, I strongly suggest that everyone using it to initiate a code review *check the mailing list* to ensure the first email arrived)</div><div><br></div><div>-Chandler</div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Thu, Oct 2, 2014 at 12:08 AM, Andrew Trick <span dir="ltr"><<a href="mailto:atrick@apple.com" target="_blank">atrick@apple.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">I think patching an exception throwing call is valid. You can certainly have an inline cache to an exception throwing method.<br>
<br>
I also think it's valid to use the platform's exception handling support, although probably not performant if your app throws exceptions. As Filip mentioned, the best approach is to profile the throws, deoptimize when they aren't expected and emit branches when they are.<br>
<br>
Anyway, great work. Please add tests and cleanup the code as you mentioned.<br>
<br>
<a href="http://reviews.llvm.org/D5572" target="_blank">http://reviews.llvm.org/D5572</a><br>
<br>
<br>
<br></div></div>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div>
</blockquote></div><br></div>