diff options
-rw-r--r-- | ext/opcache/Optimizer/dfa_pass.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/ext/opcache/Optimizer/dfa_pass.c b/ext/opcache/Optimizer/dfa_pass.c index 02dfdd5b7e..7c71e535b4 100644 --- a/ext/opcache/Optimizer/dfa_pass.c +++ b/ext/opcache/Optimizer/dfa_pass.c @@ -155,6 +155,8 @@ void zend_dfa_optimize_op_array(zend_op_array *op_array, zend_optimizer_ctx *ctx && ssa->ops[op2].op2_use_chain < 0 && !ssa->vars[var1].phi_use_chain && !ssa->vars[var1].sym_use_chain + /* see Zend/tests/generators/aborted_yield_during_new.phpt */ + && op_array->opcodes[ssa->vars[var1].definition].opcode != ZEND_NEW ) { int op1 = ssa->vars[var1].definition; int var3 = i; |