From: Dmitry Stogov Date: Thu, 11 Jan 2018 16:50:27 +0000 (+0300) Subject: Reorder zend_op_array fields for better data locality and packing X-Git-Tag: php-7.3.0alpha1~657 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=70aa967d81666dd7044c1b827530b41b563eda17;p=php Reorder zend_op_array fields for better data locality and packing --- diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h index 1b0d0d9d32..e26faf89eb 100644 --- a/Zend/zend_compile.h +++ b/Zend/zend_compile.h @@ -373,23 +373,23 @@ struct _zend_op_array { zend_arg_info *arg_info; /* END of common elements */ - uint32_t *refcount; + int cache_size; /* number of run_time_cache_slots * sizeof(void*) */ + int last_var; /* number of CV variables */ + uint32_t T; /* numner of temporary variables */ + uint32_t last; /* number of opcodes */ - uint32_t last; zend_op *opcodes; + void **run_time_cache; + HashTable *static_variables; + zend_string **vars; /* names of CV variables */ - int last_var; - uint32_t T; - zend_string **vars; + uint32_t *refcount; int last_live_range; int last_try_catch; zend_live_range *live_range; zend_try_catch_element *try_catch_array; - /* static variables support */ - HashTable *static_variables; - zend_string *filename; uint32_t line_start; uint32_t line_end; @@ -398,9 +398,6 @@ struct _zend_op_array { int last_literal; zval *literals; - int cache_size; - void **run_time_cache; - void *reserved[ZEND_MAX_RESERVED_RESOURCES]; };