aboutsummaryrefslogtreecommitdiffstats
path: root/lib/compiler/src/beam_z.erl
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2018-04-04 15:14:54 +0200
committerBjörn Gustavsson <[email protected]>2018-04-04 15:34:34 +0200
commit282fb67730e1bafe722e7149a35e272398f88b34 (patch)
tree5e7882c457fc8e480e369b878ab8b43d2f0cf9af /lib/compiler/src/beam_z.erl
parentf99860259ee557851acc865519a315f04d1d4d51 (diff)
downloadotp-282fb67730e1bafe722e7149a35e272398f88b34.tar.gz
otp-282fb67730e1bafe722e7149a35e272398f88b34.tar.bz2
otp-282fb67730e1bafe722e7149a35e272398f88b34.zip
Fix unsafe optimization of record test
beam_record would make an unsafe optimization for the not_used_p/4 function added to beam_utils_SUITE in this commit. The bug is in beam_utils, which would falsely report that {x,4} was unused when it in fact was used. The bug was in the function not_used/1. The purpose of not_used/1 is to return a 'not_used' result unless the actual result is 'used'. Unfortunately it was not implemented in that way. It would let a 'transparent' result slip through, which the caller in this case would convert to 'killed' (because the register was killed on all other paths). Reported-by: Richard Carlsson
Diffstat (limited to 'lib/compiler/src/beam_z.erl')
0 files changed, 0 insertions, 0 deletions