summaryrefslogtreecommitdiff
path: root/Zend/zend.h
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2018-07-12 14:04:14 +0300
committerDmitry Stogov <dmitry@zend.com>2018-07-12 14:04:14 +0300
commit7d4e18b05dc962e923236a8d3df81fb0b10b113d (patch)
tree5e5e4301a9dc721a9ae2aa53a3db6ecf08f8ddf2 /Zend/zend.h
parent0834679e40555bb8936a096cd7deda3841239985 (diff)
downloadphp-git-7d4e18b05dc962e923236a8d3df81fb0b10b113d.tar.gz
Improved user iterator implementation to reduce zend_class_entry memory consumption and avoid race condition during resolving/caching of user iterator functions of internal classes in ZTS build.
Diffstat (limited to 'Zend/zend.h')
-rw-r--r--Zend/zend.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/Zend/zend.h b/Zend/zend.h
index 4a4e38d9c2..4f33dd89cc 100644
--- a/Zend/zend.h
+++ b/Zend/zend.h
@@ -139,7 +139,8 @@ struct _zend_class_entry {
union _zend_function *serialize_func;
union _zend_function *unserialize_func;
- zend_class_iterator_funcs iterator_funcs;
+ /* allocated only if class implements Itetrator or IteratorAggregate interface */
+ zend_class_iterator_funcs *iterator_funcs_ptr;
/* handlers */
zend_object* (*create_object)(zend_class_entry *class_type);