summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/opcache/Optimizer/dfa_pass.c2
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;