-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Fix for issue #80350 tracking runtime deficiencies in the presence of static virtual method reabstraction #80987
Conversation
/azp run coreclr-runtime outerloop |
No pipelines are associated with this pull request. |
/azp run runtime-coreclr outerloop |
Azure Pipelines successfully started running 1 pipeline(s). |
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, thank you!
@SamMonoRT - could you please advise someone who might be able to help me fix the Mono issues in this PR? I have updated the |
@BrzVlad will take a look at the failing Mono CI lanes later this week. |
This change fixes the issue dotnet#80350 that uncovered several inconsistencies in the CoreCLR runtime w.r.t. static virtual methods. In particular, reabstraction (declaring an abstract explicit override of a static virtual method in a derived interface) turned out to be causing runtime issues. As part of the change I'm also fixing the reabstraction unit test svm_diamondshape as it turns out Roslyn emits the method flags in a slightly different manner than I originally expected in the hand-written IL test. Thanks Tomas
Based on offline discussion with Vlad Brezae I have temporarily disabled the svm_diamondshape test on Mono where it is causing crashes in VTable construction that might take a bit to fix. Thanks Tomas
Based on offline discussion with @BrzVlad I have updated this PR by adding a temporary exclusion of the Thanks Tomas |
This change fixes the issue
#80350
that uncovered several inconsistencies in the CoreCLR runtime
w.r.t. static virtual methods. In particular, reabstraction (declaring
an abstract explicit override of a static virtual method in a derived
interface) turned out to be causing runtime issues. As part of
the change I'm also fixing the reabstraction unit test
svm_diamondshape as it turns out Roslyn emits the method flags
in a slightly different manner than I originally expected in the
hand-written IL test.
Thanks
Tomas
P.S. This PR would be normally an obvious adept for nominating @davidwrighton as the reviewer. As David is on parental leave right now, I am designating a larger reviewer group to get more pairs of eyes to see the change and also ideally proliferate CoreCLR typesystem knowledge to improve our agility the next time David's not available.