-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Preserve the System.RuntimeType constructor in mono ILLink #48710
Conversation
I couldn't figure out the best area label to add to this PR. If you have write-permissions please help me learn by adding exactly one area label. |
CC. @eerhardt |
I think this might fix #48522 |
src/mono/System.Private.CoreLib/src/ILLink/ILLink.Descriptors.xml
Outdated
Show resolved
Hide resolved
Confirmed, just ran the tests with this change and without the workaround I added and all test pass for browser-wasm. I'll take the liberty to modify the PR description to add the fixes message. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for tracking this down @tannergooding
src/mono/System.Private.CoreLib/src/ILLink/ILLink.Descriptors.xml
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me. I'm super happy you were able to trace this down. Nice work.
Co-authored-by: Larry Ewing <lewing@microsoft.com>
Hello @tannergooding! Because this pull request has the p.s. you can customize the way I help with merging this pull request, such as holding this pull request until a specific person approves. Simply @mention me (
|
The failure in the dotnet-liner-tests pipeline is a race condition that I'm already fixing on my PR #48429 so feel free to disregard that |
Fixes #48522
Without this, the linker will think that
RuntimeType
is never instantiated and can generate code such as (the red without this fix vs the green with this fix):Additionally, under this scenario the runtime will end up failing to load S.P.Corelib with an error similar to: