-
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.
Intrinsify typeof(T).IsGenericType (#99555)
* Make Type.IsGenericType a JIT intrinsic * Add Type.IsGenericType intrinsic tests * Add intrinsic tests for nested types too * Skip expanding the intrinsic for __Canon * Add 'isGenericType' generated thunk Fix vtable in CorInfoImpl_generated.cs * Implement 'isGenericType' JIT/EE method * Plug 'isGenericType' in importer * Fix superPMI build * Use 'TypeCompareState' for 'isGenericType' * Add more test cases for shared generics * Remove ref struct type from 'IsGenericType' tests * Make __Canon type check less conservative Co-authored-by: Jan Kotas <jkotas@microsoft.com> * Update __Canon check in managed impl too Co-authored-by: Michal Strehovský <MichalStrehovsky@users.noreply.github.com> * Update tests, make them no inline * Update generated code * Fix rebase errors * Fix more rebase errors * Update jitinterface.cpp * Make `isGenericType` use _LEAF transition Co-authored-by: Jan Kotas <jkotas@microsoft.com> * Make `isNullableType` use _LEAF transition * Remove unnecessary shared generic check --------- Co-authored-by: Jan Kotas <jkotas@microsoft.com> Co-authored-by: Michal Strehovský <MichalStrehovsky@users.noreply.github.com> Co-authored-by: Miha Zupan <mihazupan.zupan1@gmail.com> Co-authored-by: Egor Bogatov <egorbo@gmail.com>
- Loading branch information
1 parent
eb455ec
commit f4fd3ea
Showing
22 changed files
with
376 additions
and
111 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
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.