summaryrefslogtreecommitdiff
path: root/Zend/zend_builtin_functions.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2019-05-28 13:35:29 +0300
committerDmitry Stogov <dmitry@zend.com>2019-05-28 13:35:29 +0300
commitc64fe84f8b7abd260adf36074d091ba9d58b2670 (patch)
treebf454b862aa1b90eaf550f8836496d8824d54802 /Zend/zend_builtin_functions.c
parentd95c15e3717ad909a3e4736c4e26ee7a9331d7e1 (diff)
parentb2cb6a4a275281156b0fedbe3dcd8835be31933a (diff)
downloadphp-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.c25
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++;
}