-
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: Convert some of the old-style intrinsics to NamedIntrinsics #52156
Conversation
@dotnet/jit-contrib PTAL |
@dotnet/jit-contrib @echesakovMSFT PING 🙂 I'd love to merge it and unblock my next inliner-related PR on top of it |
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.
Sorry for keep you waiting..
Overall, looks good - left some comments.
BTW, have you encountered any diffs with this change?
Let me echo what @echesakov wrote above: you really need to show that this doesn't lead to diffs. Given the the changes in the jit interface you can't use SPMI -- you should use jit diffs in both PMI and Crossgen2 modes for this, running base and diff separately (since the jits can't be swapped), over all the frameworks assemblies. |
@AndyAyersMS @echesakovMSFT thanks for review, unfortunately I caught a small regression in crossgen (and crossgen2) so I decided to temporarily leave Object.GetType to be old-style. |
So does anybody mind if I merge it (it contains JIT-EE id update)? It's approved and has zero regression across JIT, crossgen and crossgen2 |
Can you say a bit more about the problems you had with converting |
I didn't give up, just wanted to do it iteratively for all of them eventually to keep the PRs easier to review. The primary goal is the ability to recognize
Both crossgens know nothing about the new style intrinsics, I tried to fix this specific case like this 65a9154 and looked like it helped but none-windows platforms still asserted so I decided to postpone it a bit 🙁 |
src/coreclr/System.Private.CoreLib/src/System/String.CoreCLR.cs
Outdated
Show resolved
Hide resolved
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
@AndyAyersMS so, do you want me to have a look at CI Failures are not related (#52596) |
It can be separate. Open an issue and record the details and link it to this PR. |
Done: #52620 |
…le-intrins # Conflicts: # src/coreclr/inc/jiteeversionguid.h
Azure Pipelines successfully started running 1 pipeline(s). |
It's needed for inliner that handles only NamedIntrinsics. Eventually, I guess, we'll get rid of all of the old-style ones.