aboutsummaryrefslogtreecommitdiffstats
path: root/lib/hipe/rtl/hipe_rtl_binary.erl
diff options
context:
space:
mode:
authorMagnus Lång <[email protected]>2015-11-20 15:28:05 +0100
committerMagnus Lång <[email protected]>2015-11-27 18:18:38 +0100
commit4ce3f357aca2b418dda22ce5434b080ba41ffa45 (patch)
treeae8a323b10fdead351963c78bacad86a381b74d3 /lib/hipe/rtl/hipe_rtl_binary.erl
parentfa4cc49b0e64b655a167a5daceb2f16252102fc6 (diff)
downloadotp-4ce3f357aca2b418dda22ce5434b080ba41ffa45.tar.gz
otp-4ce3f357aca2b418dda22ce5434b080ba41ffa45.tar.bz2
otp-4ce3f357aca2b418dda22ce5434b080ba41ffa45.zip
hipe: Fix binary constructions failing with badarith
Expressions like <<0:(fun(X)->X end(anka))>> would fail with 'badarith' in HiPE, but 'badarg' in BEAM. hipe_beam_to_icode was attempting to optimise the amount of code generated by letting the arithmetic error propagate instead of catching it. However, since it was emitting a block to throw 'badarg' in that case anyway, we can just reuse it to achieve just as compact code that behaves exactly like BEAM.
Diffstat (limited to 'lib/hipe/rtl/hipe_rtl_binary.erl')
0 files changed, 0 insertions, 0 deletions