-
Notifications
You must be signed in to change notification settings - Fork 4.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow implicit widenings when tailcalling #54864
Conversation
The managed calling convention dictates that the callee is responsible for widening up to 4 bytes. We can use this to allow some more tailcalls. Fix dotnet#51957
// is tracked with https://github.com/dotnet/runtime/issues/8413. | ||
// | ||
// 3) If the callee has a 9 to 16 byte struct argument and the callee has | ||
// If the callee has a 9 to 16 byte struct argument and the callee has |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This comment was outdated, both of the issues have been fixed.
/azp run runtime-coreclr jitstress, runtime-coreclr outerloop |
Azure Pipelines successfully started running 2 pipeline(s). |
PTAL @dotnet/jit-contrib |
Are failed jitstress jobs related? |
I believe the failing test is #54200
Hmm, looks like it. I can try to take a look at that separately. |
The managed calling convention dictates that the callee is responsible
for widening up to 4 bytes. We can use this to allow some more
tailcalls.
Fix #51957
I couldn't use SPMI as the new tailcalls change the jitinterface calls (thanks for explaining @sandreenko), so I used PMI. A few diffs in frameworks:
Diffs look as expected, we get some cases where we were relying on the widening anyway.
cc @dotnet/jit-contrib