Uh oh!
There was an error while loading. Please reload this page.
[release/8.0] [mono] Extend mono_gsharedvt_constrained_call JIT icall to handle static virtual methods - #91059
Conversation
kotlarmilos
commented
Aug 24, 2023
Before merging, we should verify if it resolves the customer issue reported in #90732. |
ghost
commented
Aug 24, 2023
Tagging subscribers to 'os-ios': @steveisok, @akoeplinger, @kotlarmilos Issue DetailsBackport of #90875 to release/8.0 /cc @kotlarmilos Customer ImpactTestingRiskIMPORTANT: If this backport is for a servicing release, please verify that:
|
carlossanlop
commented
Aug 24, 2023
Thanks for the heads-up. I added the @SamMonoRT@marek-safar in the meanwhile, do you approve of this change? |
SamMonoRT
commented
Aug 24, 2023
Requesting a review from @lambdageek too (should be on Monday though). |
carlossanlop
commented
Aug 28, 2023
Signed-off by both @lambdageek and @marek-safar . There are two mono failures. Are they related to this PR or can I merge, @kotlarmilos / @SamMonoRT ? |
SamMonoRT
commented
Aug 28, 2023
please don't merge today. CI failures are unrelated, but validating manual testing to be sure of fix to customer issue. I'll message once done tomorrow am |
carlossanlop
commented
Aug 28, 2023
Ok no problem. Please add the |
ivanpovazan
left a comment
There was a problem hiding this comment.
Manually verified that the reported failure has been fixed by building/running the sample on ios-arm64 device.
SamMonoRT
commented
Aug 29, 2023
cc @carlossanlop - this is ready to be merged. Thank you. |
Description
Backport of #90875 to release/8.0
This PR extends
mono_gsharedvt_constrained_callJIT icall to handle static virtual methods. Prior to this change, when a JIT icall is made from gsharedvt with a constrained static virtual method, thethisis not handled properly, resulting withSIGSEGV. This PR adds support for handling static virtual methods, makingthisargumentNULL.Customer Impact
The issue was discovered by a customer using an iOS Xamarin app. The fix should help resolving #90732.
Testing
Manual testing was performed, ensuring that the JIT icalls can be made from gsharedvt with a constrained static virtual method.
Risk
Low risk. This change extends functionality of the
mono_gsharedvt_constrained_callJIT icall to handle static virtual methods.The change doesn't affect code that ships in a NuGet package.