@@ -1607,14 +1607,15 @@ static zend_always_inline void _object_properties_init(zend_object *object, zend
1607
1607
if (class_type -> default_properties_count ) {
1608
1608
zval * src = CE_DEFAULT_PROPERTIES_TABLE (class_type );
1609
1609
zval * dst = object -> properties_table ;
1610
- #if 0
1610
+ #if 1
1611
1611
zval * end = src + class_type -> default_properties_count ;
1612
1612
if (UNEXPECTED (class_type -> type == ZEND_INTERNAL_CLASS )) {
1613
- do {
1614
- ZVAL_COPY_OR_DUP_PROP (dst , src );
1615
- src ++ ;
1616
- dst ++ ;
1617
- } while (src != end );
1613
+ // do {
1614
+ // ZVAL_COPY_OR_DUP_PROP(dst, src);
1615
+ // src++;
1616
+ // dst++;
1617
+ // } while (src != end);
1618
+ memcpy (dst , src , sizeof (zval ) * class_type -> default_properties_count );
1618
1619
} else {
1619
1620
do {
1620
1621
ZVAL_COPY_PROP (dst , src );
@@ -4394,9 +4395,9 @@ ZEND_API zend_property_info *zend_declare_typed_property(zend_class_entry *ce, z
4394
4395
}
4395
4396
}
4396
4397
// printf("%s %s\n", ce->name->val, name->val);
4397
- if (Z_REFCOUNTED_P (property )) {
4398
- ce -> ce_flags |= ZEND_ACC_HAS_RC_PROPS ;
4399
- }
4398
+ // if (Z_REFCOUNTED_P(property)) {
4399
+ // ce->ce_flags |= ZEND_ACC_HAS_RC_PROPS;
4400
+ // }
4400
4401
property_default_ptr = & ce -> default_properties_table [OBJ_PROP_TO_NUM (property_info -> offset )];
4401
4402
ZVAL_COPY_VALUE (property_default_ptr , property );
4402
4403
Z_PROP_FLAG_P (property_default_ptr ) = Z_ISUNDEF_P (property ) ? IS_PROP_UNINIT : 0 ;
0 commit comments