Skip to content
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

[release/6.0] Don't regress SkipLocalsInit optimization on < 6.0 .NETCoreApp assets #57868

Merged
merged 4 commits into from
Aug 23, 2021

Conversation

ViktorHofer
Copy link
Member

@ViktorHofer ViktorHofer commented Aug 20, 2021

Customer Impact

netcoreapp3.1 and net5.0 assets which are part of the Microsoft.NETCore.App shared framework and ship inside a package need to keep the SkipLocalsInit optimization to avoid regressing perf. This would happen when referencing one of the 6.0 packages but consuming either the netcoreapp3.1 or net5.0 asset in it. The higher assembly version of the netcoreapp3.1/net5.0 asset would win over the same asset in the shared framework and without this fix, the SkipLocalsInit optimization would be lost.

Testing

Manually tested. Made sure that the optimization is correctly applied to netcoreapp3.1 or net5.0 assets which are part of the shared framework when producing the 6.0 package.

Risk

Low. This impacts 6.0 packages which contain netcoreapp3.1 or net5.0 assets that are part of the shared framework.

Contributes to #54964

net5.0 assets which are part of the Microsoft.NETCore.App shared framework and ship inside a package need to keep the SkipLocalsInit optimization to avoid regressing perf. This would happen when referencing a 6.0 package but consuming the net5.0 asset in it. The higher assembly version of the net5.0 asset would win over the same asset in the 5.0 shared framework and without this fix, the SkipLocalsInit optimization would be lost.

Contributes to #54964
@ghost
Copy link

ghost commented Aug 20, 2021

Tagging subscribers to this area: @Anipik, @safern, @ViktorHofer
See info in area-owners.md if you want to be subscribed.

Issue Details

net5.0 assets which are part of the Microsoft.NETCore.App shared framework and ship inside a package need to keep the SkipLocalsInit optimization to avoid regressing perf. This would happen when referencing a 6.0 package but consuming the net5.0 asset in it. The higher assembly version of the net5.0 asset would win over the same asset in the 5.0 shared framework and without this fix, the SkipLocalsInit optimization would be lost.

Contributes to #54964

Author: ViktorHofer
Assignees: ViktorHofer
Labels:

area-Infrastructure-libraries

Milestone: -

@ViktorHofer ViktorHofer changed the title Don't regress SkipLocalsInit optimization on net5.0 assets [release/6.0] Don't regress SkipLocalsInit optimization on net5.0 assets Aug 20, 2021
@ViktorHofer ViktorHofer changed the title [release/6.0] Don't regress SkipLocalsInit optimization on net5.0 assets [release/6.0] Don't regress SkipLocalsInit optimization on < 6.0 .NETCoreApp assets Aug 20, 2021
@danmoseley
Copy link
Member

Approved to merge into release/6.0 as it's a significant regression. Please verify in a build after it goes in.

@ViktorHofer ViktorHofer merged commit f722cad into release/6.0 Aug 23, 2021
@ViktorHofer ViktorHofer deleted the ViktorHofer-skiplocalsinit-for-net6 branch August 23, 2021 15:11
@ghost ghost locked as resolved and limited conversation to collaborators Sep 22, 2021
@ViktorHofer
Copy link
Member Author

/backport to main

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants