Skip to content

Conversation

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented Feb 18, 2022

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-set switch 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-set switch 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.

… 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
@ghost ghost added the area-VM-coreclr label Feb 18, 2022
Copy link
Member

@jeffschwMSFT jeffschwMSFT left a comment

Choose a reason for hiding this comment

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

Approved. Please get a code review. We will take for consideration in 6.0.x

@jeffschwMSFT jeffschwMSFT added the Servicing-consider Issue for next servicing release review label Feb 21, 2022
@jeffschwMSFT jeffschwMSFT added this to the 6.0.x milestone Feb 21, 2022
@davidwrighton davidwrighton requested a review from trylek February 22, 2022 16:55
@rbhanda rbhanda added Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels Feb 22, 2022
@rbhanda rbhanda modified the milestones: 6.0.x, 6.0.4 Feb 22, 2022
Copy link
Member

@trylek trylek left a comment

Choose a reason for hiding this comment

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

LGTM, thank you!

@carlossanlop carlossanlop merged commit 4276a71 into release/6.0 Mar 8, 2022
@carlossanlop carlossanlop deleted the backport/pr-65482-to-release/6.0 branch March 8, 2022 21:11
@ghost ghost locked as resolved and limited conversation to collaborators Apr 8, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-VM-coreclr Servicing-approved Approved for servicing release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants