summaryrefslogtreecommitdiff
path: root/Zend/zend_API.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2014-10-17 19:10:05 +0400
committerDmitry Stogov <dmitry@zend.com>2014-10-17 19:10:05 +0400
commit7471c217810397f05ae7a8c518af80da7baf0f4a (patch)
tree5ed4cee825e03914834ddaded78dc655c370a271 /Zend/zend_API.c
parent9935bf7df70d8fcfa9ef5c2f47e1d760ffc3f666 (diff)
downloadphp-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.c12
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]);