diff options
author | Dmitry Stogov <dmitry@zend.com> | 2019-05-28 13:35:29 +0300 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2019-05-28 13:35:29 +0300 |
commit | c64fe84f8b7abd260adf36074d091ba9d58b2670 (patch) | |
tree | bf454b862aa1b90eaf550f8836496d8824d54802 /Zend/zend_builtin_functions.c | |
parent | d95c15e3717ad909a3e4736c4e26ee7a9331d7e1 (diff) | |
parent | b2cb6a4a275281156b0fedbe3dcd8835be31933a (diff) | |
download | php-git-c64fe84f8b7abd260adf36074d091ba9d58b2670.tar.gz |
Merge branch 'PHP-7.4'
* PHP-7.4:
Avoid double copying
Diffstat (limited to 'Zend/zend_builtin_functions.c')
-rw-r--r-- | Zend/zend_builtin_functions.c | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/Zend/zend_builtin_functions.c b/Zend/zend_builtin_functions.c index 1285865d82..87928e8b2b 100644 --- a/Zend/zend_builtin_functions.c +++ b/Zend/zend_builtin_functions.c @@ -527,10 +527,11 @@ ZEND_FUNCTION(func_get_args) if (Z_OPT_REFCOUNTED_P(q)) { Z_ADDREF_P(q); } + ZEND_HASH_FILL_SET(q); } else { - q = &EG(uninitialized_zval); + ZEND_HASH_FILL_SET_NULL(); } - ZEND_HASH_FILL_ADD(q); + ZEND_HASH_FILL_NEXT(); p++; i++; } @@ -543,10 +544,11 @@ ZEND_FUNCTION(func_get_args) if (Z_OPT_REFCOUNTED_P(q)) { Z_ADDREF_P(q); } + ZEND_HASH_FILL_SET(q); } else { - q = &EG(uninitialized_zval); + ZEND_HASH_FILL_SET_NULL(); } - ZEND_HASH_FILL_ADD(q); + ZEND_HASH_FILL_NEXT(); p++; i++; } @@ -1940,10 +1942,11 @@ static void debug_backtrace_get_args(zend_execute_data *call, zval *arg_array) / if (Z_OPT_REFCOUNTED_P(arg)) { Z_ADDREF_P(arg); } - ZEND_HASH_FILL_ADD(arg); + ZEND_HASH_FILL_SET(arg); } else { - ZEND_HASH_FILL_ADD(&EG(uninitialized_zval)); + ZEND_HASH_FILL_SET_NULL(); } + ZEND_HASH_FILL_NEXT(); i++; } } else { @@ -1952,10 +1955,11 @@ static void debug_backtrace_get_args(zend_execute_data *call, zval *arg_array) / if (Z_OPT_REFCOUNTED_P(p)) { Z_ADDREF_P(p); } - ZEND_HASH_FILL_ADD(p); + ZEND_HASH_FILL_SET(p); } else { - ZEND_HASH_FILL_ADD(&EG(uninitialized_zval)); + ZEND_HASH_FILL_SET_NULL(); } + ZEND_HASH_FILL_NEXT(); p++; i++; } @@ -1968,10 +1972,11 @@ static void debug_backtrace_get_args(zend_execute_data *call, zval *arg_array) / if (Z_OPT_REFCOUNTED_P(p)) { Z_ADDREF_P(p); } - ZEND_HASH_FILL_ADD(p); + ZEND_HASH_FILL_SET(p); } else { - ZEND_HASH_FILL_ADD(&EG(uninitialized_zval)); + ZEND_HASH_FILL_SET_NULL(); } + ZEND_HASH_FILL_NEXT(); p++; i++; } |