diff options
author | Dmitry Stogov <dmitry@zend.com> | 2018-01-11 19:50:27 +0300 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2018-01-11 19:50:27 +0300 |
commit | 70aa967d81666dd7044c1b827530b41b563eda17 (patch) | |
tree | 0035611b2b06a0a5ed296cf3cc9f383402c80da4 | |
parent | c9034c3b3344287a1a636e43dbcb781bcfbd31af (diff) | |
download | php-git-70aa967d81666dd7044c1b827530b41b563eda17.tar.gz |
Reorder zend_op_array fields for better data locality and packing
-rw-r--r-- | Zend/zend_compile.h | 19 |
1 files changed, 8 insertions, 11 deletions
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]; }; |