| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
…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.
|
Tagging subscribers to this area: @steveisok, @vitek-karas |
Sorry, something went wrong.
|
/ba-g All known tests, but BA was still holding the PR back. |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
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.