@@ -622,12 +622,12 @@ static void zend_file_cache_serialize_func(zval *zv,
622
622
zend_file_cache_metainfo * info ,
623
623
void * buf )
624
624
{
625
- zend_op_array * op_array ;
626
-
625
+ zend_function * func ;
627
626
SERIALIZE_PTR (Z_PTR_P (zv ));
628
- op_array = Z_PTR_P (zv );
629
- UNSERIALIZE_PTR (op_array );
630
- zend_file_cache_serialize_op_array (op_array , script , info , buf );
627
+ func = Z_PTR_P (zv );
628
+ UNSERIALIZE_PTR (func );
629
+ ZEND_ASSERT (func -> type == ZEND_USER_FUNCTION );
630
+ zend_file_cache_serialize_op_array (& func -> op_array , script , info , buf );
631
631
}
632
632
633
633
static void zend_file_cache_serialize_prop_info (zval * zv ,
@@ -829,6 +829,14 @@ static void zend_file_cache_serialize_class(zval *zv,
829
829
}
830
830
}
831
831
832
+ if (ce -> backed_enum_table ) {
833
+ HashTable * ht ;
834
+ SERIALIZE_PTR (ce -> backed_enum_table );
835
+ ht = ce -> backed_enum_table ;
836
+ UNSERIALIZE_PTR (ht );
837
+ zend_file_cache_serialize_hash (ht , script , info , buf , zend_file_cache_serialize_zval );
838
+ }
839
+
832
840
SERIALIZE_PTR (ce -> constructor );
833
841
SERIALIZE_PTR (ce -> destructor );
834
842
SERIALIZE_PTR (ce -> clone );
@@ -1408,11 +1416,11 @@ static void zend_file_cache_unserialize_func(zval *zv,
1408
1416
zend_persistent_script * script ,
1409
1417
void * buf )
1410
1418
{
1411
- zend_op_array * op_array ;
1412
-
1419
+ zend_function * func ;
1413
1420
UNSERIALIZE_PTR (Z_PTR_P (zv ));
1414
- op_array = Z_PTR_P (zv );
1415
- zend_file_cache_unserialize_op_array (op_array , script , buf );
1421
+ func = Z_PTR_P (zv );
1422
+ ZEND_ASSERT (func -> type == ZEND_USER_FUNCTION );
1423
+ zend_file_cache_unserialize_op_array (& func -> op_array , script , buf );
1416
1424
}
1417
1425
1418
1426
static void zend_file_cache_unserialize_prop_info (zval * zv ,
@@ -1591,6 +1599,12 @@ static void zend_file_cache_unserialize_class(zval *zv,
1591
1599
}
1592
1600
}
1593
1601
1602
+ if (ce -> backed_enum_table ) {
1603
+ UNSERIALIZE_PTR (ce -> backed_enum_table );
1604
+ zend_file_cache_unserialize_hash (
1605
+ ce -> backed_enum_table , script , buf , zend_file_cache_unserialize_zval , ZVAL_PTR_DTOR );
1606
+ }
1607
+
1594
1608
UNSERIALIZE_PTR (ce -> constructor );
1595
1609
UNSERIALIZE_PTR (ce -> destructor );
1596
1610
UNSERIALIZE_PTR (ce -> clone );
0 commit comments