aboutsummaryrefslogtreecommitdiffstats
path: root/lib/compiler/src/beam_bsm.erl
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2010-11-26 09:22:44 +0100
committerBjörn Gustavsson <[email protected]>2010-11-26 10:25:07 +0100
commit8836ebccae92886decf5645944ae4ce8a2f99947 (patch)
tree797dfafe3ca5173d9ffb5bfba68bb2fe7959062a /lib/compiler/src/beam_bsm.erl
parent99a28d961d2d760e98353b55991f1fc51dee06b0 (diff)
downloadotp-8836ebccae92886decf5645944ae4ce8a2f99947.tar.gz
otp-8836ebccae92886decf5645944ae4ce8a2f99947.tar.bz2
otp-8836ebccae92886decf5645944ae4ce8a2f99947.zip
beam_utils: Fix liveness analysis for gc_bif instructions
When gc_bif instructions occurred outside of a block, beam_utils:check_liveness/3 did not take into account that the instruction could do a garbage collection, and could falsely report that an x register would be killed. That could cause the beam_dead pass to make the code unsafe by removing the assignment to an x register that would subsequently be referenced by the garbage collector. Reported-by: Christopher Williams
Diffstat (limited to 'lib/compiler/src/beam_bsm.erl')
0 files changed, 0 insertions, 0 deletions