Commit 20c68d2
authored
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. Based on discussion with the
Mono team I have had to temporarily disable the svm_diamondshape
test on Mono before the correct fix is found.
Thanks
Tomas
1 parent f8e6ebf commit 20c68d2
5 files changed
Lines changed: 74 additions & 7 deletions
File tree
- src
- coreclr/vm
- tests
- Loader/classloader/StaticVirtualMethods
- DiamondShape
- RegressionTests
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2868 | 2868 | | |
2869 | 2869 | | |
2870 | 2870 | | |
2871 | | - | |
| 2871 | + | |
| 2872 | + | |
2872 | 2873 | | |
2873 | 2874 | | |
2874 | 2875 | | |
| |||
3202 | 3203 | | |
3203 | 3204 | | |
3204 | 3205 | | |
3205 | | - | |
| 3206 | + | |
3206 | 3207 | | |
3207 | 3208 | | |
3208 | 3209 | | |
| |||
3215 | 3216 | | |
3216 | 3217 | | |
3217 | 3218 | | |
| 3219 | + | |
| 3220 | + | |
| 3221 | + | |
| 3222 | + | |
| 3223 | + | |
| 3224 | + | |
| 3225 | + | |
3218 | 3226 | | |
3219 | 3227 | | |
3220 | 3228 | | |
| |||
4788 | 4796 | | |
4789 | 4797 | | |
4790 | 4798 | | |
4791 | | - | |
| 4799 | + | |
| 4800 | + | |
| 4801 | + | |
| 4802 | + | |
| 4803 | + | |
4792 | 4804 | | |
4793 | 4805 | | |
4794 | 4806 | | |
| |||
5636 | 5648 | | |
5637 | 5649 | | |
5638 | 5650 | | |
5639 | | - | |
| 5651 | + | |
| 5652 | + | |
| 5653 | + | |
| 5654 | + | |
5640 | 5655 | | |
5641 | 5656 | | |
5642 | 5657 | | |
| |||
5819 | 5834 | | |
5820 | 5835 | | |
5821 | 5836 | | |
5822 | | - | |
| 5837 | + | |
5823 | 5838 | | |
5824 | 5839 | | |
5825 | 5840 | | |
| |||
5854 | 5869 | | |
5855 | 5870 | | |
5856 | 5871 | | |
5857 | | - | |
| 5872 | + | |
5858 | 5873 | | |
5859 | 5874 | | |
5860 | 5875 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
232 | 232 | | |
233 | 233 | | |
234 | 234 | | |
235 | | - | |
| 235 | + | |
236 | 236 | | |
237 | 237 | | |
238 | 238 | | |
| |||
Lines changed: 40 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
Lines changed: 9 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1525 | 1525 | | |
1526 | 1526 | | |
1527 | 1527 | | |
| 1528 | + | |
| 1529 | + | |
| 1530 | + | |
1528 | 1531 | | |
1529 | 1532 | | |
1530 | 1533 | | |
| |||
0 commit comments