]> granicus.if.org Git - php/commit
Fix JMPZ, JMPZNZ_EX chain optimization
authorNikita Popov <nikic@php.net>
Wed, 4 May 2016 21:52:42 +0000 (23:52 +0200)
committerNikita Popov <nikic@php.net>
Wed, 4 May 2016 22:00:56 +0000 (00:00 +0200)
commit0691e7a8e15ace3ce186ceb8c27753325a5a956f
tree5f9d82ff7593d28f7bd5838285ad6312912e7e60
parent9af0c96af4ded5ac0935e6cc1a2fa253ce77dfac
Fix JMPZ, JMPZNZ_EX chain optimization

The result_type was not copied, resulting in a corrupted JMPZ_EX.
Fix can be verified by inspecting the opcodes of the following
function (it should not contain any _EX opcodes):

function test() {
    if ($a && $b) {
        echo "a";
    }

    if ($b || $c || $d) {
        echo "b";
    }
}

Conflicts:
ext/opcache/Optimizer/block_pass.c
ext/opcache/Optimizer/block_pass.c