-
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
[NativeAOT] Delegate bug fixes #99185
Conversation
- Fix Delegate.Method and Delegate.Target for marshalled delegates - Add tests and fixes for corner various delegate corner case behaviors - Delete runtime test for GetInvocationList since there is a better test coverage for this API under libraries Fixes dotnet/runtimelab#164
Tagging subscribers to this area: @dotnet/area-meta Issue Details
Fixes dotnet/runtimelab#164
|
Tagging subscribers to this area: @agocke, @MichalStrehovsky, @jkotas Issue Details
Fixes dotnet/runtimelab#164
|
While reviewing I noticed the https://gist.github.com/AustinWise/87eb03c4ec0cd06564c79e9b33bcfc07 One possible fix: make GCHandle in PInvokeDelegateThunk be WeakTrackResurrection. In the PInvokeDelegateThunk finalizer check to see if the object pointed to by the handle is still alive. If so, call ReRegisterForFinalize to defer finalization. |
99a99e9
to
7a2df9b
Compare
/azp run runtime-nativeaot-outerloop |
Azure Pipelines successfully started running 1 pipeline(s). |
@AustinWise Thank you! I have included the fix and the test in this PR. |
/azp run runtime-nativeaot-outerloop |
Azure Pipelines successfully started running 1 pipeline(s). |
This is ready for review |
…into DelegateMethodInfo
/azp run runtime-nativeaot-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.
Fixes dotnet/runtimelab#164