Skip to content

[release/6.0] Disable R2R code for all associated components of a composite image - #65536

Merged
carlossanlop merged 1 commit into
release/6.0from
backport/pr-65482-to-release/6.0
Mar 8, 2022
Merged

[release/6.0] Disable R2R code for all associated components of a composite image#65536
carlossanlop merged 1 commit into
release/6.0from
backport/pr-65482-to-release/6.0

Conversation

@github-actions

@github-actionsgithub-actionsBot commented Feb 18, 2022

Copy link
Copy Markdown
Contributor

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
@ghostghost added the area-VM-coreclr label Feb 18, 2022

@jeffschwMSFTjeffschwMSFT left a comment

Copy link
Copy Markdown
Member

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

@jeffschwMSFTjeffschwMSFT added the Servicing-consider Issue for next servicing release review label Feb 21, 2022
@jeffschwMSFTjeffschwMSFT added this to the 6.0.x milestone Feb 21, 2022
@rbhandarbhanda added Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels Feb 22, 2022
@rbhandarbhanda modified the milestones: 6.0.x, 6.0.4Feb 22, 2022

@trylektrylek left a comment

Copy link
Copy Markdown
Member

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.0Mar 8, 2022
@carlossanlop
carlossanlop deleted the backport/pr-65482-to-release/6.0 branch March 8, 2022 21:11
@ghostghost locked as resolved and limited conversation to collaborators Apr 8, 2022
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-VM-coreclrServicing-approvedApproved for servicing release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@jeffschwMSFT@trylek@carlossanlop@rbhanda@davidwrighton