]> granicus.if.org Git - php/commit
Fix bug #78271
authorNikita Popov <nikita.ppv@gmail.com>
Wed, 10 Jul 2019 15:25:04 +0000 (17:25 +0200)
committerNikita Popov <nikita.ppv@gmail.com>
Wed, 10 Jul 2019 15:25:40 +0000 (17:25 +0200)
commite7a83ec8dff962ea624508f18b9b10f5add030cc
treedea5d55063b46059007cc740fe8c2838451c3df9
parent3fa9f9cfae2cedd7b6d26b6487dd156321243ab7
Fix bug #78271

When cleaning nops in the dfa pass, we were always keeping the
smart branch inhibiting nop that occurs directly before the jump
instruction. However, as we skip unreachable blocks entirely, it
may happen that we need to keep a nop that occurs further back,
prior to the unreachable blocks. Account for that case now.

We should really do something about the smart branch situation,
this is very fragile...
NEWS
Zend/tests/bug78271.phpt [new file with mode: 0644]
ext/opcache/Optimizer/dfa_pass.c