summaryrefslogtreecommitdiff
path: root/Zend/zend_gc.h
diff options
context:
space:
mode:
authorXinchen Hui <laruence@gmail.com>2017-02-13 19:24:00 +0800
committerXinchen Hui <laruence@gmail.com>2017-02-13 19:24:00 +0800
commit00e5ea7b76f7af4ae9b6457096b4a9d309ee1203 (patch)
treef1de8cdfd6758aa7bda14452f4c5c0c11adeadf1 /Zend/zend_gc.h
parent91159bdcf54ad4e4b606b5869bab977b6ba042dd (diff)
parent930ce02048471361bd0016ebf99d26bc5fdb4d04 (diff)
downloadphp-git-00e5ea7b76f7af4ae9b6457096b4a9d309ee1203.tar.gz
Merge branch 'PHP-7.1'
* PHP-7.1: Update NEWS Fixed bug #73989 (PHP 7.1 Segfaults within Symfony test suite) Conflicts: Zend/zend_gc.c
Diffstat (limited to 'Zend/zend_gc.h')
-rw-r--r--Zend/zend_gc.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/Zend/zend_gc.h b/Zend/zend_gc.h
index 17a1462644..10c881cfea 100644
--- a/Zend/zend_gc.h
+++ b/Zend/zend_gc.h
@@ -67,6 +67,17 @@ typedef struct _gc_root_buffer {
uint32_t refcount;
} gc_root_buffer;
+#define GC_NUM_ADDITIONAL_ENTRIES \
+ ((4096 - ZEND_MM_OVERHEAD - sizeof(void*) * 2) / sizeof(gc_root_buffer))
+
+typedef struct _gc_additional_bufer gc_additional_buffer;
+
+struct _gc_additional_bufer {
+ uint32_t used;
+ gc_additional_buffer *next;
+ gc_root_buffer buf[GC_NUM_ADDITIONAL_ENTRIES];
+};
+
typedef struct _zend_gc_globals {
zend_bool gc_enabled;
zend_bool gc_active;
@@ -93,6 +104,8 @@ typedef struct _zend_gc_globals {
uint32_t zval_marked_grey;
#endif
+ gc_additional_buffer *additional_buffer;
+
} zend_gc_globals;
#ifdef ZTS