From: Dmitry Stogov Date: Wed, 29 Nov 2017 14:10:51 +0000 (+0300) Subject: Intern auto global name strings in first place X-Git-Tag: php-7.3.0alpha1~918 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f98721b4e085b02144bf43c7a6ad912b3f828829;p=php Intern auto global name strings in first place --- diff --git a/Zend/zend.c b/Zend/zend.c index d2734d9803..34b5e7416d 100644 --- a/Zend/zend.c +++ b/Zend/zend.c @@ -866,7 +866,7 @@ int zend_startup(zend_utility_functions *utility_functions, char **extensions) / zend_interned_strings_init(); zend_startup_builtin_functions(); zend_register_standard_constants(); - zend_register_auto_global(zend_string_init("GLOBALS", sizeof("GLOBALS") - 1, 1), 1, php_auto_globals_create_globals); + zend_register_auto_global(zend_string_init_interned("GLOBALS", sizeof("GLOBALS") - 1, 1), 1, php_auto_globals_create_globals); #ifndef ZTS zend_init_rsrc_plist(); diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index d4ec431f66..da86c0c1d8 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -1664,13 +1664,12 @@ int zend_register_auto_global(zend_string *name, zend_bool jit, zend_auto_global zend_auto_global auto_global; int retval; - auto_global.name = zend_new_interned_string(name); + auto_global.name = name; auto_global.auto_global_callback = auto_global_callback; auto_global.jit = jit; retval = zend_hash_add_mem(CG(auto_globals), auto_global.name, &auto_global, sizeof(zend_auto_global)) != NULL ? SUCCESS : FAILURE; - zend_string_release(name); return retval; } /* }}} */ diff --git a/ext/session/session.c b/ext/session/session.c index 3fa1b7a026..fc666fc655 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -2849,7 +2849,7 @@ static PHP_MINIT_FUNCTION(session) /* {{{ */ { zend_class_entry ce; - zend_register_auto_global(zend_string_init("_SESSION", sizeof("_SESSION") - 1, 1), 0, NULL); + zend_register_auto_global(zend_string_init_interned("_SESSION", sizeof("_SESSION") - 1, 1), 0, NULL); my_module_number = module_number; PS(module_number) = module_number; diff --git a/main/php_variables.c b/main/php_variables.c index 6d0970c85f..a23186ce45 100644 --- a/main/php_variables.c +++ b/main/php_variables.c @@ -871,13 +871,13 @@ static zend_bool php_auto_globals_create_request(zend_string *name) void php_startup_auto_globals(void) { - zend_register_auto_global(zend_string_init("_GET", sizeof("_GET")-1, 1), 0, php_auto_globals_create_get); - zend_register_auto_global(zend_string_init("_POST", sizeof("_POST")-1, 1), 0, php_auto_globals_create_post); - zend_register_auto_global(zend_string_init("_COOKIE", sizeof("_COOKIE")-1, 1), 0, php_auto_globals_create_cookie); - zend_register_auto_global(zend_string_init("_SERVER", sizeof("_SERVER")-1, 1), PG(auto_globals_jit), php_auto_globals_create_server); - zend_register_auto_global(zend_string_init("_ENV", sizeof("_ENV")-1, 1), PG(auto_globals_jit), php_auto_globals_create_env); - zend_register_auto_global(zend_string_init("_REQUEST", sizeof("_REQUEST")-1, 1), PG(auto_globals_jit), php_auto_globals_create_request); - zend_register_auto_global(zend_string_init("_FILES", sizeof("_FILES")-1, 1), 0, php_auto_globals_create_files); + zend_register_auto_global(zend_string_init_interned("_GET", sizeof("_GET")-1, 1), 0, php_auto_globals_create_get); + zend_register_auto_global(zend_string_init_interned("_POST", sizeof("_POST")-1, 1), 0, php_auto_globals_create_post); + zend_register_auto_global(zend_string_init_interned("_COOKIE", sizeof("_COOKIE")-1, 1), 0, php_auto_globals_create_cookie); + zend_register_auto_global(zend_string_init_interned("_SERVER", sizeof("_SERVER")-1, 1), PG(auto_globals_jit), php_auto_globals_create_server); + zend_register_auto_global(zend_string_init_interned("_ENV", sizeof("_ENV")-1, 1), PG(auto_globals_jit), php_auto_globals_create_env); + zend_register_auto_global(zend_string_init_interned("_REQUEST", sizeof("_REQUEST")-1, 1), PG(auto_globals_jit), php_auto_globals_create_request); + zend_register_auto_global(zend_string_init_interned("_FILES", sizeof("_FILES")-1, 1), 0, php_auto_globals_create_files); } /*