From cf67a421e986b1020dd390a694185039b131ba7c Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Fri, 27 Oct 2017 14:45:54 +0300 Subject: [PATCH] Use per-request heap instead of system one --- Zend/zend_execute_API.c | 2 +- ext/standard/var.c | 4 ++-- ext/standard/var_unserializer.c | 6 +++--- ext/standard/var_unserializer.re | 6 +++--- main/streams/filter.c | 2 +- main/streams/streams.c | 2 +- sapi/cli/php_cli.c | 6 +++--- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c index e69a84ba6b..24ad86b1f1 100644 --- a/Zend/zend_execute_API.c +++ b/Zend/zend_execute_API.c @@ -1025,7 +1025,7 @@ ZEND_API int zend_eval_stringl(char *str, size_t str_len, zval *retval_ptr, char int retval; if (retval_ptr) { - ZVAL_NEW_STR(&pv, zend_string_alloc(str_len + sizeof("return ;")-1, 1)); + ZVAL_NEW_STR(&pv, zend_string_alloc(str_len + sizeof("return ;")-1, 0)); memcpy(Z_STRVAL(pv), "return ", sizeof("return ") - 1); memcpy(Z_STRVAL(pv) + sizeof("return ") - 1, str, str_len); Z_STRVAL(pv)[Z_STRLEN(pv) - 1] = ';'; diff --git a/ext/standard/var.c b/ext/standard/var.c index e28afe9177..3f5d2ffe40 100644 --- a/ext/standard/var.c +++ b/ext/standard/var.c @@ -761,7 +761,7 @@ static void php_var_serialize_class(smart_str *buf, zval *struc, zval *retval_pt } priv_name = zend_mangle_property_name( - ZSTR_VAL(ce->name), ZSTR_LEN(ce->name), ZSTR_VAL(name), ZSTR_LEN(name), ce->type & ZEND_INTERNAL_CLASS); + ZSTR_VAL(ce->name), ZSTR_LEN(ce->name), ZSTR_VAL(name), ZSTR_LEN(name), 0); val = zend_hash_find(propers, priv_name); if (val != NULL) { if (Z_TYPE_P(val) == IS_INDIRECT) { @@ -780,7 +780,7 @@ static void php_var_serialize_class(smart_str *buf, zval *struc, zval *retval_pt zend_string_free(priv_name); prot_name = zend_mangle_property_name( - "*", 1, ZSTR_VAL(name), ZSTR_LEN(name), ce->type & ZEND_INTERNAL_CLASS); + "*", 1, ZSTR_VAL(name), ZSTR_LEN(name), 0); val = zend_hash_find(propers, prot_name); if (val != NULL) { if (Z_TYPE_P(val) == IS_INDIRECT) { diff --git a/ext/standard/var_unserializer.c b/ext/standard/var_unserializer.c index d798b589fe..4a797e69c7 100644 --- a/ext/standard/var_unserializer.c +++ b/ext/standard/var_unserializer.c @@ -433,19 +433,19 @@ string_key: && (existing_propinfo->flags & ZEND_ACC_PPP_MASK)) { if (existing_propinfo->flags & ZEND_ACC_PROTECTED) { new_key = zend_mangle_property_name( - "*", 1, ZSTR_VAL(unmangled), ZSTR_LEN(unmangled), Z_OBJCE_P(rval)->type & ZEND_INTERNAL_CLASS); + "*", 1, ZSTR_VAL(unmangled), ZSTR_LEN(unmangled), 0); zend_string_release(unmangled); } else if (existing_propinfo->flags & ZEND_ACC_PRIVATE) { if (unmangled_class != NULL && strcmp(unmangled_class, "*") != 0) { new_key = zend_mangle_property_name( unmangled_class, strlen(unmangled_class), ZSTR_VAL(unmangled), ZSTR_LEN(unmangled), - Z_OBJCE_P(rval)->type & ZEND_INTERNAL_CLASS); + 0); } else { new_key = zend_mangle_property_name( ZSTR_VAL(existing_propinfo->ce->name), ZSTR_LEN(existing_propinfo->ce->name), ZSTR_VAL(unmangled), ZSTR_LEN(unmangled), - Z_OBJCE_P(rval)->type & ZEND_INTERNAL_CLASS); + 0); } zend_string_release(unmangled); } else { diff --git a/ext/standard/var_unserializer.re b/ext/standard/var_unserializer.re index 3cf82b1e7a..90f13ae01a 100644 --- a/ext/standard/var_unserializer.re +++ b/ext/standard/var_unserializer.re @@ -437,19 +437,19 @@ string_key: && (existing_propinfo->flags & ZEND_ACC_PPP_MASK)) { if (existing_propinfo->flags & ZEND_ACC_PROTECTED) { new_key = zend_mangle_property_name( - "*", 1, ZSTR_VAL(unmangled), ZSTR_LEN(unmangled), Z_OBJCE_P(rval)->type & ZEND_INTERNAL_CLASS); + "*", 1, ZSTR_VAL(unmangled), ZSTR_LEN(unmangled), 0); zend_string_release(unmangled); } else if (existing_propinfo->flags & ZEND_ACC_PRIVATE) { if (unmangled_class != NULL && strcmp(unmangled_class, "*") != 0) { new_key = zend_mangle_property_name( unmangled_class, strlen(unmangled_class), ZSTR_VAL(unmangled), ZSTR_LEN(unmangled), - Z_OBJCE_P(rval)->type & ZEND_INTERNAL_CLASS); + 0); } else { new_key = zend_mangle_property_name( ZSTR_VAL(existing_propinfo->ce->name), ZSTR_LEN(existing_propinfo->ce->name), ZSTR_VAL(unmangled), ZSTR_LEN(unmangled), - Z_OBJCE_P(rval)->type & ZEND_INTERNAL_CLASS); + 0); } zend_string_release(unmangled); } else { diff --git a/main/streams/filter.c b/main/streams/filter.c index bb167c4409..6014a49661 100644 --- a/main/streams/filter.c +++ b/main/streams/filter.c @@ -59,7 +59,7 @@ PHPAPI int php_stream_filter_register_factory_volatile(const char *filterpattern { if (!FG(stream_filters)) { ALLOC_HASHTABLE(FG(stream_filters)); - zend_hash_init(FG(stream_filters), zend_hash_num_elements(&stream_filters_hash), NULL, NULL, 1); + zend_hash_init(FG(stream_filters), zend_hash_num_elements(&stream_filters_hash), NULL, NULL, 0); zend_hash_copy(FG(stream_filters), &stream_filters_hash, NULL); } diff --git a/main/streams/streams.c b/main/streams/streams.c index e768d0f533..a6cb4ef169 100644 --- a/main/streams/streams.c +++ b/main/streams/streams.c @@ -1686,7 +1686,7 @@ PHPAPI int php_unregister_url_stream_wrapper(const char *protocol) static void clone_wrapper_hash(void) { ALLOC_HASHTABLE(FG(stream_wrappers)); - zend_hash_init(FG(stream_wrappers), zend_hash_num_elements(&url_stream_wrappers_hash), NULL, NULL, 1); + zend_hash_init(FG(stream_wrappers), zend_hash_num_elements(&url_stream_wrappers_hash), NULL, NULL, 0); zend_hash_copy(FG(stream_wrappers), &url_stream_wrappers_hash, NULL); } diff --git a/sapi/cli/php_cli.c b/sapi/cli/php_cli.c index 52055c98c9..e7999febbb 100644 --- a/sapi/cli/php_cli.c +++ b/sapi/cli/php_cli.c @@ -593,17 +593,17 @@ static void cli_register_file_handles(void) /* {{{ */ php_stream_to_zval(s_err, &ec.value); ic.flags = CONST_CS; - ic.name = zend_string_init("STDIN", sizeof("STDIN")-1, 1); + ic.name = zend_string_init_interned("STDIN", sizeof("STDIN")-1, 0); ic.module_number = 0; zend_register_constant(&ic); oc.flags = CONST_CS; - oc.name = zend_string_init("STDOUT", sizeof("STDOUT")-1, 1); + oc.name = zend_string_init_interned("STDOUT", sizeof("STDOUT")-1, 0); oc.module_number = 0; zend_register_constant(&oc); ec.flags = CONST_CS; - ec.name = zend_string_init("STDERR", sizeof("STDERR")-1, 1); + ec.name = zend_string_init_interned("STDERR", sizeof("STDERR")-1, 0); ec.module_number = 0; zend_register_constant(&ec); } -- 2.40.0