Commit 0e60130
authored
[mono][interp] Add unbox when calling valuetype method through delegate (#79445)
* [mono][interp] Add unbox when calling valuetype method through delegate
If we are calling an open instance delegate, where the target method is on a valuetype, we will need to unbox this pointer.
* [mono][interp] Remove redundant check
If we are calling a method of a valuetype, then we already know `this` pointer is an instantiation of a valuetype.
* [mono][interp] Remove dead opcode
* [tests] Add regression test
* [tests] Disable test on fullaot1 parent 84d58ec commit 0e60130
File tree
6 files changed
+65
-29
lines changed- src
- mono/mono/mini/interp
- tests
- JIT/Regression/JitBlue/Runtime_79354
6 files changed
+65
-29
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3975 | 3975 | | |
3976 | 3976 | | |
3977 | 3977 | | |
3978 | | - | |
| 3978 | + | |
| 3979 | + | |
| 3980 | + | |
| 3981 | + | |
| 3982 | + | |
| 3983 | + | |
3979 | 3984 | | |
3980 | 3985 | | |
3981 | 3986 | | |
| |||
3998 | 4003 | | |
3999 | 4004 | | |
4000 | 4005 | | |
4001 | | - | |
| 4006 | + | |
4002 | 4007 | | |
4003 | 4008 | | |
4004 | 4009 | | |
| |||
4098 | 4103 | | |
4099 | 4104 | | |
4100 | 4105 | | |
4101 | | - | |
| 4106 | + | |
4102 | 4107 | | |
4103 | 4108 | | |
4104 | 4109 | | |
| |||
4148 | 4153 | | |
4149 | 4154 | | |
4150 | 4155 | | |
4151 | | - | |
4152 | | - | |
4153 | | - | |
4154 | | - | |
4155 | | - | |
4156 | | - | |
4157 | | - | |
4158 | | - | |
4159 | | - | |
4160 | | - | |
4161 | | - | |
4162 | | - | |
4163 | | - | |
4164 | | - | |
4165 | | - | |
4166 | | - | |
4167 | | - | |
4168 | | - | |
4169 | | - | |
4170 | | - | |
4171 | | - | |
4172 | | - | |
4173 | | - | |
4174 | 4156 | | |
4175 | 4157 | | |
4176 | 4158 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
670 | 670 | | |
671 | 671 | | |
672 | 672 | | |
673 | | - | |
674 | 673 | | |
675 | 674 | | |
676 | 675 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3541 | 3541 | | |
3542 | 3542 | | |
3543 | 3543 | | |
3544 | | - | |
3545 | | - | |
3546 | 3544 | | |
3547 | 3545 | | |
3548 | 3546 | | |
| |||
Lines changed: 45 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 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
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 | |
|---|---|---|---|
| |||
2910 | 2910 | | |
2911 | 2911 | | |
2912 | 2912 | | |
| 2913 | + | |
| 2914 | + | |
| 2915 | + | |
2913 | 2916 | | |
2914 | 2917 | | |
2915 | 2918 | | |
| |||
0 commit comments