-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Change all "unmanaged" (no GC fields) sequential types to have sequential layout. #61759
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
Merged
jkoritzinsky
merged 36 commits into
dotnet:main
from
jkoritzinsky:managedseqential_unmanaged
Dec 15, 2021
Merged
Changes from all commits
Commits
Show all changes
36 commits
Select commit
Hold shift + click to select a range
3c4ccbc
Change all "unmanaged" (no GC fields) sequential types to have sequen…
jkoritzinsky 6b9e41d
Merge branch 'main' into managedseqential_unmanaged
jkoritzinsky b85447d
Fix inverted condition
jkoritzinsky 0ff8540
Account for RequiresAlign8 for auto-layout nested structs in sequenti…
jkoritzinsky c6ee36d
Clean up R2R layout algorithm's handling of the new managed-sequentia…
jkoritzinsky 99c0244
Update src/coreclr/tools/aot/ILCompiler.ReadyToRun/Compiler/ReadyToRu…
jkoritzinsky 0ec572a
Try to remove the explicit layout quirk by following the behavior in …
jkoritzinsky e2589f3
Fix missed cast.
jkoritzinsky 1744d82
Update src/coreclr/tools/Common/TypeSystem/Common/MetadataFieldLayout…
jkoritzinsky bbaa220
AlignUp the right variable.
jkoritzinsky 7afb6d2
Remove alignUpInstanceByteSize parameter as it's always true
jkoritzinsky f8f8390
Merge branch 'main' of github.com:dotnet/runtime into managedseqentia…
jkoritzinsky 0e317fe
Make enums use sequential layout again since the auto-layout algorith…
jkoritzinsky f174cad
Remove HasLayoutMetadata branch and method since the only cases where…
jkoritzinsky 6a90bb3
Handle enum alignment concerns while allowing enums themselves to hav…
jkoritzinsky 880430a
Update the auto-layout algorithm to better track alignment requiremen…
jkoritzinsky 83e7c80
Merge branch 'main' of github.com:dotnet/runtime into managedseqentia…
jkoritzinsky 91df6da
Remove now-invalid alignment fixup
jkoritzinsky 8196fbe
Handle the case of an auto-layout struct as a field in another struct.
jkoritzinsky da12b83
Store the custom alignment requirement for layoutkind.auto value type…
jkoritzinsky 47c95bf
Update StructPacking test based on failures.
jkoritzinsky c309a69
Fix more of the struct packing test results
jkoritzinsky 6cfe0c7
Don't double-count the adjustment for auto-layout reference type base…
jkoritzinsky f6af360
Fix GCSeries calculation for platforms that have the specialized alig…
jkoritzinsky 66f80e8
Update check to specifically check if the base size is pointer sized.…
jkoritzinsky 8501319
Update StructPacking.cs for arm and arm64 (we now respect alignment r…
jkoritzinsky 1b9eda3
Fix default packing size calculations
jkoritzinsky 2f74ce3
Try one more change to fix the last issue
jkoritzinsky c98ae95
Cleanup and update some corner cases of the managed-sequential case.
jkoritzinsky 966af36
Fix nites.
jkoritzinsky ae9aa6c
Fix some copy-paste issues.
jkoritzinsky 842aef2
Fix ->/. typo
jkoritzinsky d269851
Fix disqualifying from managed-sequential when RequiresAlign8 is true…
jkoritzinsky e423c3c
Update x86 tests that check sizeof for types that have changed size.
jkoritzinsky a1bc86e
Fix Align8 candidate calculation to not account for packing for auto-…
jkoritzinsky 53e5644
Merge branch 'managedseqential_unmanaged' of github.com:jkoritzinsky/…
jkoritzinsky File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.