diff options
author | Björn Gustavsson <[email protected]> | 2010-11-26 11:47:50 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2010-12-02 17:12:24 +0100 |
commit | 2b03fbacf1ac0c06a84439baac90d418916a1778 (patch) | |
tree | a42ca97705f775998d0bc779db20b47b4e752816 /lib/compiler/priv | |
parent | 8836ebccae92886decf5645944ae4ce8a2f99947 (diff) | |
download | otp-2b03fbacf1ac0c06a84439baac90d418916a1778.tar.gz otp-2b03fbacf1ac0c06a84439baac90d418916a1778.tar.bz2 otp-2b03fbacf1ac0c06a84439baac90d418916a1778.zip |
beam_utils: Fix check_liveness/3 for receive loops
Sometimes the beam_bool pass wants to know whether an
y register will be killed by the code that follows and
will do (effectively):
beam_utils:is_killed({y,Y}, Code, L)
When asked to calculate the liveness for an y register,
beam_utils:is_killed/3 will loop forever if the code
includes a receive loop.
Since this rarely occurs, fix the problem in the simplest
and most conservative way.
Reported-by: Christopher Williams
Diffstat (limited to 'lib/compiler/priv')
0 files changed, 0 insertions, 0 deletions