summaryrefslogtreecommitdiff
path: root/Zend/zend.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2019-03-14 03:02:10 +0300
committerDmitry Stogov <dmitry@zend.com>2019-03-14 03:02:10 +0300
commit2dd2dcaf9c8bcdda9c687660da887c5fddeb7448 (patch)
tree0815453b216df50724b504f01825f3c4ca368f3e /Zend/zend.c
parentd349ea3ceb30b99657c0843f6ffc4ed7af619dd5 (diff)
parent9499484ed2f0377678b2b4d88573327ee0e4ce6d (diff)
downloadphp-git-2dd2dcaf9c8bcdda9c687660da887c5fddeb7448.tar.gz
Merge branch 'PHP-7.4'
* PHP-7.4: Implemented a faster way to access predefined TSRM resources - CG(), EG(), etc.
Diffstat (limited to 'Zend/zend.c')
-rw-r--r--Zend/zend.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/Zend/zend.c b/Zend/zend.c
index e49392b00b..7c81e9fd98 100644
--- a/Zend/zend.c
+++ b/Zend/zend.c
@@ -38,6 +38,8 @@ static size_t global_map_ptr_last = 0;
#ifdef ZTS
ZEND_API int compiler_globals_id;
ZEND_API int executor_globals_id;
+ZEND_API size_t compiler_globals_offset;
+ZEND_API size_t executor_globals_offset;
static HashTable *global_function_table = NULL;
static HashTable *global_class_table = NULL;
static HashTable *global_constants_table = NULL;
@@ -868,10 +870,10 @@ int zend_startup(zend_utility_functions *utility_functions) /* {{{ */
zend_init_rsrc_list_dtors();
#ifdef ZTS
- ts_allocate_id(&compiler_globals_id, sizeof(zend_compiler_globals), (ts_allocate_ctor) compiler_globals_ctor, (ts_allocate_dtor) compiler_globals_dtor);
- ts_allocate_id(&executor_globals_id, sizeof(zend_executor_globals), (ts_allocate_ctor) executor_globals_ctor, (ts_allocate_dtor) executor_globals_dtor);
- ts_allocate_id(&language_scanner_globals_id, sizeof(zend_php_scanner_globals), (ts_allocate_ctor) php_scanner_globals_ctor, NULL);
- ts_allocate_id(&ini_scanner_globals_id, sizeof(zend_ini_scanner_globals), (ts_allocate_ctor) ini_scanner_globals_ctor, NULL);
+ ts_allocate_fast_id(&compiler_globals_id, &compiler_globals_offset, sizeof(zend_compiler_globals), (ts_allocate_ctor) compiler_globals_ctor, (ts_allocate_dtor) compiler_globals_dtor);
+ ts_allocate_fast_id(&executor_globals_id, &executor_globals_offset, sizeof(zend_executor_globals), (ts_allocate_ctor) executor_globals_ctor, (ts_allocate_dtor) executor_globals_dtor);
+ ts_allocate_fast_id(&language_scanner_globals_id, &language_scanner_globals_offset, sizeof(zend_php_scanner_globals), (ts_allocate_ctor) php_scanner_globals_ctor, NULL);
+ ts_allocate_fast_id(&ini_scanner_globals_id, &ini_scanner_globals_offset, sizeof(zend_ini_scanner_globals), (ts_allocate_ctor) ini_scanner_globals_ctor, NULL);
compiler_globals = ts_resource(compiler_globals_id);
executor_globals = ts_resource(executor_globals_id);