-
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
Change all "unmanaged" (no GC fields) sequential types to have sequential layout. #61759
Change all "unmanaged" (no GC fields) sequential types to have sequential layout. #61759
Conversation
d5e15d0
to
3c4ccbc
Compare
0735747
to
b85447d
Compare
…al structs in managed-sequential layout
src/coreclr/tools/aot/ILCompiler.ReadyToRun/Compiler/ReadyToRunMetadataFieldLayoutAlgorithm.cs
Show resolved
Hide resolved
src/coreclr/tools/aot/ILCompiler.ReadyToRun/Compiler/ReadyToRunMetadataFieldLayoutAlgorithm.cs
Outdated
Show resolved
Hide resolved
…nMetadataFieldLayoutAlgorithm.cs Co-authored-by: Jan Kotas <jkotas@microsoft.com>
…all other scenarios (align-up to strictest alignment of members)
src/coreclr/tools/Common/TypeSystem/Common/MetadataFieldLayoutAlgorithm.cs
Outdated
Show resolved
Hide resolved
…Algorithm.cs Co-authored-by: Jan Kotas <jkotas@microsoft.com>
src/coreclr/tools/Common/TypeSystem/Common/MetadataFieldLayoutAlgorithm.cs
Outdated
Show resolved
Hide resolved
/azp run runtime-coreclr crossgen2 outerloop,runtime-coreclr crossgen2-composite |
Azure Pipelines successfully started running 2 pipeline(s). |
It looks good to me (once it builds on all platforms). Are you happy with the test coverage we have for this, or do you plan to add more tests? It would be useful to also get a review from @trylek or @davidwrighton . |
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.
I love this change, thanks so much Jeremy for finally putting some order to all this mess!
… and the type has GC pointers.
/azp run runtime-coreclr crossgen2 outerloop,runtime-coreclr crossgen2-composite |
Azure Pipelines successfully started running 2 pipeline(s). |
…layout. Update a comment so we aren't confused when looking back here in the future.
…runtime into managedseqential_unmanaged
/azp run runtime-coreclr crossgen2 outerloop,runtime-coreclr crossgen2-composite |
Azure Pipelines successfully started running 2 pipeline(s). |
It looks like the macOS ARM64 test failures are #62747 due to the following multidimensional array:
|
This is a prereq for #60639
This enables us to use the managed layout as the native layout for all LayoutKind.Sequential "C# unmanaged" structs, which is required for reconciling the "unmanaged" and "blittable" concepts.
Fixes #44579
Fixes #12977