diff options
author | Dmitry Stogov <dmitry@zend.com> | 2014-06-05 16:04:11 +0400 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2014-06-05 16:04:11 +0400 |
commit | c1965f58d4dd3970912dcd6a63ccd5860bae1a97 (patch) | |
tree | 15b4a94e8e8405f791438c468ad4eb03f60c4079 /Zend/zend_variables.c | |
parent | 3d87391cc06fe87344536e88ac74ded22b0195cf (diff) | |
download | php-git-c1965f58d4dd3970912dcd6a63ccd5860bae1a97.tar.gz |
Use reference counting instead of zval duplication
Diffstat (limited to 'Zend/zend_variables.c')
-rw-r--r-- | Zend/zend_variables.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Zend/zend_variables.c b/Zend/zend_variables.c index 79bd00db13..2031b017eb 100644 --- a/Zend/zend_variables.c +++ b/Zend/zend_variables.c @@ -210,7 +210,7 @@ ZEND_API void zval_add_ref(zval *p) { if (Z_REFCOUNTED_P(p)) { if (Z_ISREF_P(p) && Z_REFCOUNT_P(p) == 1) { - ZVAL_DUP(p, Z_REFVAL_P(p)); + ZVAL_COPY(p, Z_REFVAL_P(p)); } else { Z_ADDREF_P(p); } @@ -340,7 +340,7 @@ ZEND_API int zval_copy_static_var(zval *p TSRMLS_DC, int num_args, va_list args, } } if (is_ref) { - SEPARATE_ZVAL_TO_MAKE_IS_REF(p); + ZVAL_MAKE_REF(p); Z_ADDREF_P(p); } else if (Z_ISREF_P(p)) { ZVAL_DUP(&tmp, Z_REFVAL_P(p)); |