]> granicus.if.org Git - php/commitdiff
Fixed JIT for ext/opcache/tests/jit/cmp_004.phpt with opcache.jit=1201
authorDmitry Stogov <dmitry@zend.com>
Wed, 27 May 2020 06:59:12 +0000 (09:59 +0300)
committerDmitry Stogov <dmitry@zend.com>
Wed, 27 May 2020 06:59:12 +0000 (09:59 +0300)
ext/opcache/jit/zend_jit.c

index b589c2e3f5ecdf78f99d1056d3087299c2bd57d8..81429086d8d2959e4c982c8d92dfbba5ba0c5d3b 100644 (file)
@@ -2941,7 +2941,7 @@ static int zend_jit(const zend_op_array *op_array, zend_ssa *ssa, const zend_op
                                        break;
                                case ZEND_JMPZ:
                                case ZEND_JMPNZ:
-                                       if (opline > op_array->opcodes &&
+                                       if (opline > op_array->opcodes + ssa->cfg.blocks[b].start &&
                                            ((opline-1)->result_type & (IS_SMART_BRANCH_JMPZ|IS_SMART_BRANCH_JMPNZ)) != 0) {
                                                /* smart branch */
                                                if (!zend_jit_cond_jmp(&dasm_state, opline + 1, ssa->cfg.blocks[b].successors[0])) {