-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
JIT: Relax address exposure check for tailcalls #111397
JIT: Relax address exposure check for tailcalls #111397
Conversation
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
cc @dotnet/jit-contrib PTAL @AndyAyersMS I tried landing this in #65102 before, but back then we only had code size diffs and I didn't spend the time to try to argue for this being worth it. I think now with perfscore we can make the argument, in addition to other motivating factors since then, like the reliance on tailcalls to slow helpers as we convert from C++ to C#. @MichalStrehovsky has been hitting that multiple times before, see e.g. #93100 (comment), #93100 (comment), #85901. Diffs. Large number of diffs, which are often size regressions because of fewer shared epilogs, but perf score wise usually still show up as improvements. |
I want to run some more pipelines, but going to wait until #111405 goes through to kick them off. |
/azp run runtime-coreclr jitstress, runtime-coreclr libraries-jitstress, runtime-coreclr gcstress0x3-gcstress0xc |
Azure Pipelines successfully started running 3 pipeline(s). |
The
lvHasLdAddrOp
based check is conservative: address exposure (as computed in local morph) is much more precise. We can switch to that check only.This used to be a code size regression, but that's generally expected when expanding more epilogs. Now that we have perf score I want to check how it shows up in terms of perf score.