summaryrefslogtreecommitdiff
path: root/Zend/zend_execute.h
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2020-01-31 16:01:09 +0300
committerDmitry Stogov <dmitry@zend.com>2020-01-31 16:01:09 +0300
commit2b279b428fb31f7b66555f9be7baac110730112e (patch)
tree70d9d02722e336fcf507313ee9c91179c913597e /Zend/zend_execute.h
parent6b862e82d9363c2b25ebb762cee7bf8efd3c5bc7 (diff)
downloadphp-git-2b279b428fb31f7b66555f9be7baac110730112e.tar.gz
We don't need "safe" destruction anymore
Diffstat (limited to 'Zend/zend_execute.h')
-rw-r--r--Zend/zend_execute.h18
1 files changed, 2 insertions, 16 deletions
diff --git a/Zend/zend_execute.h b/Zend/zend_execute.h
index e2782e2127..745830652a 100644
--- a/Zend/zend_execute.h
+++ b/Zend/zend_execute.h
@@ -230,15 +230,7 @@ static zend_always_inline void zend_vm_stack_free_extra_args_ex(uint32_t call_in
uint32_t count = ZEND_CALL_NUM_ARGS(call) - call->func->op_array.num_args;
zval *p = ZEND_CALL_VAR_NUM(call, call->func->op_array.last_var + call->func->op_array.T);
do {
- if (Z_REFCOUNTED_P(p)) {
- zend_refcounted *r = Z_COUNTED_P(p);
- if (!GC_DELREF(r)) {
- ZVAL_NULL(p);
- rc_dtor_func(r);
- } else {
- gc_check_possible_root(r);
- }
- }
+ i_zval_ptr_dtor(p);
p++;
} while (--count);
}
@@ -257,13 +249,7 @@ static zend_always_inline void zend_vm_stack_free_args(zend_execute_data *call)
zval *p = ZEND_CALL_ARG(call, 1);
do {
- if (Z_REFCOUNTED_P(p)) {
- zend_refcounted *r = Z_COUNTED_P(p);
- if (!GC_DELREF(r)) {
- ZVAL_NULL(p);
- rc_dtor_func(r);
- }
- }
+ zval_ptr_dtor_nogc(p);
p++;
} while (--num_args);
}