-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Delete code related to CompilationRelaxations.NoStringInterning #64521
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
Conversation
The code that was dealing with this relaxation was deleted in dotnet#57693 last year (ceeload.cpp, line 4006). We still had code that was telling RyuJIT not to inline string literals across modules if `NoStringInterning` is active because it might be observable, but since fragile NGen got deleted, I don't believe it's actually observable anymore and we could have deleted this together with fragile NGen support. Closes dotnet#53726 - we no longer need to worry about loosening the restriction - we just drop it all.
|
I couldn't figure out the best area label to add to this PR. If you have write-permissions please help me learn by adding exactly one area label. |
jkotas
left a comment
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.
LGTM otherwise
|
Tagging subscribers to this area: @JulieLeeMSFT Issue DetailsThe code that was dealing with this relaxation was deleted in #57693 last year (ceeload.cpp, line 4006). We still had code that was telling RyuJIT not to inline string literals across modules if Closes #53726 - we no longer need to worry about loosening the restriction - we just drop it all.
|
|
Wow, I somehow missed this one, does it mean we can now inline methods with string literals from different assemblies? 🎉 🎉 |
Barely, in fact entirely, unrelated, it would be nice if we didn't have so many resource strings duplicated across the shared framework assemblies. Some strings are duplicated 20 times. |
I hope so! |
|
Most likely all improvements in this one dotnet/perf-autofiling-issues#3263 are related |
I double checked, it does work :) |
|
Arm64 improvements: dotnet/perf-autofiling-issues#3289 |
|
Arm64 improvements dotnet/perf-autofiling-issues#3436 |
The code that was dealing with this relaxation was deleted in #57693 last year (ceeload.cpp, line 4006). We still had code that was telling RyuJIT not to inline string literals across modules if
NoStringInterningis active because it might be observable, but since fragile NGen got deleted, I don't believe it's actually observable anymore and we could have deleted this together with fragile NGen support.Closes #53726 - we no longer need to worry about loosening the restriction - we just drop it all.