summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2015-01-23 16:37:39 +0300
committerDmitry Stogov <dmitry@zend.com>2015-01-23 16:37:39 +0300
commitf71e64e53a99cc15f46a51dfa13c2f7baf4b2afb (patch)
treed7d3c6dd7fcd2c0b0ac270a70c3c4269377a3daf
parent4369215b8fcaae61de0980fac8c247e54035f150 (diff)
downloadphp-git-f71e64e53a99cc15f46a51dfa13c2f7baf4b2afb.tar.gz
Revert "Fixed ASSERTION"
This reverts commit 76f438e06fc61d32272a1f9877266c8d97d871ba.
-rw-r--r--Zend/zend_gc.c6
-rw-r--r--Zend/zend_gc.h2
2 files changed, 6 insertions, 2 deletions
diff --git a/Zend/zend_gc.c b/Zend/zend_gc.c
index ea8c06f2ce..966b615b60 100644
--- a/Zend/zend_gc.c
+++ b/Zend/zend_gc.c
@@ -137,7 +137,11 @@ ZEND_API void gc_init(void)
ZEND_API void gc_possible_root(zend_refcounted *ref)
{
- ZEND_ASSERT(CG(unclean_shutdown) || (GC_TYPE(ref) == IS_ARRAY || GC_TYPE(ref) == IS_OBJECT));
+ if (GC_TYPE(ref) == IS_NULL) {
+ return;
+ }
+
+ ZEND_ASSERT(GC_TYPE(ref) == IS_ARRAY || GC_TYPE(ref) == IS_OBJECT);
GC_BENCH_INC(zval_possible_root);
if (EXPECTED(GC_GET_COLOR(GC_INFO(ref)) == GC_BLACK)) {
diff --git a/Zend/zend_gc.h b/Zend/zend_gc.h
index 40c9db7565..80425fc7ec 100644
--- a/Zend/zend_gc.h
+++ b/Zend/zend_gc.h
@@ -141,7 +141,7 @@ END_EXTERN_C()
static zend_always_inline void gc_check_possible_root(zval *z)
{
ZVAL_DEREF(z);
- if (Z_COLLECTABLE_P(z) && UNEXPECTED(!Z_GC_INFO_P(z)) && EXPECTED(GC_TYPE(Z_COUNTED_P(z)) != IS_NULL)) {
+ if (Z_COLLECTABLE_P(z) && UNEXPECTED(!Z_GC_INFO_P(z))) {
gc_possible_root(Z_COUNTED_P(z));
}
}