feat: enforce little-endianness for folly::Bits<> storage#2484
Open
mhx wants to merge 1 commit intofacebook:mainfrom
Open
feat: enforce little-endianness for folly::Bits<> storage#2484mhx wants to merge 1 commit intofacebook:mainfrom
folly::Bits<> storage#2484mhx wants to merge 1 commit intofacebook:mainfrom
Conversation
23aa467 to
3166f8b
Compare
Contributor
Author
|
Updated to simplify the change and leave the |
3166f8b to
627f4a5
Compare
627f4a5 to
56c04c5
Compare
56c04c5 to
77fd997
Compare
The inline docs for `folly::Bits` already mention that storage is expected to be little-endian. This change enforces little-endianness by using `folly::Endian` for load/store operations. This should be a no-op on little-endian systems. The main motivation for this change is that it immediately enables fbthrift Frozen2 files to be exchanged between little- and big-endian systems.
77fd997 to
37cbf2e
Compare
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
The inline docs for
folly::Bitsalready mention that storage is expected to be little-endian. This change enforces little-endianness by usingfolly::Endianfor load/store operations. This should be a no-op on little-endian systems.The main motivation for this change is that it immediately enables fbthrift Frozen2 files to be exchanged between little- and big-endian systems.