-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Allow MethodDesc::GetILHeader to work correctly under rejit scenarios #118465
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
Allow MethodDesc::GetILHeader to work correctly under rejit scenarios #118465
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 fixes a BadFormatException that occurs when using ICorProfiler rejit to change the callset of a method in a different assembly. The issue was introduced by a previous change (#118318) and affects the MethodDesc::GetILHeader
method in the CoreCLR runtime.
Key Changes:
- Reorders the RVA (Relative Virtual Address) validation check to occur after attempting to retrieve dynamic IL
- Ensures dynamic IL overrides are always checked before falling back to the original IL, even when RVA is 0
Tagging subscribers to this area: @steveisok, @dotnet/dotnet-diag |
What's a callset of a method? |
That's a typo - it should be callsite not callset. |
Internal Visual Studio diagnostic testing caught an issue related to ICorProfiler rejit changing the callsite of a method in a different assembly can result in a BadFormatException. Regressed by #118318