summaryrefslogtreecommitdiff
path: root/Zend/zend_generators.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2014-09-23 17:21:29 +0400
committerDmitry Stogov <dmitry@zend.com>2014-09-23 17:21:29 +0400
commit06103d65b1a17d5072fa50b2e3797fae39da48a6 (patch)
treee317b07ae6845f8fd48d7f0abdcbff4127ae633f /Zend/zend_generators.c
parentb2795700cc1d90c94e572c5c0b88592379cf8d8a (diff)
downloadphp-git-06103d65b1a17d5072fa50b2e3797fae39da48a6.tar.gz
Use zval_ptr_dtor_nogc() to free IS_TMP_VAR operands.
Removed ZEND_SWITCH_FREE opcode (ZEND_FREE used instead).
Diffstat (limited to 'Zend/zend_generators.c')
-rw-r--r--Zend/zend_generators.c16
1 files changed, 3 insertions, 13 deletions
diff --git a/Zend/zend_generators.c b/Zend/zend_generators.c
index 449a374683..b038600ead 100644
--- a/Zend/zend_generators.c
+++ b/Zend/zend_generators.c
@@ -57,19 +57,9 @@ static void zend_generator_cleanup_unfinished_execution(zend_generator *generato
} else if (brk_cont->brk > op_num) {
zend_op *brk_opline = op_array->opcodes + brk_cont->brk;
- switch (brk_opline->opcode) {
- case ZEND_SWITCH_FREE:
- {
- zval *var = EX_VAR_2(execute_data, brk_opline->op1.var);
- zval_ptr_dtor(var);
- }
- break;
- case ZEND_FREE:
- {
- zval *var = EX_VAR_2(execute_data, brk_opline->op1.var);
- zval_dtor(var);
- }
- break;
+ if (brk_opline->opcode == ZEND_FREE) {
+ zval *var = EX_VAR_2(execute_data, brk_opline->op1.var);
+ zval_ptr_dtor_nogc(var);
}
}
}