Skip to content

[6.0] Use direct spare bit calculation for more MPE layouts #74194

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
merged 1 commit into from
Jun 12, 2024

Conversation

tbkka
Copy link
Contributor

@tbkka tbkka commented Jun 6, 2024

Description: Expand the work from #73491 to support more MPE layouts.

This is also switches the MPE layout code to exclusively use the new approach. The key observation: existing reflection metadata seems to already provide enough information in all cases, so we can abandon an earlier effort to add spare bitmask data.

Original PR: #74145

Reviewed by: @mikeash

Risk: There is some risk that the old code may have handled some enums that aren't (yet) fully supported by the new code. However, I did a bunch of experiments and found that our existing test cases have decent coverage of the major capabilities and I've also added a new test case specifically to exercise enum layouts being accessed resiliently. So if there are regressions from this change, they should be minor and easily fixed.

Resolves: rdar://129281368

…fixes

Expand the work from swiftlang#73491 to support more MPE layouts.

This is also switches the MPE layout code to exclusively use the new approach. The key observation: existing reflection metadata seems to already provide enough information in all cases, so we can abandon an earlier effort to add spare bitmask data.

There is some risk that the old code may have handled some enums that aren't (yet) fully supported by the new code. However, I did a bunch of experiments and found that our existing test cases have decent coverage of the major capabilities and I've also added a new test case specifically to exercise enum layouts being accessed resiliently. So if there are regressions from this change, they should be minor and easily fixed.

Resolves rdar://129281368
@tbkka tbkka requested a review from a team as a code owner June 6, 2024 22:22
@tbkka
Copy link
Contributor Author

tbkka commented Jun 6, 2024

@swift-ci Please test

@tbkka tbkka changed the title Merge pull request #74145 from tbkka/tbkka-remotemirror-mpe-fixes [6.0] Use direct spare bit calculation for more MPE layouts Jun 7, 2024
@tbkka
Copy link
Contributor Author

tbkka commented Jun 7, 2024

@swift-ci Please test Windows Platform

@tbkka tbkka merged commit edc9bb8 into swiftlang:release/6.0 Jun 12, 2024
5 checks passed
@tbkka tbkka deleted the tbkka-remotemirror-mpe-fixes-6.0 branch August 1, 2024 16:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants