diff options
author | Dmitry Stogov <dmitry@zend.com> | 2019-04-03 03:11:15 +0300 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2019-04-03 03:11:15 +0300 |
commit | e03f5328298791a34afdfb64f21163b71a57ac31 (patch) | |
tree | 031303c33139e9a48a0e5dec45f6a224e708c11c | |
parent | 9ef2377d333006c0c95009f2c92910d6c904078c (diff) | |
parent | 0f811bb7b65854b3548e55f1a38ffd243a4d5e5d (diff) | |
download | php-git-e03f5328298791a34afdfb64f21163b71a57ac31.tar.gz |
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fixed CFG construction for SWITCH opcodes
-rw-r--r-- | ext/opcache/Optimizer/zend_cfg.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/ext/opcache/Optimizer/zend_cfg.c b/ext/opcache/Optimizer/zend_cfg.c index ccfdaa3425..489a3f1f7e 100644 --- a/ext/opcache/Optimizer/zend_cfg.c +++ b/ext/opcache/Optimizer/zend_cfg.c @@ -74,8 +74,8 @@ static void zend_mark_reachable(zend_op *opcodes, zend_cfg *cfg, zend_basic_bloc } } else { ZEND_ASSERT(opcode == ZEND_SWITCH_LONG || opcode == ZEND_SWITCH_STRING); - if (i == b->successors_count) { - succ->flags |= ZEND_BB_FOLLOW; + if (i == b->successors_count - 1) { + succ->flags |= ZEND_BB_FOLLOW | ZEND_BB_TARGET; } else { succ->flags |= ZEND_BB_TARGET; } |