]> granicus.if.org Git - php/commitdiff
Use per-request heap instead of system one
authorDmitry Stogov <dmitry@zend.com>
Fri, 27 Oct 2017 11:45:54 +0000 (14:45 +0300)
committerDmitry Stogov <dmitry@zend.com>
Fri, 27 Oct 2017 11:45:54 +0000 (14:45 +0300)
Zend/zend_execute_API.c
ext/standard/var.c
ext/standard/var_unserializer.c
ext/standard/var_unserializer.re
main/streams/filter.c
main/streams/streams.c
sapi/cli/php_cli.c

index e69a84ba6b9442ad513b4cebac29ec70c1336863..24ad86b1f1627d59afee1168cbe95ba302282fbd 100644 (file)
@@ -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] = ';';
index e28afe91776fab86ce1c4b65d5329b9169623a79..3f5d2ffe402e26cd1d561c2247414b3f528553f6 100644 (file)
@@ -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) {
index d798b589fee1ef589d9f61116454deceaef6819a..4a797e69c755cdb97c5d4f61127434e9e4e2bfd9 100644 (file)
@@ -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 {
index 3cf82b1e7adfb189642a02fb0871bda9a41a9acf..90f13ae01a769c93d4850c30b35c6a942c1dca33 100644 (file)
@@ -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 {
index bb167c4409663ddbb86647719be2f8d9fa2f929b..6014a49661d068e3d55387b1efa2bd6ae557941b 100644 (file)
@@ -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);
        }
 
index e768d0f5335869b1827a921223fd5ed9ec4d0eec..a6cb4ef1696eb5056051eabbf5461c5a6c464ce7 100644 (file)
@@ -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);
 }
 
index 52055c98c99197ef1852e1195e45715d2bd29aa8..e7999febbbb99a037cc603e438a4cbe40e6bfeb4 100644 (file)
@@ -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);
 }