if (Z_OBJ_HT(obj)->read_property &&
(z = Z_OBJ_HT(obj)->read_property(&obj, property, BP_VAR_R, ((IS_CONST == IS_CONST) ? CACHE_ADDR(Z_CACHE_SLOT_P(property)) : NULL), &rv)) != NULL) {
if (Z_TYPE_P(z) == IS_OBJECT && Z_OBJ_HT_P(z)->get) {
- zval rv;
- zval *value = Z_OBJ_HT_P(z)->get(z, &rv);
+ zval rv2;
+ zval *value = Z_OBJ_HT_P(z)->get(z, &rv2);
- if (Z_REFCOUNT_P(z) == 0) {
- zend_objects_store_del(Z_OBJ_P(z));
+ if (z == &rv) {
+ zval_ptr_dtor(&rv);
}
ZVAL_COPY_VALUE(z, value);
}
z = Z_OBJ_HT(obj)->read_property(&obj, property, BP_VAR_R, ((IS_CONST == IS_CONST) ? CACHE_ADDR(Z_CACHE_SLOT_P(property)) : NULL), &rv);
if (UNEXPECTED(Z_TYPE_P(z) == IS_OBJECT) && Z_OBJ_HT_P(z)->get) {
- zval rv;
- zval *value = Z_OBJ_HT_P(z)->get(z, &rv);
+ zval rv2;
+ zval *value = Z_OBJ_HT_P(z)->get(z, &rv2);
- if (Z_REFCOUNT_P(z) == 0) {
- zend_objects_store_del(Z_OBJ_P(z));
+ if (z == &rv) {
+ zval_ptr_dtor(&rv);
}
ZVAL_COPY_VALUE(z, value);
}
z = Z_OBJ_HT(obj)->read_property(&obj, property, BP_VAR_R, ((IS_CONST == IS_CONST) ? CACHE_ADDR(Z_CACHE_SLOT_P(property)) : NULL), &rv);
if (UNEXPECTED(Z_TYPE_P(z) == IS_OBJECT) && Z_OBJ_HT_P(z)->get) {
- zval rv;
- zval *value = Z_OBJ_HT_P(z)->get(z, &rv);
- if (Z_REFCOUNT_P(z) == 0) {
- zend_objects_store_del(Z_OBJ_P(z));
+ zval rv2;
+ zval *value = Z_OBJ_HT_P(z)->get(z, &rv2);
+ if (z == &rv) {
+ zval_ptr_dtor(&rv);
}
ZVAL_COPY_VALUE(z, value);
}
if (Z_OBJ_HT(obj)->read_property &&
(z = Z_OBJ_HT(obj)->read_property(&obj, property, BP_VAR_R, ((IS_CV == IS_CONST) ? CACHE_ADDR(Z_CACHE_SLOT_P(property)) : NULL), &rv)) != NULL) {
if (Z_TYPE_P(z) == IS_OBJECT && Z_OBJ_HT_P(z)->get) {
- zval rv;
- zval *value = Z_OBJ_HT_P(z)->get(z, &rv);
+ zval rv2;
+ zval *value = Z_OBJ_HT_P(z)->get(z, &rv2);
- if (Z_REFCOUNT_P(z) == 0) {
- zend_objects_store_del(Z_OBJ_P(z));
+ if (z == &rv) {
+ zval_ptr_dtor(&rv);
}
ZVAL_COPY_VALUE(z, value);
}
z = Z_OBJ_HT(obj)->read_property(&obj, property, BP_VAR_R, ((IS_CV == IS_CONST) ? CACHE_ADDR(Z_CACHE_SLOT_P(property)) : NULL), &rv);
if (UNEXPECTED(Z_TYPE_P(z) == IS_OBJECT) && Z_OBJ_HT_P(z)->get) {
- zval rv;
- zval *value = Z_OBJ_HT_P(z)->get(z, &rv);
+ zval rv2;
+ zval *value = Z_OBJ_HT_P(z)->get(z, &rv2);
- if (Z_REFCOUNT_P(z) == 0) {
- zend_objects_store_del(Z_OBJ_P(z));
+ if (z == &rv) {
+ zval_ptr_dtor(&rv);
}
ZVAL_COPY_VALUE(z, value);
}
z = Z_OBJ_HT(obj)->read_property(&obj, property, BP_VAR_R, ((IS_CV == IS_CONST) ? CACHE_ADDR(Z_CACHE_SLOT_P(property)) : NULL), &rv);
if (UNEXPECTED(Z_TYPE_P(z) == IS_OBJECT) && Z_OBJ_HT_P(z)->get) {
- zval rv;
- zval *value = Z_OBJ_HT_P(z)->get(z, &rv);
- if (Z_REFCOUNT_P(z) == 0) {
- zend_objects_store_del(Z_OBJ_P(z));
+ zval rv2;
+ zval *value = Z_OBJ_HT_P(z)->get(z, &rv2);
+ if (z == &rv) {
+ zval_ptr_dtor(&rv);
}
ZVAL_COPY_VALUE(z, value);
}
if (Z_OBJ_HT(obj)->read_property &&
(z = Z_OBJ_HT(obj)->read_property(&obj, property, BP_VAR_R, (((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(Z_CACHE_SLOT_P(property)) : NULL), &rv)) != NULL) {
if (Z_TYPE_P(z) == IS_OBJECT && Z_OBJ_HT_P(z)->get) {
- zval rv;
- zval *value = Z_OBJ_HT_P(z)->get(z, &rv);
+ zval rv2;
+ zval *value = Z_OBJ_HT_P(z)->get(z, &rv2);
- if (Z_REFCOUNT_P(z) == 0) {
- zend_objects_store_del(Z_OBJ_P(z));
+ if (z == &rv) {
+ zval_ptr_dtor(&rv);
}
ZVAL_COPY_VALUE(z, value);
}
z = Z_OBJ_HT(obj)->read_property(&obj, property, BP_VAR_R, (((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(Z_CACHE_SLOT_P(property)) : NULL), &rv);
if (UNEXPECTED(Z_TYPE_P(z) == IS_OBJECT) && Z_OBJ_HT_P(z)->get) {
- zval rv;
- zval *value = Z_OBJ_HT_P(z)->get(z, &rv);
+ zval rv2;
+ zval *value = Z_OBJ_HT_P(z)->get(z, &rv2);
- if (Z_REFCOUNT_P(z) == 0) {
- zend_objects_store_del(Z_OBJ_P(z));
+ if (z == &rv) {
+ zval_ptr_dtor(&rv);
}
ZVAL_COPY_VALUE(z, value);
}
z = Z_OBJ_HT(obj)->read_property(&obj, property, BP_VAR_R, (((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(Z_CACHE_SLOT_P(property)) : NULL), &rv);
if (UNEXPECTED(Z_TYPE_P(z) == IS_OBJECT) && Z_OBJ_HT_P(z)->get) {
- zval rv;
- zval *value = Z_OBJ_HT_P(z)->get(z, &rv);
- if (Z_REFCOUNT_P(z) == 0) {
- zend_objects_store_del(Z_OBJ_P(z));
+ zval rv2;
+ zval *value = Z_OBJ_HT_P(z)->get(z, &rv2);
+ if (z == &rv) {
+ zval_ptr_dtor(&rv);
}
ZVAL_COPY_VALUE(z, value);
}
if (Z_OBJ_HT(obj)->read_property &&
(z = Z_OBJ_HT(obj)->read_property(&obj, property, BP_VAR_R, ((IS_CONST == IS_CONST) ? CACHE_ADDR(Z_CACHE_SLOT_P(property)) : NULL), &rv)) != NULL) {
if (Z_TYPE_P(z) == IS_OBJECT && Z_OBJ_HT_P(z)->get) {
- zval rv;
- zval *value = Z_OBJ_HT_P(z)->get(z, &rv);
+ zval rv2;
+ zval *value = Z_OBJ_HT_P(z)->get(z, &rv2);
- if (Z_REFCOUNT_P(z) == 0) {
- zend_objects_store_del(Z_OBJ_P(z));
+ if (z == &rv) {
+ zval_ptr_dtor(&rv);
}
ZVAL_COPY_VALUE(z, value);
}
z = Z_OBJ_HT(obj)->read_property(&obj, property, BP_VAR_R, ((IS_CONST == IS_CONST) ? CACHE_ADDR(Z_CACHE_SLOT_P(property)) : NULL), &rv);
if (UNEXPECTED(Z_TYPE_P(z) == IS_OBJECT) && Z_OBJ_HT_P(z)->get) {
- zval rv;
- zval *value = Z_OBJ_HT_P(z)->get(z, &rv);
+ zval rv2;
+ zval *value = Z_OBJ_HT_P(z)->get(z, &rv2);
- if (Z_REFCOUNT_P(z) == 0) {
- zend_objects_store_del(Z_OBJ_P(z));
+ if (z == &rv) {
+ zval_ptr_dtor(&rv);
}
ZVAL_COPY_VALUE(z, value);
}
z = Z_OBJ_HT(obj)->read_property(&obj, property, BP_VAR_R, ((IS_CONST == IS_CONST) ? CACHE_ADDR(Z_CACHE_SLOT_P(property)) : NULL), &rv);
if (UNEXPECTED(Z_TYPE_P(z) == IS_OBJECT) && Z_OBJ_HT_P(z)->get) {
- zval rv;
- zval *value = Z_OBJ_HT_P(z)->get(z, &rv);
- if (Z_REFCOUNT_P(z) == 0) {
- zend_objects_store_del(Z_OBJ_P(z));
+ zval rv2;
+ zval *value = Z_OBJ_HT_P(z)->get(z, &rv2);
+ if (z == &rv) {
+ zval_ptr_dtor(&rv);
}
ZVAL_COPY_VALUE(z, value);
}
if (Z_OBJ_HT(obj)->read_property &&
(z = Z_OBJ_HT(obj)->read_property(&obj, property, BP_VAR_R, ((IS_CV == IS_CONST) ? CACHE_ADDR(Z_CACHE_SLOT_P(property)) : NULL), &rv)) != NULL) {
if (Z_TYPE_P(z) == IS_OBJECT && Z_OBJ_HT_P(z)->get) {
- zval rv;
- zval *value = Z_OBJ_HT_P(z)->get(z, &rv);
+ zval rv2;
+ zval *value = Z_OBJ_HT_P(z)->get(z, &rv2);
- if (Z_REFCOUNT_P(z) == 0) {
- zend_objects_store_del(Z_OBJ_P(z));
+ if (z == &rv) {
+ zval_ptr_dtor(&rv);
}
ZVAL_COPY_VALUE(z, value);
}
z = Z_OBJ_HT(obj)->read_property(&obj, property, BP_VAR_R, ((IS_CV == IS_CONST) ? CACHE_ADDR(Z_CACHE_SLOT_P(property)) : NULL), &rv);
if (UNEXPECTED(Z_TYPE_P(z) == IS_OBJECT) && Z_OBJ_HT_P(z)->get) {
- zval rv;
- zval *value = Z_OBJ_HT_P(z)->get(z, &rv);
+ zval rv2;
+ zval *value = Z_OBJ_HT_P(z)->get(z, &rv2);
- if (Z_REFCOUNT_P(z) == 0) {
- zend_objects_store_del(Z_OBJ_P(z));
+ if (z == &rv) {
+ zval_ptr_dtor(&rv);
}
ZVAL_COPY_VALUE(z, value);
}
z = Z_OBJ_HT(obj)->read_property(&obj, property, BP_VAR_R, ((IS_CV == IS_CONST) ? CACHE_ADDR(Z_CACHE_SLOT_P(property)) : NULL), &rv);
if (UNEXPECTED(Z_TYPE_P(z) == IS_OBJECT) && Z_OBJ_HT_P(z)->get) {
- zval rv;
- zval *value = Z_OBJ_HT_P(z)->get(z, &rv);
- if (Z_REFCOUNT_P(z) == 0) {
- zend_objects_store_del(Z_OBJ_P(z));
+ zval rv2;
+ zval *value = Z_OBJ_HT_P(z)->get(z, &rv2);
+ if (z == &rv) {
+ zval_ptr_dtor(&rv);
}
ZVAL_COPY_VALUE(z, value);
}
if (Z_OBJ_HT(obj)->read_property &&
(z = Z_OBJ_HT(obj)->read_property(&obj, property, BP_VAR_R, (((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(Z_CACHE_SLOT_P(property)) : NULL), &rv)) != NULL) {
if (Z_TYPE_P(z) == IS_OBJECT && Z_OBJ_HT_P(z)->get) {
- zval rv;
- zval *value = Z_OBJ_HT_P(z)->get(z, &rv);
+ zval rv2;
+ zval *value = Z_OBJ_HT_P(z)->get(z, &rv2);
- if (Z_REFCOUNT_P(z) == 0) {
- zend_objects_store_del(Z_OBJ_P(z));
+ if (z == &rv) {
+ zval_ptr_dtor(&rv);
}
ZVAL_COPY_VALUE(z, value);
}
z = Z_OBJ_HT(obj)->read_property(&obj, property, BP_VAR_R, (((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(Z_CACHE_SLOT_P(property)) : NULL), &rv);
if (UNEXPECTED(Z_TYPE_P(z) == IS_OBJECT) && Z_OBJ_HT_P(z)->get) {
- zval rv;
- zval *value = Z_OBJ_HT_P(z)->get(z, &rv);
+ zval rv2;
+ zval *value = Z_OBJ_HT_P(z)->get(z, &rv2);
- if (Z_REFCOUNT_P(z) == 0) {
- zend_objects_store_del(Z_OBJ_P(z));
+ if (z == &rv) {
+ zval_ptr_dtor(&rv);
}
ZVAL_COPY_VALUE(z, value);
}
z = Z_OBJ_HT(obj)->read_property(&obj, property, BP_VAR_R, (((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(Z_CACHE_SLOT_P(property)) : NULL), &rv);
if (UNEXPECTED(Z_TYPE_P(z) == IS_OBJECT) && Z_OBJ_HT_P(z)->get) {
- zval rv;
- zval *value = Z_OBJ_HT_P(z)->get(z, &rv);
- if (Z_REFCOUNT_P(z) == 0) {
- zend_objects_store_del(Z_OBJ_P(z));
+ zval rv2;
+ zval *value = Z_OBJ_HT_P(z)->get(z, &rv2);
+ if (z == &rv) {
+ zval_ptr_dtor(&rv);
}
ZVAL_COPY_VALUE(z, value);
}
if (Z_OBJ_HT(obj)->read_property &&
(z = Z_OBJ_HT(obj)->read_property(&obj, property, BP_VAR_R, ((IS_CONST == IS_CONST) ? CACHE_ADDR(Z_CACHE_SLOT_P(property)) : NULL), &rv)) != NULL) {
if (Z_TYPE_P(z) == IS_OBJECT && Z_OBJ_HT_P(z)->get) {
- zval rv;
- zval *value = Z_OBJ_HT_P(z)->get(z, &rv);
+ zval rv2;
+ zval *value = Z_OBJ_HT_P(z)->get(z, &rv2);
- if (Z_REFCOUNT_P(z) == 0) {
- zend_objects_store_del(Z_OBJ_P(z));
+ if (z == &rv) {
+ zval_ptr_dtor(&rv);
}
ZVAL_COPY_VALUE(z, value);
}
z = Z_OBJ_HT(obj)->read_property(&obj, property, BP_VAR_R, ((IS_CONST == IS_CONST) ? CACHE_ADDR(Z_CACHE_SLOT_P(property)) : NULL), &rv);
if (UNEXPECTED(Z_TYPE_P(z) == IS_OBJECT) && Z_OBJ_HT_P(z)->get) {
- zval rv;
- zval *value = Z_OBJ_HT_P(z)->get(z, &rv);
+ zval rv2;
+ zval *value = Z_OBJ_HT_P(z)->get(z, &rv2);
- if (Z_REFCOUNT_P(z) == 0) {
- zend_objects_store_del(Z_OBJ_P(z));
+ if (z == &rv) {
+ zval_ptr_dtor(&rv);
}
ZVAL_COPY_VALUE(z, value);
}
z = Z_OBJ_HT(obj)->read_property(&obj, property, BP_VAR_R, ((IS_CONST == IS_CONST) ? CACHE_ADDR(Z_CACHE_SLOT_P(property)) : NULL), &rv);
if (UNEXPECTED(Z_TYPE_P(z) == IS_OBJECT) && Z_OBJ_HT_P(z)->get) {
- zval rv;
- zval *value = Z_OBJ_HT_P(z)->get(z, &rv);
- if (Z_REFCOUNT_P(z) == 0) {
- zend_objects_store_del(Z_OBJ_P(z));
+ zval rv2;
+ zval *value = Z_OBJ_HT_P(z)->get(z, &rv2);
+ if (z == &rv) {
+ zval_ptr_dtor(&rv);
}
ZVAL_COPY_VALUE(z, value);
}
if (Z_OBJ_HT(obj)->read_property &&
(z = Z_OBJ_HT(obj)->read_property(&obj, property, BP_VAR_R, ((IS_CV == IS_CONST) ? CACHE_ADDR(Z_CACHE_SLOT_P(property)) : NULL), &rv)) != NULL) {
if (Z_TYPE_P(z) == IS_OBJECT && Z_OBJ_HT_P(z)->get) {
- zval rv;
- zval *value = Z_OBJ_HT_P(z)->get(z, &rv);
+ zval rv2;
+ zval *value = Z_OBJ_HT_P(z)->get(z, &rv2);
- if (Z_REFCOUNT_P(z) == 0) {
- zend_objects_store_del(Z_OBJ_P(z));
+ if (z == &rv) {
+ zval_ptr_dtor(&rv);
}
ZVAL_COPY_VALUE(z, value);
}
z = Z_OBJ_HT(obj)->read_property(&obj, property, BP_VAR_R, ((IS_CV == IS_CONST) ? CACHE_ADDR(Z_CACHE_SLOT_P(property)) : NULL), &rv);
if (UNEXPECTED(Z_TYPE_P(z) == IS_OBJECT) && Z_OBJ_HT_P(z)->get) {
- zval rv;
- zval *value = Z_OBJ_HT_P(z)->get(z, &rv);
+ zval rv2;
+ zval *value = Z_OBJ_HT_P(z)->get(z, &rv2);
- if (Z_REFCOUNT_P(z) == 0) {
- zend_objects_store_del(Z_OBJ_P(z));
+ if (z == &rv) {
+ zval_ptr_dtor(&rv);
}
ZVAL_COPY_VALUE(z, value);
}
z = Z_OBJ_HT(obj)->read_property(&obj, property, BP_VAR_R, ((IS_CV == IS_CONST) ? CACHE_ADDR(Z_CACHE_SLOT_P(property)) : NULL), &rv);
if (UNEXPECTED(Z_TYPE_P(z) == IS_OBJECT) && Z_OBJ_HT_P(z)->get) {
- zval rv;
- zval *value = Z_OBJ_HT_P(z)->get(z, &rv);
- if (Z_REFCOUNT_P(z) == 0) {
- zend_objects_store_del(Z_OBJ_P(z));
+ zval rv2;
+ zval *value = Z_OBJ_HT_P(z)->get(z, &rv2);
+ if (z == &rv) {
+ zval_ptr_dtor(&rv);
}
ZVAL_COPY_VALUE(z, value);
}
if (Z_OBJ_HT(obj)->read_property &&
(z = Z_OBJ_HT(obj)->read_property(&obj, property, BP_VAR_R, (((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(Z_CACHE_SLOT_P(property)) : NULL), &rv)) != NULL) {
if (Z_TYPE_P(z) == IS_OBJECT && Z_OBJ_HT_P(z)->get) {
- zval rv;
- zval *value = Z_OBJ_HT_P(z)->get(z, &rv);
+ zval rv2;
+ zval *value = Z_OBJ_HT_P(z)->get(z, &rv2);
- if (Z_REFCOUNT_P(z) == 0) {
- zend_objects_store_del(Z_OBJ_P(z));
+ if (z == &rv) {
+ zval_ptr_dtor(&rv);
}
ZVAL_COPY_VALUE(z, value);
}
z = Z_OBJ_HT(obj)->read_property(&obj, property, BP_VAR_R, (((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(Z_CACHE_SLOT_P(property)) : NULL), &rv);
if (UNEXPECTED(Z_TYPE_P(z) == IS_OBJECT) && Z_OBJ_HT_P(z)->get) {
- zval rv;
- zval *value = Z_OBJ_HT_P(z)->get(z, &rv);
+ zval rv2;
+ zval *value = Z_OBJ_HT_P(z)->get(z, &rv2);
- if (Z_REFCOUNT_P(z) == 0) {
- zend_objects_store_del(Z_OBJ_P(z));
+ if (z == &rv) {
+ zval_ptr_dtor(&rv);
}
ZVAL_COPY_VALUE(z, value);
}
z = Z_OBJ_HT(obj)->read_property(&obj, property, BP_VAR_R, (((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(Z_CACHE_SLOT_P(property)) : NULL), &rv);
if (UNEXPECTED(Z_TYPE_P(z) == IS_OBJECT) && Z_OBJ_HT_P(z)->get) {
- zval rv;
- zval *value = Z_OBJ_HT_P(z)->get(z, &rv);
- if (Z_REFCOUNT_P(z) == 0) {
- zend_objects_store_del(Z_OBJ_P(z));
+ zval rv2;
+ zval *value = Z_OBJ_HT_P(z)->get(z, &rv2);
+ if (z == &rv) {
+ zval_ptr_dtor(&rv);
}
ZVAL_COPY_VALUE(z, value);
}