[release/6.0] Disable R2R code for all associated components of a composite image#65536
Merged
carlossanlop merged 1 commit intorelease/6.0from Mar 8, 2022
Merged
Conversation
… When loading a composite image, capture the detail that the composite image code cannot be used into the NativeImage structure, and flow that data into all associated ReadyToRunInfo structures. Fixes #61471
jeffschwMSFT
approved these changes
Feb 21, 2022
Member
jeffschwMSFT
left a comment
There was a problem hiding this comment.
Approved. Please get a code review. We will take for consideration in 6.0.x
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Backport of #65482 to release/6.0
/cc @davidwrighton
Customer Impact
It is not safe to create a composite R2R image that uses a custom
-instruction-setswitch on .NET 6.0. The resulting binary will crash on a machine where the instruction set is not present instead of gracefully falling back to jit. See #61471 for details. While the--instruction-setswitch is not documented in docs.microsoft.com, @rickbrew indicates that he did see benefits for his customers, and we would like to get more coverage of this scenario in real world code as we explore using this feature of crossgen2 in upcoming .NET releases.Testing
Manual testing of a test case.
Risk
Low. This code only enables a new path for disabling R2R code, which is a well tested pathway.
IMPORTANT: If this change touches code that ships in a NuGet package, please make certain that you have added any necessary package authoring and gotten it explicitly reviewed.