-
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
Enable Mono for using faster invoke stubs #89108
Conversation
Tagging subscribers to this area: @dotnet/area-system-reflection Issue Details[Verifying Tests]
|
just curious - is it possible to avoid boxed |
It's done this way primarily for the interpreted path, which doesn't use emit and is located in the native runtime -- it either needs to be passed a pointer to a nullable or have special logic that creates a nullable from the Also, for both the interpreted path and the various emit paths we also wanted to normalize the |
src/libraries/System.Private.CoreLib/src/System/Reflection/InvokerEmitUtil.cs
Show resolved
Hide resolved
return CheckValueStatus.Success; | ||
|
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.
Why is this needed ?
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.
Thanks for this. With the last commit, it is no longer necessary. Also removed from core CLR.
It was necessary previously since the Opcodes.UnboxAny
would throw a InvalidCastException for UIntPtr arguments.
Add support for Mono to emit faster invoke stubs for both the new invoke APIs added in #88415 as well as standard invoke.
Replacement for closed issue #88952