Lines Matching refs:zv

354 void phpdbg_set_zval_watchpoint(zval *zv, phpdbg_watchpoint_t *watch) {  argument
355 phpdbg_set_addr_watchpoint(zv, sizeof(zval) - sizeof(uint32_t), watch);
422 if (Z_REFCOUNTED_P(watch->addr.zv)) {
423 if (Z_COUNTED_P(watch->addr.zv) == watch->ref) {
431 watch->ref = Z_COUNTED_P(watch->addr.zv);
436 phpdbg_set_addr_watchpoint(Z_COUNTED_P(watch->addr.zv), sizeof(uint32_t), &coll->ref);
442 if (Z_ISREF_P(watch->addr.zv)) {
443 phpdbg_set_zval_watchpoint(Z_REFVAL_P(watch->addr.zv), &coll->reference);
449 } else if (Z_TYPE_P(watch->addr.zv) == IS_STRING) {
451 …point(&Z_STRLEN_P(watch->addr.zv), XtOffsetOf(zend_string, val) - XtOffsetOf(zend_string, len) + Z…
465 } else if (Z_TYPE_P(watch->addr.zv) == IS_INDIRECT) {
466 if ((zend_refcounted *) Z_INDIRECT_P(watch->addr.zv) == watch->ref) {
474 watch->ref = (zend_refcounted *) Z_INDIRECT_P(watch->addr.zv);
478 phpdbg_set_zval_watchpoint(Z_INDIRECT_P(watch->addr.zv), &coll->ref);
544 phpdbg_watch_element *phpdbg_add_ht_watch_element(zval *zv, phpdbg_watch_element *element) { argument
546 HashTable *ht = HT_FROM_ZVP(zv);
552 element->flags |= Z_TYPE_P(zv) == IS_ARRAY ? PHPDBG_WATCH_ARRAY : PHPDBG_WATCH_OBJECT;
570 …recursive_watch_from_ht(phpdbg_watch_element *element, zend_long idx, zend_string *str, zval *zv) { argument
572 if (phpdbg_is_recursively_watched(zv, element)) {
591 phpdbg_add_bucket_watch_element((Bucket *) zv, child);
596 zval *zv; local
599 zv = element->watch->addr.zv;
600 while (Z_TYPE_P(zv) == IS_INDIRECT) {
601 zv = Z_INDIRECT_P(zv);
603 ZVAL_DEREF(zv);
609 if ((Z_TYPE_P(zv) != IS_ARRAY && Z_TYPE_P(zv) != IS_OBJECT)
610 || phpdbg_is_recursively_watched(HT_WATCH_OFFSET + (char *) HT_FROM_ZVP(zv), element)) {
630 phpdbg_add_ht_watch_element(zv, child);
636 ZEND_HASH_FOREACH_KEY_VAL(HT_WATCH_HT(element->watch), idx, str, zv) {
637 phpdbg_add_recursive_watch_from_ht(element, idx, str, zv);
723 zval *zv; local
736 } else if ((zv = zend_symtable_find(ht, element->name_in_parent))) {
738 zval *next = zv;
750 } else if (phpdbg_check_watch_diff(WATCH_ON_ZVAL, &element->backup.zv, zv)) {
751 phpdbg_print_watch_diff(WATCH_ON_ZVAL, element->str, &element->backup.zv, zv);
755 phpdbg_add_bucket_watch_element((Bucket *) zv, element);
782 zval _zv, *zv = &_zv; local
785 zv = element->parent->watch->addr.zv;
786 while (Z_TYPE_P(zv) == IS_INDIRECT) {
787 zv = Z_INDIRECT_P(zv);
789 ZVAL_DEREF(zv);
791 ZVAL_ARR(zv, element->parent_container);
793 if (!phpdbg_try_re_adding_watch_element(zv, element)) {
1001 …if ((watch->type == WATCH_ON_ZVAL || watch->type == WATCH_ON_BUCKET) && Z_TYPE(watch->backup.zv) >…
1022 zval *zv; local
1028 ZEND_HASH_REVERSE_FOREACH_KEY_VAL(HT_WATCH_HT(watch), idx, str, zv) {
1040 phpdbg_add_recursive_watch_from_ht(element, idx, str, zv);
1093 watch->addr.zv = new;
1101 } else if (Z_TYPE_P(watch->addr.zv) == IS_UNDEF) {
1256 static int phpdbg_create_simple_watchpoint(zval *zv, phpdbg_watch_element *element) { argument
1258 phpdbg_add_bucket_watch_element((Bucket *) zv, element);
1262 static int phpdbg_create_array_watchpoint(zval *zv, phpdbg_watch_element *element) { argument
1265 zval *orig_zv = zv;
1267 ZVAL_DEREF(zv);
1268 if (Z_TYPE_P(zv) != IS_ARRAY && Z_TYPE_P(zv) != IS_OBJECT) {
1284 phpdbg_add_ht_watch_element(zv, new);
1288 static int phpdbg_create_recursive_watchpoint(zval *zv, phpdbg_watch_element *element) { argument
1291 phpdbg_add_bucket_watch_element((Bucket *) zv, element);
1295 typedef struct { int (*callback)(zval *zv, phpdbg_watch_element *); zend_string *str; } phpdbg_watc…
1297 … *name, size_t namelen, char *key, size_t keylen, HashTable *parent, zval *zv, phpdbg_watch_parse_… argument
1306 ret = info->callback(zv, element);
1338 … *name, size_t namelen, char *key, size_t keylen, HashTable *parent, zval *zv, phpdbg_watch_parse_… argument
1342 …&& Z_ISREF_P(PHPDBG_G(watch_tmp)->watch->addr.zv) && Z_REFVAL_P(PHPDBG_G(watch_tmp)->watch->addr.z…
1354 element = phpdbg_add_bucket_watch_element((Bucket *) zv, element);