Skip to content

Commit b757191

Browse files
committed
opcache file persistence W.I.P.
1 parent 1b11052 commit b757191

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

ext/opcache/zend_file_cache.c

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -882,6 +882,16 @@ static void zend_file_cache_serialize_class(zval *zv,
882882
SERIALIZE_PTR(ce->arrayaccess_funcs_ptr->zf_offsetunset);
883883
SERIALIZE_PTR(ce->arrayaccess_funcs_ptr);
884884
}
885+
if (ce->dimension_handlers) {
886+
SERIALIZE_PTR(ce->dimension_handlers->read_dimension);
887+
SERIALIZE_PTR(ce->dimension_handlers->has_dimension);
888+
SERIALIZE_PTR(ce->dimension_handlers->fetch_dimension);
889+
SERIALIZE_PTR(ce->dimension_handlers->write_dimension);
890+
SERIALIZE_PTR(ce->dimension_handlers->append);
891+
SERIALIZE_PTR(ce->dimension_handlers->fetch_append);
892+
SERIALIZE_PTR(ce->dimension_handlers->unset_dimension);
893+
SERIALIZE_PTR(ce->dimension_handlers);
894+
}
885895

886896
ZEND_MAP_PTR_INIT(ce->static_members_table, NULL);
887897
ZEND_MAP_PTR_INIT(ce->mutable_data, NULL);
@@ -1708,6 +1718,16 @@ static void zend_file_cache_unserialize_class(zval *zv,
17081718
UNSERIALIZE_PTR(ce->arrayaccess_funcs_ptr->zf_offsetset);
17091719
UNSERIALIZE_PTR(ce->arrayaccess_funcs_ptr->zf_offsetunset);
17101720
}
1721+
if (ce->dimension_handlers) {
1722+
UNSERIALIZE_PTR(ce->dimension_handlers);
1723+
UNSERIALIZE_PTR(ce->dimension_handlers->read_dimension);
1724+
UNSERIALIZE_PTR(ce->dimension_handlers->has_dimension);
1725+
UNSERIALIZE_PTR(ce->dimension_handlers->fetch_dimension);
1726+
UNSERIALIZE_PTR(ce->dimension_handlers->write_dimension);
1727+
UNSERIALIZE_PTR(ce->dimension_handlers->append);
1728+
UNSERIALIZE_PTR(ce->dimension_handlers->fetch_append);
1729+
UNSERIALIZE_PTR(ce->dimension_handlers->unset_dimension);
1730+
}
17111731

17121732
if (!(script->corrupted)) {
17131733
ce->ce_flags |= ZEND_ACC_IMMUTABLE;

0 commit comments

Comments
 (0)