diff options
author | Dmitry Stogov <dmitry@zend.com> | 2017-06-22 01:45:28 +0300 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2017-06-22 01:45:28 +0300 |
commit | f25ecdacf805f840f743b67b6d84485b2deceb4f (patch) | |
tree | f8f6c7606287b952dcdf51e2ee9f528606bb9a2c /Zend/zend_opcode.c | |
parent | 9fb0e6ffe29cc37b6b84a093d7438f0453cc1c41 (diff) | |
download | php-git-f25ecdacf805f840f743b67b6d84485b2deceb4f.tar.gz |
shutdown_executor() refactoring (reuse opcache fast request shutdown code)
Diffstat (limited to 'Zend/zend_opcode.c')
-rw-r--r-- | Zend/zend_opcode.c | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/Zend/zend_opcode.c b/Zend/zend_opcode.c index e8764e964a..a0ec068405 100644 --- a/Zend/zend_opcode.c +++ b/Zend/zend_opcode.c @@ -148,51 +148,6 @@ ZEND_API void zend_function_dtor(zval *zv) } } -ZEND_API void zend_cleanup_op_array_data(zend_op_array *op_array) -{ - if (op_array->static_variables && - !(GC_FLAGS(op_array->static_variables) & IS_ARRAY_IMMUTABLE) - ) { - /* The static variables are initially shared when inheriting methods and will - * be separated on first use. If they are never used, they stay shared. Cleaning - * a shared static variables table is safe, as the intention is to clean all - * such tables. */ - HT_ALLOW_COW_VIOLATION(op_array->static_variables); - - zend_hash_clean(op_array->static_variables); - } -} - -ZEND_API void zend_cleanup_user_class_data(zend_class_entry *ce) -{ - /* Clean all parts that can contain run-time data */ - /* Note that only run-time accessed data need to be cleaned up, pre-defined data can - not contain objects and thus are not probelmatic */ - if (ce->ce_flags & ZEND_HAS_STATIC_IN_METHODS) { - zend_function *func; - - ZEND_HASH_FOREACH_PTR(&ce->function_table, func) { - if (func->type == ZEND_USER_FUNCTION) { - zend_cleanup_op_array_data((zend_op_array *) func); - } - } ZEND_HASH_FOREACH_END(); - } - if (ce->static_members_table) { - zval *static_members = ce->static_members_table; - zval *p = static_members; - zval *end = p + ce->default_static_members_count; - - - ce->default_static_members_count = 0; - ce->default_static_members_table = ce->static_members_table = NULL; - while (p != end) { - i_zval_ptr_dtor(p ZEND_FILE_LINE_CC); - p++; - } - efree(static_members); - } -} - ZEND_API void zend_cleanup_internal_class_data(zend_class_entry *ce) { if (CE_STATIC_MEMBERS(ce)) { |