diff options
author | Nikita Popov <nikic@php.net> | 2014-09-03 15:16:32 +0200 |
---|---|---|
committer | Nikita Popov <nikic@php.net> | 2014-09-03 15:18:06 +0200 |
commit | 9e753531842f524a1a147ca0244c041e59ecd117 (patch) | |
tree | 77f1dbf101b5012bb986f178cdd5379f67b84ec0 /Zend/zend_execute.h | |
parent | c52511c30703d2921f813ccf1557bc042a7cd9d2 (diff) | |
download | php-git-9e753531842f524a1a147ca0244c041e59ecd117.tar.gz |
Use zval_ptr_dtor_nogc to destroy literals
Also move the definition of zval_ptr_dtor_nogc to zend_variables.h
(from zend_execute.h/.c) as it's used in a few places.
Diffstat (limited to 'Zend/zend_execute.h')
-rw-r--r-- | Zend/zend_execute.h | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/Zend/zend_execute.h b/Zend/zend_execute.h index ed905ff8cf..77e6a9e59a 100644 --- a/Zend/zend_execute.h +++ b/Zend/zend_execute.h @@ -63,16 +63,6 @@ static zend_always_inline void i_zval_ptr_dtor(zval *zval_ptr ZEND_FILE_LINE_DC } } -static zend_always_inline void i_zval_ptr_dtor_nogc(zval *zval_ptr ZEND_FILE_LINE_DC TSRMLS_DC) -{ - if (Z_REFCOUNTED_P(zval_ptr)) { - if (!Z_DELREF_P(zval_ptr)) { - ZEND_ASSERT(zval_ptr != &EG(uninitialized_zval)); - _zval_dtor_func_for_ptr(Z_COUNTED_P(zval_ptr) ZEND_FILE_LINE_CC); - } - } -} - static zend_always_inline int i_zend_is_true(zval *op TSRMLS_DC) { int result; @@ -237,7 +227,7 @@ static zend_always_inline void zend_vm_stack_free_extra_args(zend_execute_data * zval *p = end + (call->num_args - first_extra_arg); do { p--; - i_zval_ptr_dtor_nogc(p ZEND_FILE_LINE_CC TSRMLS_CC); + zval_ptr_dtor_nogc(p); } while (p != end); } } @@ -252,7 +242,7 @@ static zend_always_inline void zend_vm_stack_free_args(zend_execute_data *call T do { p--; - i_zval_ptr_dtor_nogc(p ZEND_FILE_LINE_CC TSRMLS_CC); + zval_ptr_dtor_nogc(p); } while (p != end); } } |