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.
This fixes a HiPE bug reported on erlang-questions on 2/11/2016.
The BEAM to ICode translation of the
bs_match_string
instruction,written long ago for binaries (i.e., with byte-sized strings), tried
to do a clever translation of even bit-sized strings using a HiPE
primop that took a Size argument expressed in bytes.
ICode is not really the place to do such a thing, and moreover there
is really no reason for the HiPE primop not to take a Size argument
expressed in bits instead. This commit changes the Size argument
to be in bits, postpones the translation of the
bs_match_string
primopuntil RTL and does a proper translation using bit-sized quantities there.
Fixed in a pair-programming/debugging session with @margnus1.