aboutsummaryrefslogtreecommitdiffstats
path: root/lib/hipe/rtl/hipe_rtl_ssa.erl
diff options
context:
space:
mode:
authorKostis Sagonas <[email protected]>2016-11-03 17:16:01 +0100
committerKostis Sagonas <[email protected]>2016-11-03 17:16:01 +0100
commit1257cee4faf33cc69c9452ba54afe5d5dbd4ddf6 (patch)
treea367455fa28bf1b548debd8de49b1a3caa282fe4 /lib/hipe/rtl/hipe_rtl_ssa.erl
parent0e8268be503ea53c100fef03d498ad7cc642c11b (diff)
downloadotp-1257cee4faf33cc69c9452ba54afe5d5dbd4ddf6.tar.gz
otp-1257cee4faf33cc69c9452ba54afe5d5dbd4ddf6.tar.bz2
otp-1257cee4faf33cc69c9452ba54afe5d5dbd4ddf6.zip
Fix the native code translation of bs_match_string
This fixes a HiPE bug reported on erlang-questions on 2/11/2016. The BEAM to ICode tranaslation 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 primop Fixed in a pair-programming/debugging session with @margnus1. until RTL and does a proper translation using bit-sized quantities there.
Diffstat (limited to 'lib/hipe/rtl/hipe_rtl_ssa.erl')
0 files changed, 0 insertions, 0 deletions