com php-src: don't mark zvals as rotts if they are already processed by GC: Zend/zend_gc.c
| From: | Dmitry Stogov | Date: | Fri, 21 Mar 2014 17:36:46 +0000 |
| Subject: | com php-src: don't mark zvals as rotts if they are already processed by GC: Zend/zend_gc.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-77563@lists.php.net to get a copy of this message | ||
Commit: b4b728fe85445eba99f3811f3ce1141ae83c503e
Author: Dmitry Stogov <dmitry@zend.com> Fri, 21 Mar 2014 21:36:46 +0400
Parents: 5c169160e6a950dc3e5e36363947612bf26cc652
Branches: phpng
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=b4b728fe85445eba99f3811f3ce1141ae83c503e
Log:
don't mark zvals as rotts if they are already processed by GC
Changed paths:
M Zend/zend_gc.c
Diff:
diff --git a/Zend/zend_gc.c b/Zend/zend_gc.c
index e79e604..54fd532 100644
--- a/Zend/zend_gc.c
+++ b/Zend/zend_gc.c
@@ -146,7 +146,7 @@ ZEND_API void gc_possible_root(zend_refcounted *ref TSRMLS_DC)
GC_BENCH_INC(zval_possible_root);
- if (GC_GET_COLOR(ref->u.v.gc_info) != GC_PURPLE) {
+ if (GC_GET_COLOR(ref->u.v.gc_info) == GC_BLACK) {
GC_SET_PURPLE(ref->u.v.gc_info);
if (!GC_ADDRESS(ref->u.v.gc_info)) {