Lines Matching refs:pz

181 			newRoot->u.pz = zv;  in gc_zval_possible_root()
264 static void zval_scan_black(zval *pz TSRMLS_DC) in zval_scan_black()
270 GC_ZVAL_SET_BLACK(pz); in zval_scan_black()
272 if (Z_TYPE_P(pz) == IS_OBJECT && EG(objects_store).object_buckets) { in zval_scan_black()
274 struct _store_object *obj = &EG(objects_store).object_buckets[Z_OBJ_HANDLE_P(pz)].bucket.obj; in zval_scan_black()
279 if (EXPECTED(EG(objects_store).object_buckets[Z_OBJ_HANDLE_P(pz)].valid && in zval_scan_black()
280 (get_gc = Z_OBJ_HANDLER_P(pz, get_gc)) != NULL)) { in zval_scan_black()
283 HashTable *props = get_gc(pz, &table, &n TSRMLS_CC); in zval_scan_black()
288 pz = table[i]; in zval_scan_black()
289 if (Z_TYPE_P(pz) != IS_ARRAY || Z_ARRVAL_P(pz) != &EG(symbol_table)) { in zval_scan_black()
290 pz->refcount__gc++; in zval_scan_black()
292 if (GC_ZVAL_GET_COLOR(pz) != GC_BLACK) { in zval_scan_black()
296 zval_scan_black(pz TSRMLS_CC); in zval_scan_black()
307 } else if (Z_TYPE_P(pz) == IS_ARRAY) { in zval_scan_black()
308 if (Z_ARRVAL_P(pz) != &EG(symbol_table)) { in zval_scan_black()
309 p = Z_ARRVAL_P(pz)->pListHead; in zval_scan_black()
313 pz = *(zval**)p->pData; in zval_scan_black()
314 if (Z_TYPE_P(pz) != IS_ARRAY || Z_ARRVAL_P(pz) != &EG(symbol_table)) { in zval_scan_black()
315 pz->refcount__gc++; in zval_scan_black()
317 if (GC_ZVAL_GET_COLOR(pz) != GC_BLACK) { in zval_scan_black()
321 zval_scan_black(pz TSRMLS_CC); in zval_scan_black()
328 static void zobj_scan_black(struct _store_object *obj, zval *pz TSRMLS_DC) in zobj_scan_black()
334 if (EXPECTED(EG(objects_store).object_buckets[Z_OBJ_HANDLE_P(pz)].valid && in zobj_scan_black()
335 (get_gc = Z_OBJ_HANDLER_P(pz, get_gc)) != NULL)) { in zobj_scan_black()
338 HashTable *props = get_gc(pz, &table, &n TSRMLS_CC); in zobj_scan_black()
342 pz = table[i]; in zobj_scan_black()
343 if (Z_TYPE_P(pz) != IS_ARRAY || Z_ARRVAL_P(pz) != &EG(symbol_table)) { in zobj_scan_black()
344 pz->refcount__gc++; in zobj_scan_black()
346 if (GC_ZVAL_GET_COLOR(pz) != GC_BLACK) { in zobj_scan_black()
347 zval_scan_black(pz TSRMLS_CC); in zobj_scan_black()
356 pz = *(zval**)p->pData; in zobj_scan_black()
357 if (Z_TYPE_P(pz) != IS_ARRAY || Z_ARRVAL_P(pz) != &EG(symbol_table)) { in zobj_scan_black()
358 pz->refcount__gc++; in zobj_scan_black()
360 if (GC_ZVAL_GET_COLOR(pz) != GC_BLACK) { in zobj_scan_black()
361 zval_scan_black(pz TSRMLS_CC); in zobj_scan_black()
368 static void zval_mark_grey(zval *pz TSRMLS_DC) in zval_mark_grey()
373 if (GC_ZVAL_GET_COLOR(pz) != GC_GREY) { in zval_mark_grey()
376 GC_ZVAL_SET_COLOR(pz, GC_GREY); in zval_mark_grey()
378 if (Z_TYPE_P(pz) == IS_OBJECT && EG(objects_store).object_buckets) { in zval_mark_grey()
380 struct _store_object *obj = &EG(objects_store).object_buckets[Z_OBJ_HANDLE_P(pz)].bucket.obj; in zval_mark_grey()
386 if (EXPECTED(EG(objects_store).object_buckets[Z_OBJ_HANDLE_P(pz)].valid && in zval_mark_grey()
387 (get_gc = Z_OBJ_HANDLER_P(pz, get_gc)) != NULL)) { in zval_mark_grey()
390 HashTable *props = get_gc(pz, &table, &n TSRMLS_CC); in zval_mark_grey()
395 pz = table[i]; in zval_mark_grey()
396 if (Z_TYPE_P(pz) != IS_ARRAY || Z_ARRVAL_P(pz) != &EG(symbol_table)) { in zval_mark_grey()
397 pz->refcount__gc--; in zval_mark_grey()
402 zval_mark_grey(pz TSRMLS_CC); in zval_mark_grey()
412 } else if (Z_TYPE_P(pz) == IS_ARRAY) { in zval_mark_grey()
413 if (Z_ARRVAL_P(pz) == &EG(symbol_table)) { in zval_mark_grey()
414 GC_ZVAL_SET_BLACK(pz); in zval_mark_grey()
416 p = Z_ARRVAL_P(pz)->pListHead; in zval_mark_grey()
420 pz = *(zval**)p->pData; in zval_mark_grey()
421 if (Z_TYPE_P(pz) != IS_ARRAY || Z_ARRVAL_P(pz) != &EG(symbol_table)) { in zval_mark_grey()
422 pz->refcount__gc--; in zval_mark_grey()
427 zval_mark_grey(pz TSRMLS_CC); in zval_mark_grey()
434 static void zobj_mark_grey(struct _store_object *obj, zval *pz TSRMLS_DC) in zobj_mark_grey()
442 if (EXPECTED(EG(objects_store).object_buckets[Z_OBJ_HANDLE_P(pz)].valid && in zobj_mark_grey()
443 (get_gc = Z_OBJ_HANDLER_P(pz, get_gc)) != NULL)) { in zobj_mark_grey()
446 HashTable *props = get_gc(pz, &table, &n TSRMLS_CC); in zobj_mark_grey()
450 pz = table[i]; in zobj_mark_grey()
451 if (Z_TYPE_P(pz) != IS_ARRAY || Z_ARRVAL_P(pz) != &EG(symbol_table)) { in zobj_mark_grey()
452 pz->refcount__gc--; in zobj_mark_grey()
454 zval_mark_grey(pz TSRMLS_CC); in zobj_mark_grey()
462 pz = *(zval**)p->pData; in zobj_mark_grey()
463 if (Z_TYPE_P(pz) != IS_ARRAY || Z_ARRVAL_P(pz) != &EG(symbol_table)) { in zobj_mark_grey()
464 pz->refcount__gc--; in zobj_mark_grey()
466 zval_mark_grey(pz TSRMLS_CC); in zobj_mark_grey()
495 if (GC_ZVAL_GET_COLOR(current->u.pz) == GC_PURPLE) { in gc_mark_roots()
496 zval_mark_grey(current->u.pz TSRMLS_CC); in gc_mark_roots()
498 GC_ZVAL_SET_ADDRESS(current->u.pz, NULL); in gc_mark_roots()
506 static void zval_scan(zval *pz TSRMLS_DC) in zval_scan()
511 if (GC_ZVAL_GET_COLOR(pz) == GC_GREY) { in zval_scan()
513 if (pz->refcount__gc > 0) { in zval_scan()
514 zval_scan_black(pz TSRMLS_CC); in zval_scan()
516 GC_ZVAL_SET_COLOR(pz, GC_WHITE); in zval_scan()
517 if (Z_TYPE_P(pz) == IS_OBJECT && EG(objects_store).object_buckets) { in zval_scan()
519 struct _store_object *obj = &EG(objects_store).object_buckets[Z_OBJ_HANDLE_P(pz)].bucket.obj; in zval_scan()
523 zobj_scan_black(obj, pz TSRMLS_CC); in zval_scan()
526 if (EXPECTED(EG(objects_store).object_buckets[Z_OBJ_HANDLE_P(pz)].valid && in zval_scan()
527 (get_gc = Z_OBJ_HANDLER_P(pz, get_gc)) != NULL)) { in zval_scan()
530 HashTable *props = get_gc(pz, &table, &n TSRMLS_CC); in zval_scan()
535 pz = table[i]; in zval_scan()
539 zval_scan(pz TSRMLS_CC); in zval_scan()
550 } else if (Z_TYPE_P(pz) == IS_ARRAY) { in zval_scan()
551 if (Z_ARRVAL_P(pz) == &EG(symbol_table)) { in zval_scan()
552 GC_ZVAL_SET_BLACK(pz); in zval_scan()
554 p = Z_ARRVAL_P(pz)->pListHead; in zval_scan()
560 pz = *(zval**)p->pData; in zval_scan()
570 static void zobj_scan(zval *pz TSRMLS_DC) in zobj_scan()
576 struct _store_object *obj = &EG(objects_store).object_buckets[Z_OBJ_HANDLE_P(pz)].bucket.obj; in zobj_scan()
580 zobj_scan_black(obj, pz TSRMLS_CC); in zobj_scan()
583 if (EXPECTED(EG(objects_store).object_buckets[Z_OBJ_HANDLE_P(pz)].valid && in zobj_scan()
584 (get_gc = Z_OBJ_HANDLER_P(pz, get_gc)) != NULL)) { in zobj_scan()
587 HashTable *props = get_gc(pz, &table, &n TSRMLS_CC); in zobj_scan()
591 pz = table[i]; in zobj_scan()
592 zval_scan(pz TSRMLS_CC); in zobj_scan()
622 zval_scan(current->u.pz TSRMLS_CC); in gc_scan_roots()
628 static void zval_collect_white(zval *pz TSRMLS_DC) in zval_collect_white()
633 if (((zval_gc_info*)(pz))->u.buffered == (gc_root_buffer*)GC_WHITE) { in zval_collect_white()
635 GC_ZVAL_SET_BLACK(pz); in zval_collect_white()
637 if (Z_TYPE_P(pz) == IS_OBJECT && EG(objects_store).object_buckets) { in zval_collect_white()
639 struct _store_object *obj = &EG(objects_store).object_buckets[Z_OBJ_HANDLE_P(pz)].bucket.obj; in zval_collect_white()
645 if (EXPECTED(EG(objects_store).object_buckets[Z_OBJ_HANDLE_P(pz)].valid && in zval_collect_white()
646 (get_gc = Z_OBJ_HANDLER_P(pz, get_gc)) != NULL)) { in zval_collect_white()
649 HashTable *props = get_gc(pz, &table, &n TSRMLS_CC); in zval_collect_white()
653 pz->refcount__gc++; in zval_collect_white()
654 ((zval_gc_info*)pz)->u.next = GC_G(zval_to_free); in zval_collect_white()
655 GC_G(zval_to_free) = (zval_gc_info*)pz; in zval_collect_white()
666 pz = zv; in zval_collect_white()
680 if (Z_TYPE_P(pz) == IS_ARRAY) { in zval_collect_white()
681 p = Z_ARRVAL_P(pz)->pListHead; in zval_collect_white()
686 pz->refcount__gc++; in zval_collect_white()
687 ((zval_gc_info*)pz)->u.next = GC_G(zval_to_free); in zval_collect_white()
688 GC_G(zval_to_free) = (zval_gc_info*)pz; in zval_collect_white()
691 pz = *(zval**)p->pData; in zval_collect_white()
692 if (Z_TYPE_P(pz) != IS_ARRAY || Z_ARRVAL_P(pz) != &EG(symbol_table)) { in zval_collect_white()
693 pz->refcount__gc++; in zval_collect_white()
698 zval_collect_white(pz TSRMLS_CC); in zval_collect_white()
705 static void zobj_collect_white(zval *pz TSRMLS_DC) in zobj_collect_white()
711 struct _store_object *obj = &EG(objects_store).object_buckets[Z_OBJ_HANDLE_P(pz)].bucket.obj; in zobj_collect_white()
717 if (EXPECTED(EG(objects_store).object_buckets[Z_OBJ_HANDLE_P(pz)].valid && in zobj_collect_white()
718 (get_gc = Z_OBJ_HANDLER_P(pz, get_gc)) != NULL)) { in zobj_collect_white()
721 HashTable *props = get_gc(pz, &table, &n TSRMLS_CC); in zobj_collect_white()
725 pz = table[i]; in zobj_collect_white()
726 if (Z_TYPE_P(pz) != IS_ARRAY || Z_ARRVAL_P(pz) != &EG(symbol_table)) { in zobj_collect_white()
727 pz->refcount__gc++; in zobj_collect_white()
729 zval_collect_white(pz TSRMLS_CC); in zobj_collect_white()
737 pz = *(zval**)p->pData; in zobj_collect_white()
738 if (Z_TYPE_P(pz) != IS_ARRAY || Z_ARRVAL_P(pz) != &EG(symbol_table)) { in zobj_collect_white()
739 pz->refcount__gc++; in zobj_collect_white()
741 zval_collect_white(pz TSRMLS_CC); in zobj_collect_white()
766 GC_ZVAL_SET_ADDRESS(current->u.pz, NULL); in gc_collect_roots()
767 zval_collect_white(current->u.pz TSRMLS_CC); in gc_collect_roots()