diff options
-rw-r--r-- | Zend/zend_gc.c | 5 | ||||
-rw-r--r-- | Zend/zend_types.h | 1 |
2 files changed, 1 insertions, 5 deletions
diff --git a/Zend/zend_gc.c b/Zend/zend_gc.c index 7adb11eab2..5209b9c69c 100644 --- a/Zend/zend_gc.c +++ b/Zend/zend_gc.c @@ -829,7 +829,6 @@ static void gc_mark_grey(zend_refcounted *ref, gc_stack *stack) while (zv != end) { if (Z_REFCOUNTED_P(zv)) { ref = Z_COUNTED_P(zv); - ZEND_ASSERT(GC_REFCOUNT(ref) > 0); GC_DELREF(ref); if (!GC_REF_CHECK_COLOR(ref, GC_GREY)) { GC_REF_SET_COLOR(ref, GC_GREY); @@ -840,7 +839,6 @@ static void gc_mark_grey(zend_refcounted *ref, gc_stack *stack) } if (EXPECTED(!ht)) { ref = Z_COUNTED_P(zv); - ZEND_ASSERT(GC_REFCOUNT(ref) > 0); GC_DELREF(ref); if (!GC_REF_CHECK_COLOR(ref, GC_GREY)) { GC_REF_SET_COLOR(ref, GC_GREY); @@ -861,7 +859,6 @@ static void gc_mark_grey(zend_refcounted *ref, gc_stack *stack) } else if (GC_TYPE(ref) == IS_REFERENCE) { if (Z_REFCOUNTED(((zend_reference*)ref)->val)) { ref = Z_COUNTED(((zend_reference*)ref)->val); - ZEND_ASSERT(GC_REFCOUNT(ref) > 0); GC_DELREF(ref); if (!GC_REF_CHECK_COLOR(ref, GC_GREY)) { GC_REF_SET_COLOR(ref, GC_GREY); @@ -894,7 +891,6 @@ static void gc_mark_grey(zend_refcounted *ref, gc_stack *stack) } if (Z_REFCOUNTED_P(zv)) { ref = Z_COUNTED_P(zv); - ZEND_ASSERT(GC_REFCOUNT(ref) > 0); GC_DELREF(ref); if (!GC_REF_CHECK_COLOR(ref, GC_GREY)) { GC_REF_SET_COLOR(ref, GC_GREY); @@ -908,7 +904,6 @@ static void gc_mark_grey(zend_refcounted *ref, gc_stack *stack) zv = Z_INDIRECT_P(zv); } ref = Z_COUNTED_P(zv); - ZEND_ASSERT(GC_REFCOUNT(ref) > 0); GC_DELREF(ref); if (!GC_REF_CHECK_COLOR(ref, GC_GREY)) { GC_REF_SET_COLOR(ref, GC_GREY); diff --git a/Zend/zend_types.h b/Zend/zend_types.h index c0da76da72..653a07b6b2 100644 --- a/Zend/zend_types.h +++ b/Zend/zend_types.h @@ -1032,6 +1032,7 @@ static zend_always_inline uint32_t zend_gc_addref(zend_refcounted_h *p) { } static zend_always_inline uint32_t zend_gc_delref(zend_refcounted_h *p) { + ZEND_ASSERT(p->refcount > 0); ZEND_RC_MOD_CHECK(p); return --(p->refcount); } |