-
Notifications
You must be signed in to change notification settings - Fork 5.2k
[release/9.0-staging][mono][hotreload]Adjust row_size and size_bitfield from the baseline based on the delta sizes #114119
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
[release/9.0-staging][mono][hotreload]Adjust row_size and size_bitfield from the baseline based on the delta sizes #114119
Conversation
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.
Pull Request Overview
This PR adds a new test case to verify that metadata row sizes are adjusted correctly and introduces an autogenerated helper class for the update. Key changes include:
- A new test, TestIncreaseMetadataRowSize, in ApplyUpdateTest.cs validating metadata updates.
- Addition of the autogenerated IncreaseMetadataRowSize class in a new file.
Reviewed Changes
Copilot reviewed 3 out of 7 changed files in this pull request and generated 2 comments.
File | Description |
---|---|
src/libraries/System.Runtime.Loader/tests/ApplyUpdateTest.cs | Added a new test case checking metadata row size and method signature. |
src/libraries/System.Runtime.Loader/tests/ApplyUpdate/System.Reflection.Metadata.ApplyUpdate.Test.IncreaseMetadataRowSize/IncreaseMetadataRowSize.cs | Autogenerated class with placeholder methods for metadata updates. |
Files not reviewed (4)
- src/libraries/System.Runtime.Loader/tests/ApplyUpdate/System.Reflection.Metadata.ApplyUpdate.Test.IncreaseMetadataRowSize/System.Reflection.Metadata.ApplyUpdate.Test.IncreaseMetadataRowSize.csproj: Language not supported
- src/libraries/System.Runtime.Loader/tests/ApplyUpdate/System.Reflection.Metadata.ApplyUpdate.Test.IncreaseMetadataRowSize/deltascript.json: Language not supported
- src/libraries/System.Runtime.Loader/tests/System.Runtime.Loader.Tests.csproj: Language not supported
- src/mono/mono/component/hot_reload.c: Language not supported
Friendly reminder that code complete is on April 14th for the May Release. If you'd like to get this change included in that release, please get a Tactics approval and merge this PR before that date. |
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.
lgtm. we will take for consideration in 9.0.x
Friendly reminder that code complete for the May release is next Monday April 14th. If you want this change included in that release, please merge the PR before EOD Monday. |
/ba-g CI unrelated failures |
Backport of #113995 to release/9.0-staging
/cc @thaystg
Customer Impact
https://devdiv.visualstudio.com/DevDiv/_workitems/edit/2396448
When a customer is trying to apply hotreload on mono runtime depending on how many things are added the hotreload will not work and may hit an assertion or have any weird behavior about not finding methods/assembly with names containing trash value.
Any update in an app that any metadata table is near the size of 65536 will cause it in the first change.
Or any huge change that causes the metadata table size increase.
Regression
[If yes, specify when the regression was introduced. Provide the PR or commit if known.]
Testing
Manually tested and also created a test case.
Risk
[High/Medium/Low. Justify the indication by mentioning how risks were measured and addressed.] Medium risk, because we changed how we read/save the metadata information after a hot reload. But this will only affect mono hotreload customers.