|
|
|
@ -553,7 +553,8 @@ tail_call: |
|
|
|
struct _store_object *obj = &EG(objects_store).object_buckets[Z_OBJ_HANDLE_P(pz)].bucket.obj; |
|
|
|
|
|
|
|
if (obj->buffered == (gc_root_buffer*)GC_WHITE) { |
|
|
|
GC_SET_BLACK(obj->buffered); |
|
|
|
/* PURPLE instead of BLACK to prevent buffering in nested gc calls */ |
|
|
|
GC_SET_PURPLE(obj->buffered); |
|
|
|
|
|
|
|
if (EXPECTED(EG(objects_store).object_buckets[Z_OBJ_HANDLE_P(pz)].valid && |
|
|
|
Z_OBJ_HANDLER_P(pz, get_properties) != NULL)) { |
|
|
|
@ -598,7 +599,8 @@ static void zobj_collect_white(zval *pz TSRMLS_DC) |
|
|
|
struct _store_object *obj = &EG(objects_store).object_buckets[Z_OBJ_HANDLE_P(pz)].bucket.obj; |
|
|
|
|
|
|
|
if (obj->buffered == (gc_root_buffer*)GC_WHITE) { |
|
|
|
GC_SET_BLACK(obj->buffered); |
|
|
|
/* PURPLE instead of BLACK to prevent buffering in nested gc calls */ |
|
|
|
GC_SET_PURPLE(obj->buffered); |
|
|
|
|
|
|
|
if (EXPECTED(EG(objects_store).object_buckets[Z_OBJ_HANDLE_P(pz)].valid && |
|
|
|
Z_OBJ_HANDLER_P(pz, get_properties) != NULL)) { |
|
|
|
|