-
Notifications
You must be signed in to change notification settings - Fork 4.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Mono] UnsafeAccessorAttribute non-generic support for field (#88626)
* Detect an UnsafeAccessorAttribute for method with interpreter * Change field to property * Get Kind from typed_args * define MonoUnsafeAccessorKind enum * Add the frontend for JIT * Add mono_marshal_get_unsafe_accessor_wrapper and WRAPPER_SUBTYPE_UNSAFE_ACCESSOR And the associated AOT compiler/runtime and marshaling caching boilerplate. * [interp] get the unsafe accessor wrapper * fix: skip visibility in unsafe accessor wrappers that is the whole point of them * fix: decode the length and copy the name from UnsafeAccessorAttribute The name has a length as a prefix and doesn not have a null terminator * [mini] compile wrapper * [aot] Emit unsafe accessor wrappers to the AOT image * Add the method to emit wrapper for field * Fix typo * Remove assertion for interpreter * Fix format and replace assertion with proper exception * Free the memory and throw proper NotImplementedException * Enable StaticField and Field tests Co-authored-by: Aleksey Kliger <[email protected]> Co-authored-by: Aaron Robinson <[email protected]>
- Loading branch information
1 parent
940c26d
commit 45db21d
Showing
16 changed files
with
395 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.