-
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
[release/8.0] [mono] Extend mono_gsharedvt_constrained_call JIT icall to handle static virtual methods #91059
Conversation
Before merging, we should verify if it resolves the customer issue reported in #90732. |
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:
|
Thanks for the heads-up. I added the @SamMonoRT @marek-safar in the meanwhile, do you approve of this change? |
Requesting a review from @lambdageek too (should be on Monday though). |
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 ? |
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 |
Ok no problem. Please add the |
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.
Manually verified that the reported failure has been fixed by building/running the sample on ios-arm64
device.
cc @carlossanlop - this is ready to be merged. Thank you. |
Description
Backport of #90875 to release/8.0
This PR extends
mono_gsharedvt_constrained_call
JIT icall to handle static virtual methods. Prior to this change, when a JIT icall is made from gsharedvt with a constrained static virtual method, thethis
is not handled properly, resulting withSIGSEGV
. This PR adds support for handling static virtual methods, makingthis
argumentNULL
.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_call
JIT icall to handle static virtual methods.The change doesn't affect code that ships in a NuGet package.