diff options
author | Björn Gustavsson <[email protected]> | 2010-11-26 09:22:44 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2010-11-26 10:25:07 +0100 |
commit | 8836ebccae92886decf5645944ae4ce8a2f99947 (patch) | |
tree | 797dfafe3ca5173d9ffb5bfba68bb2fe7959062a /lib/compiler/test/compiler.dynspec | |
parent | 99a28d961d2d760e98353b55991f1fc51dee06b0 (diff) | |
download | otp-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/test/compiler.dynspec')
0 files changed, 0 insertions, 0 deletions