aboutsummaryrefslogtreecommitdiffstats
path: root/lib/compiler/src/beam_validator.erl
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2011-09-23 10:29:47 +0200
committerBjörn Gustavsson <[email protected]>2012-10-09 15:24:39 +0200
commitb17da0957f6441e41579d2bad40a8977c4098c0f (patch)
treea4d9137c78385af380bd27721795aed50d40e1f9 /lib/compiler/src/beam_validator.erl
parent562cf135b9518985d172d291665eb32f891032fb (diff)
downloadotp-b17da0957f6441e41579d2bad40a8977c4098c0f.tar.gz
otp-b17da0957f6441e41579d2bad40a8977c4098c0f.tar.bz2
otp-b17da0957f6441e41579d2bad40a8977c4098c0f.zip
beam_jump: Fix broken optimization
A test instruction with the same target label as jump immediately followed it was supposed to be removed, but it was kept anyway. Fix that optimization, but also make sure that the test instruction is kept if the test instruction may have side effects (such as a bit syntax matching instruction). While at it, make the code cleaner by breaking it up into two clauses and don't remove the jump instruction if it is redudant (removal of redundant jump instructions is already handled in another place).
Diffstat (limited to 'lib/compiler/src/beam_validator.erl')
0 files changed, 0 insertions, 0 deletions