Lines Matching refs:zv

302 void phpdbg_set_zval_watchpoint(zval *zv, phpdbg_watchpoint_t *watch) {  argument
303 phpdbg_set_addr_watchpoint(zv, sizeof(zval) - sizeof(uint32_t), watch);
369 if (Z_REFCOUNTED_P(watch->addr.zv)) {
370 if (Z_COUNTED_P(watch->addr.zv) == watch->ref) {
378 watch->ref = Z_COUNTED_P(watch->addr.zv);
383 phpdbg_set_addr_watchpoint(Z_COUNTED_P(watch->addr.zv), sizeof(uint32_t), &coll->ref);
389 if (Z_ISREF_P(watch->addr.zv)) {
390 phpdbg_set_zval_watchpoint(Z_REFVAL_P(watch->addr.zv), &coll->reference);
396 } else if (Z_TYPE_P(watch->addr.zv) == IS_STRING) {
398 …point(&Z_STRLEN_P(watch->addr.zv), XtOffsetOf(zend_string, val) - XtOffsetOf(zend_string, len) + Z…
412 } else if (Z_TYPE_P(watch->addr.zv) == IS_INDIRECT) {
413 if ((zend_refcounted *) Z_INDIRECT_P(watch->addr.zv) == watch->ref) {
421 watch->ref = (zend_refcounted *) Z_INDIRECT_P(watch->addr.zv);
425 phpdbg_set_zval_watchpoint(Z_INDIRECT_P(watch->addr.zv), &coll->ref);
489 phpdbg_watch_element *phpdbg_add_ht_watch_element(zval *zv, phpdbg_watch_element *element) { argument
491 HashTable *ht = HT_FROM_ZVP(zv);
497 element->flags |= Z_TYPE_P(zv) == IS_ARRAY ? PHPDBG_WATCH_ARRAY : PHPDBG_WATCH_OBJECT;
515 …recursive_watch_from_ht(phpdbg_watch_element *element, zend_long idx, zend_string *str, zval *zv) { argument
517 if (phpdbg_is_recursively_watched(zv, element)) {
536 phpdbg_add_bucket_watch_element((Bucket *) zv, child);
541 zval *zv; local
544 zv = element->watch->addr.zv;
545 while (Z_TYPE_P(zv) == IS_INDIRECT) {
546 zv = Z_INDIRECT_P(zv);
548 ZVAL_DEREF(zv);
554 if ((Z_TYPE_P(zv) != IS_ARRAY && Z_TYPE_P(zv) != IS_OBJECT)
555 || phpdbg_is_recursively_watched(HT_WATCH_OFFSET + (char *) HT_FROM_ZVP(zv), element)) {
575 phpdbg_add_ht_watch_element(zv, child);
581 ZEND_HASH_FOREACH_KEY_VAL(HT_WATCH_HT(element->watch), idx, str, zv) {
582 phpdbg_add_recursive_watch_from_ht(element, idx, str, zv);
668 zval *zv; local
681 } else if ((zv = zend_symtable_find(ht, element->name_in_parent))) {
683 zval *next = zv;
695 } else if (phpdbg_check_watch_diff(WATCH_ON_ZVAL, &element->backup.zv, zv)) {
696 phpdbg_print_watch_diff(WATCH_ON_ZVAL, element->str, &element->backup.zv, zv);
700 phpdbg_add_bucket_watch_element((Bucket *) zv, element);
726 zval _zv, *zv = &_zv; local
729 zv = element->parent->watch->addr.zv;
730 while (Z_TYPE_P(zv) == IS_INDIRECT) {
731 zv = Z_INDIRECT_P(zv);
733 ZVAL_DEREF(zv);
735 ZVAL_ARR(zv, element->parent_container);
737 if (!phpdbg_try_readding_watch_element(zv, element)) {
942 …if ((watch->type == WATCH_ON_ZVAL || watch->type == WATCH_ON_BUCKET) && Z_TYPE(watch->backup.zv) >…
963 zval *zv; local
969 ZEND_HASH_REVERSE_FOREACH_KEY_VAL(HT_WATCH_HT(watch), idx, str, zv) {
981 phpdbg_add_recursive_watch_from_ht(element, idx, str, zv);
1033 watch->addr.zv = new;
1041 } else if (Z_TYPE_P(watch->addr.zv) == IS_UNDEF) {
1186 static int phpdbg_create_simple_watchpoint(zval *zv, phpdbg_watch_element *element) { argument
1188 phpdbg_add_bucket_watch_element((Bucket *) zv, element);
1192 static int phpdbg_create_array_watchpoint(zval *zv, phpdbg_watch_element *element) { argument
1195 zval *orig_zv = zv;
1197 ZVAL_DEREF(zv);
1198 if (Z_TYPE_P(zv) != IS_ARRAY && Z_TYPE_P(zv) != IS_OBJECT) {
1214 phpdbg_add_ht_watch_element(zv, new);
1218 static int phpdbg_create_recursive_watchpoint(zval *zv, phpdbg_watch_element *element) { argument
1221 phpdbg_add_bucket_watch_element((Bucket *) zv, element);
1225 typedef struct { int (*callback)(zval *zv, phpdbg_watch_element *); zend_string *str; } phpdbg_watc…
1227 … *name, size_t namelen, char *key, size_t keylen, HashTable *parent, zval *zv, phpdbg_watch_parse_… argument
1236 ret = info->callback(zv, element);
1266 … *name, size_t namelen, char *key, size_t keylen, HashTable *parent, zval *zv, phpdbg_watch_parse_… argument
1270 …&& Z_ISREF_P(PHPDBG_G(watch_tmp)->watch->addr.zv) && Z_REFVAL_P(PHPDBG_G(watch_tmp)->watch->addr.z…
1282 element = phpdbg_add_bucket_watch_element((Bucket *) zv, element);