mirror of
https://github.com/php/php-src.git
synced 2025-01-27 06:03:45 +08:00
Avoid reallocations
This commit is contained in:
parent
5c28c21159
commit
927d68db24
@ -168,9 +168,7 @@ ZEND_API HashTable *zend_std_get_debug_info(zval *object, int *is_temp) /* {{{ *
|
||||
return zend_array_dup(Z_ARRVAL(retval));
|
||||
} else if (Z_REFCOUNT(retval) <= 1) {
|
||||
*is_temp = 1;
|
||||
ALLOC_HASHTABLE(ht);
|
||||
*ht = *Z_ARRVAL(retval);
|
||||
efree_size(Z_ARR(retval), sizeof(zend_array));
|
||||
ht = Z_ARR(retval);
|
||||
return ht;
|
||||
} else {
|
||||
*is_temp = 0;
|
||||
|
@ -1275,9 +1275,7 @@ void php_mysqli_fetch_into_hash(INTERNAL_FUNCTION_PARAMETERS, int override_flags
|
||||
|
||||
object_and_properties_init(return_value, ce, NULL);
|
||||
if (!ce->default_properties_count && !ce->__set) {
|
||||
ALLOC_HASHTABLE(Z_OBJ_P(return_value)->properties);
|
||||
*Z_OBJ_P(return_value)->properties = *Z_ARRVAL(dataset);
|
||||
efree(Z_ARR(dataset));
|
||||
Z_OBJ_P(return_value)->properties = Z_ARR(dataset);
|
||||
} else {
|
||||
zend_merge_properties(return_value, Z_ARRVAL(dataset));
|
||||
zval_ptr_dtor(&dataset);
|
||||
|
@ -2781,9 +2781,7 @@ static void php_pgsql_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, zend_long result_
|
||||
ZVAL_COPY_VALUE(&dataset, return_value);
|
||||
object_and_properties_init(return_value, ce, NULL);
|
||||
if (!ce->default_properties_count && !ce->__set) {
|
||||
ALLOC_HASHTABLE(Z_OBJ_P(return_value)->properties);
|
||||
*Z_OBJ_P(return_value)->properties = *Z_ARRVAL(dataset);
|
||||
efree(Z_ARR(dataset));
|
||||
Z_OBJ_P(return_value)->properties = Z_ARR(dataset);
|
||||
} else {
|
||||
zend_merge_properties(return_value, Z_ARRVAL(dataset));
|
||||
zval_ptr_dtor(&dataset);
|
||||
|
Loading…
Reference in New Issue
Block a user