diff options
author | Andrea Faulds <ajf@ajf.me> | 2014-11-29 01:45:54 +0000 |
---|---|---|
committer | Andrea Faulds <ajf@ajf.me> | 2014-11-29 01:45:54 +0000 |
commit | 01554bf3e417f13baf7af874e449c265c0309279 (patch) | |
tree | 8aca46ab27a54cea34c14001af774942f0502e39 /Zend/zend_variables.h | |
parent | 65c8edd525108f6598a8bb25fb3c5d6c80233322 (diff) | |
parent | 719083bd943e6c287c2dcb47918cf51f89a4ac08 (diff) | |
download | php-git-01554bf3e417f13baf7af874e449c265c0309279.tar.gz |
Merge branch 'master' into zppFailOnOverflow
Diffstat (limited to 'Zend/zend_variables.h')
-rw-r--r-- | Zend/zend_variables.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/Zend/zend_variables.h b/Zend/zend_variables.h index 4f840bdd8a..ea0434dc0b 100644 --- a/Zend/zend_variables.h +++ b/Zend/zend_variables.h @@ -22,6 +22,8 @@ #ifndef ZEND_VARIABLES_H #define ZEND_VARIABLES_H +#include "zend_types.h" +#include "zend_gc.h" BEGIN_EXTERN_C() @@ -43,6 +45,17 @@ static zend_always_inline void _zval_ptr_dtor_nogc(zval *zval_ptr ZEND_FILE_LINE } } +static zend_always_inline void i_zval_ptr_dtor(zval *zval_ptr ZEND_FILE_LINE_DC TSRMLS_DC) +{ + if (Z_REFCOUNTED_P(zval_ptr)) { + if (!Z_DELREF_P(zval_ptr)) { + _zval_dtor_func_for_ptr(Z_COUNTED_P(zval_ptr) ZEND_FILE_LINE_RELAY_CC); + } else { + GC_ZVAL_CHECK_POSSIBLE_ROOT(zval_ptr); + } + } +} + ZEND_API void _zval_copy_ctor_func(zval *zvalue ZEND_FILE_LINE_DC); #define zval_copy_ctor_func(zv) _zval_copy_ctor_func(zv ZEND_FILE_LINE_CC) |