Skip to content

Conversation

jckarter
Copy link
Contributor

@jckarter jckarter commented Dec 5, 2018

Because layout minimizes the number of tag bits used, and favors high spare bits, the
spare bit representations end up overlapping the extra inhabitant representations, since we
just counted down from -1. If there are fewer tag bits than total spare bits, rotate the
extra inhabitant values so they correctly line up with the tag representations in this
situation. rdar://problem/46468090

@jckarter
Copy link
Contributor Author

jckarter commented Dec 5, 2018

@swift-ci Please test

@aschwaighofer
Copy link
Contributor

This looks good to me.

What happens when we just have extra tag bits and no common spare bits? We use the full byte(s) for the extra inhabitants. Don't we have the same problem in this case?

@jckarter
Copy link
Contributor Author

jckarter commented Dec 5, 2018

No, in that case the extra tag value always uses the entire byte/word.

@swift-ci
Copy link
Contributor

swift-ci commented Dec 6, 2018

Build failed
Swift Test Linux Platform
Git Sha - 23dbf30a7f4b7f742a33756e822f57ca8bcd6f61

@jckarter
Copy link
Contributor Author

jckarter commented Dec 6, 2018

@swift-ci Please clean test Linux

@swift-ci
Copy link
Contributor

swift-ci commented Dec 6, 2018

Build failed
Swift Test Linux Platform
Git Sha - 23dbf30a7f4b7f742a33756e822f57ca8bcd6f61

…its than tag bits.

Because layout minimizes the number of tag bits used, and favors high spare bits, the
spare bit representations end up overlapping the extra inhabitant representations, since we
just counted down from -1. If there are fewer tag bits than total spare bits, rotate the
extra inhabitant values so they correctly line up with the tag representations in this
situation. rdar://problem/46468090
@jckarter jckarter force-pushed the multi-payload-extra-inhabitant-bit-order branch from 23dbf30 to bf593b4 Compare December 6, 2018 21:01
@jckarter
Copy link
Contributor Author

jckarter commented Dec 6, 2018

@swift-ci Please test

@swift-ci
Copy link
Contributor

swift-ci commented Dec 6, 2018

Build failed
Swift Test Linux Platform
Git Sha - 23dbf30a7f4b7f742a33756e822f57ca8bcd6f61

@swift-ci
Copy link
Contributor

swift-ci commented Dec 6, 2018

Build failed
Swift Test OS X Platform
Git Sha - 23dbf30a7f4b7f742a33756e822f57ca8bcd6f61

@jckarter jckarter merged commit 6413d80 into swiftlang:master Dec 6, 2018
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.

3 participants