summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2019-08-13 11:45:16 +0200
committerNikita Popov <nikita.ppv@gmail.com>2019-08-13 11:45:16 +0200
commit9af705e7535e3341d042fa2950a38477c0851638 (patch)
tree5b91bca6e52bdb936fbf465ab4f6b76ef81639ea
parentccf79547af849d6e32e1186693d474091239696a (diff)
parent7bd2b9d2e6ae5ab85f01311fab585b0e4e56acd4 (diff)
downloadphp-git-9af705e7535e3341d042fa2950a38477c0851638.tar.gz
Merge branch 'PHP-7.4'
-rw-r--r--Zend/zend_gc.c5
-rw-r--r--Zend/zend_types.h1
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);
}