diff options
author | Dmitry Stogov <dmitry@zend.com> | 2014-10-17 19:10:05 +0400 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2014-10-17 19:10:05 +0400 |
commit | 7471c217810397f05ae7a8c518af80da7baf0f4a (patch) | |
tree | 5ed4cee825e03914834ddaded78dc655c370a271 /Zend/zend_API.c | |
parent | 9935bf7df70d8fcfa9ef5c2f47e1d760ffc3f666 (diff) | |
download | php-git-7471c217810397f05ae7a8c518af80da7baf0f4a.tar.gz |
Optimized property access handlers. Removed EG(std_property_info).
Diffstat (limited to 'Zend/zend_API.c')
-rw-r--r-- | Zend/zend_API.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/Zend/zend_API.c b/Zend/zend_API.c index 41214865f4..fe17968f06 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -1248,9 +1248,9 @@ ZEND_API void object_properties_init_ex(zend_object *object, HashTable *properti ZEND_HASH_FOREACH_STR_KEY_VAL(properties, key, prop) { property_info = zend_get_property_info(object->ce, key, 1 TSRMLS_CC); - if (property_info && - (property_info->flags & ZEND_ACC_STATIC) == 0 && - property_info->offset >= 0) { + if (property_info != ZEND_WRONG_PROPERTY_INFO && + property_info && + (property_info->flags & ZEND_ACC_STATIC) == 0) { ZVAL_COPY_VALUE(&object->properties_table[property_info->offset], prop); ZVAL_INDIRECT(prop, &object->properties_table[property_info->offset]); } @@ -1267,9 +1267,9 @@ ZEND_API void object_properties_load(zend_object *object, HashTable *properties ZEND_HASH_FOREACH_STR_KEY_VAL(properties, key, prop) { property_info = zend_get_property_info(object->ce, key, 1 TSRMLS_CC); - if (property_info && - (property_info->flags & ZEND_ACC_STATIC) == 0 && - property_info->offset >= 0) { + if (property_info != ZEND_WRONG_PROPERTY_INFO && + property_info && + (property_info->flags & ZEND_ACC_STATIC) == 0) { zval_ptr_dtor(&object->properties_table[property_info->offset]); ZVAL_COPY_VALUE(&object->properties_table[property_info->offset], prop); zval_add_ref(&object->properties_table[property_info->offset]); |