Start out by documenting the minmum example of -place-safepoints
working. While doing this, improve a couple of assert errors from
PlaceSafepoints and fix a bug: deopt arguments was not accounted for,
causing a verify-failure.
Details
- Reviewers
reames
Diff Detail
Event Timeline
More work in the same direction.
Rewrite gc.statepoint, gc.result calls to use the IRBuilder API, and
write one additional test. TODO: work on CreateGCStatepoint to handle
both Call and Invoke; the invoke codepath calls gc.statepoint by hand
currently.
Should be simple enough to LGTM quickly and move forward.
I approve of the general direction here but request distinct patches:
- The bug fix
- The style changes and asserts
- Use of IRBuilder
As currently structured, it's hard to review because so much is mixed together.
FYI, when preparing my own patch to add some of our out of tree tests I ran across this and one other bug. I'm going to submit a fix shortly.
Annoyingly, these bugs only existed in the upstream version. I made a mistake while separating out the patch for submission from our tree.
As requested by reames, shrink the original submission to be just the
bugfix. Other changes will come as later patches.
Do try to rebase onto my changes; I did spend quite a bit of time painfully splitting the patches.
I believe this bug has been fixed in ToT. If you want to submit the test case anyways, LGTM.
Sorry for the overlapping changes here.