FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

[release/9.0-staging] [mono][mini] Disable inlining if we encounter class initialization failure by github-actions[bot] · Pull Request #112005 · dotnet/runtime · GitHub

Repository navigation

[release/9.0-staging] [mono][mini] Disable inlining if we encounter class initialization failure - #112005

Merged
steveisok merged 2 commits into
release/9.0-stagingfrom
backport/pr-111754-to-release/9.0-staging
Feb 21, 2025
Merged

steveisok merged 2 commits into
release/9.0-stagingfrom
backport/pr-111754-to-release/9.0-staging

Conversation

github-actions Bot commented Jan 30, 2025 •
edited by BrzVlad
Loading

Copy link
Copy Markdown
Contributor

Backport of #111754 to release/9.0-staging

This adds on top of #110271, which proved insufficient during validation of customer app for February NET9 service release.

Customer Impact

AOT of some assemblies can lead to compilation crashes, on iOS for example. This would force users to use interpreter instead.

Regression

Regression introduced in .NET9.

Testing

Tested with sample application provided by customer.

Risk

Low. In rare cases, when typeload exception was detected during compile time, we were emitting code to throw this exception at runtime (this was behavior introduced in net9). This functionality didn't work correctly when the code was emitted as part of an inlined method. This fix takes a conservative approach by disabling inlining for these methods (which we shouldn't really do even if the codegen were correct), reusing existing functionality.

…ilure

method_make_alwaysthrow_typeloadfailure replaces the entire method code with a throw of type load exception. This behaviour not only seem dubious, if it is triggered from inlining a method, that might never even get called, but it also does changes to the set of basic blocks that can lead to crashes later on during compilation.

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @steveisok, @vitek-karas
See info in area-owners.md if you want to be subscribed.

Copy link
Copy Markdown
Member

/ba-g All known tests, but BA was still holding the PR back.

steveisok added Servicing-approved Approved for servicing release and removed Servicing-approved Approved for servicing release labels Feb 21, 2025
steveisok merged commit 120e0b6 into release/9.0-staging Feb 21, 2025
steveisok deleted the backport/pr-111754-to-release/9.0-staging branch February 21, 2025 13:49
github-actions Bot locked and limited conversation to collaborators Mar 24, 2025
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.

Labels

area-Codegen-JIT-mono Servicing-approved Approved for servicing release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants


Back | FazBrowse Home | New Git URL