Skip to content

Conversation

@MichalStrehovsky
Copy link
Member

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 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 #53726 - we no longer need to worry about loosening the restriction - we just drop it all.

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.
@ghost
Copy link

ghost commented Jan 31, 2022

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.

Copy link
Member

@jkotas jkotas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM otherwise

@jkotas jkotas added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Jan 31, 2022
@ghost
Copy link

ghost commented Jan 31, 2022

Tagging subscribers to this area: @JulieLeeMSFT
See info in area-owners.md if you want to be subscribed.

Issue Details

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 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 #53726 - we no longer need to worry about loosening the restriction - we just drop it all.

Author: MichalStrehovsky
Assignees: MichalStrehovsky
Labels:

area-CodeGen-coreclr

Milestone: -

@jkotas jkotas merged commit 5211b53 into dotnet:main Jan 31, 2022
@EgorBo
Copy link
Member

EgorBo commented Jan 31, 2022

Wow, I somehow missed this one, does it mean we can now inline methods with string literals from different assemblies? 🎉 🎉

@danmoseley
Copy link
Member

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.

@MichalStrehovsky MichalStrehovsky deleted the nostringinterning branch January 31, 2022 23:35
@JulieLeeMSFT JulieLeeMSFT added this to the 7.0.0 milestone Feb 1, 2022
@MichalStrehovsky
Copy link
Member Author

Wow, I somehow missed this one, does it mean we can now inline methods with string literals from different assemblies? 🎉 🎉

I hope so!

@EgorBo
Copy link
Member

EgorBo commented Feb 1, 2022

Most likely all improvements in this one dotnet/perf-autofiling-issues#3263 are related
Also dotnet/perf-autofiling-issues#3250

@EgorBo
Copy link
Member

EgorBo commented Feb 1, 2022

Wow, I somehow missed this one, does it mean we can now inline methods with string literals from different assemblies? 🎉 🎉

I hope so!

I double checked, it does work :)

@EgorBo
Copy link
Member

EgorBo commented Feb 3, 2022

Arm64 improvements: dotnet/perf-autofiling-issues#3289

@EgorBo
Copy link
Member

EgorBo commented Feb 17, 2022

Arm64 improvements dotnet/perf-autofiling-issues#3436

@ghost ghost locked as resolved and limited conversation to collaborators Mar 19, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

JIT: Throw statement triggers: "has ldstr VM restriction"

5 participants