diff options
author | Dmitry Stogov <dmitry@zend.com> | 2014-07-08 13:46:03 +0400 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2014-07-08 13:46:03 +0400 |
commit | 9b9d60a48015f25555ee117d72eb4171afe955d0 (patch) | |
tree | aebb59b94db5900c1f9348177f324612b5498888 /Zend/zend_object_handlers.c | |
parent | 0abd6262692eeb8736d70db5a882f9e796ce4374 (diff) | |
download | php-git-9b9d60a48015f25555ee117d72eb4171afe955d0.tar.gz |
Specify HashTable size and optimize inserts that may not conflict
Diffstat (limited to 'Zend/zend_object_handlers.c')
-rw-r--r-- | Zend/zend_object_handlers.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Zend/zend_object_handlers.c b/Zend/zend_object_handlers.c index 078e662ad4..30794a3054 100644 --- a/Zend/zend_object_handlers.c +++ b/Zend/zend_object_handlers.c @@ -75,7 +75,7 @@ ZEND_API void rebuild_object_properties(zend_object *zobj) /* {{{ */ zend_class_entry *ce = zobj->ce; ALLOC_HASHTABLE(zobj->properties); - zend_hash_init(zobj->properties, 8, NULL, ZVAL_PTR_DTOR, 0); + zend_hash_init(zobj->properties, ce->default_properties_count, NULL, ZVAL_PTR_DTOR, 0); if (ce->default_properties_count) { ZEND_HASH_FOREACH_PTR(&ce->properties_info, prop_info) { if (/*prop_info->ce == ce &&*/ @@ -85,7 +85,7 @@ ZEND_API void rebuild_object_properties(zend_object *zobj) /* {{{ */ zval zv; ZVAL_INDIRECT(&zv, &zobj->properties_table[prop_info->offset]); - zend_hash_add(zobj->properties, prop_info->name, &zv); + zend_hash_add_new(zobj->properties, prop_info->name, &zv); } } ZEND_HASH_FOREACH_END(); while (ce->parent && ce->parent->default_properties_count) { |