]> granicus.if.org Git - php/commitdiff
Move call/recv splitting into correct branch
authorNikita Popov <nikita.ppv@gmail.com>
Mon, 10 Apr 2017 21:51:27 +0000 (23:51 +0200)
committerNikita Popov <nikita.ppv@gmail.com>
Mon, 10 Apr 2017 21:51:27 +0000 (23:51 +0200)
ext/opcache/Optimizer/zend_cfg.c

index 5524bff19156b804183604c941f98c45e5a116bc..3eac1f69d992d834671bbea0c58ddade8bb3a74a 100644 (file)
@@ -45,6 +45,8 @@ static void zend_mark_reachable(zend_op *opcodes, zend_cfg *cfg, zend_basic_bloc
                                if (b->successors_count == 1) {
                                        if (opcode == ZEND_JMP) {
                                                succ->flags |= ZEND_BB_TARGET;
+                                       } else {
+                                               succ->flags |= ZEND_BB_FOLLOW;
 
                                                if (cfg->split_at_calls) {
                                                        if (opcode == ZEND_INCLUDE_OR_EVAL ||
@@ -63,8 +65,6 @@ static void zend_mark_reachable(zend_op *opcodes, zend_cfg *cfg, zend_basic_bloc
                                                                b->flags |= ZEND_BB_RECV_ENTRY;
                                                        }
                                                }
-                                       } else {
-                                               succ->flags |= ZEND_BB_FOLLOW;
                                        }
                                } else if (b->successors_count == 2) {
                                        if (i == 0 || opcode == ZEND_JMPZNZ) {