From 3f86f43e5110f0ec96ce79a75331ad6b0d106843 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Thu, 30 Nov 2017 01:15:11 +0300 Subject: [PATCH] Intern persistent constant names in first place --- Zend/zend_constants.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/Zend/zend_constants.c b/Zend/zend_constants.c index c24792f7b8..d8b10b1e91 100644 --- a/Zend/zend_constants.c +++ b/Zend/zend_constants.c @@ -144,7 +144,7 @@ ZEND_API void zend_register_null_constant(const char *name, size_t name_len, int ZVAL_NULL(&c.value); c.flags = flags; - c.name = zend_string_init(name, name_len, flags & CONST_PERSISTENT); + c.name = zend_string_init_interned(name, name_len, flags & CONST_PERSISTENT); c.module_number = module_number; zend_register_constant(&c); } @@ -155,7 +155,7 @@ ZEND_API void zend_register_bool_constant(const char *name, size_t name_len, zen ZVAL_BOOL(&c.value, bval); c.flags = flags; - c.name = zend_string_init(name, name_len, flags & CONST_PERSISTENT); + c.name = zend_string_init_interned(name, name_len, flags & CONST_PERSISTENT); c.module_number = module_number; zend_register_constant(&c); } @@ -166,7 +166,7 @@ ZEND_API void zend_register_long_constant(const char *name, size_t name_len, zen ZVAL_LONG(&c.value, lval); c.flags = flags; - c.name = zend_string_init(name, name_len, flags & CONST_PERSISTENT); + c.name = zend_string_init_interned(name, name_len, flags & CONST_PERSISTENT); c.module_number = module_number; zend_register_constant(&c); } @@ -178,7 +178,7 @@ ZEND_API void zend_register_double_constant(const char *name, size_t name_len, d ZVAL_DOUBLE(&c.value, dval); c.flags = flags; - c.name = zend_string_init(name, name_len, flags & CONST_PERSISTENT); + c.name = zend_string_init_interned(name, name_len, flags & CONST_PERSISTENT); c.module_number = module_number; zend_register_constant(&c); } @@ -190,7 +190,7 @@ ZEND_API void zend_register_stringl_constant(const char *name, size_t name_len, ZVAL_NEW_STR(&c.value, zend_string_init(strval, strlen, flags & CONST_PERSISTENT)); c.flags = flags; - c.name = zend_string_init(name, name_len, flags & CONST_PERSISTENT); + c.name = zend_string_init_interned(name, name_len, flags & CONST_PERSISTENT); c.module_number = module_number; zend_register_constant(&c); } @@ -466,10 +466,6 @@ ZEND_API int zend_register_constant(zend_constant *c) printf("Registering constant for module %d\n", c->module_number); #endif - if (c->module_number != PHP_USER_CONSTANT) { - c->name = zend_new_interned_string(c->name); - } - if (!(c->flags & CONST_CS)) { lowercase_name = zend_string_tolower_ex(c->name, c->flags & CONST_PERSISTENT); lowercase_name = zend_new_interned_string(lowercase_name); -- 2.50.1