Lines Matching refs:coll

296 	watch->coll = NULL;
339 phpdbg_watch_collision *coll; local
340 if ((coll = zend_hash_index_find_ptr(&PHPDBG_G(watch_collisions), (zend_ulong) watch->ref))) {
341 zend_hash_index_del(&coll->parents, (zend_ulong) watch);
342 if (zend_hash_num_elements(&coll->parents) == 0) {
343 phpdbg_deactivate_watchpoint(&coll->ref);
344 phpdbg_remove_watchpoint_btree(&coll->ref);
346 if (coll->ref.type == WATCH_ON_ZVAL) {
347 phpdbg_delete_watch_collision(&coll->ref);
348 } else if (coll->reference.addr.ptr) {
349 phpdbg_deactivate_watchpoint(&coll->reference);
350 phpdbg_remove_watchpoint_btree(&coll->reference);
351 phpdbg_delete_watch_collision(&coll->reference);
352 if (coll->reference.type == WATCH_ON_STR) {
353 zend_string_release(coll->reference.backup.str);
358 zend_hash_destroy(&coll->parents);
359 efree(coll);
365 phpdbg_watch_collision *coll; local
379 if (!(coll = zend_hash_index_find_ptr(&PHPDBG_G(watch_collisions), (zend_ulong) watch->ref))) {
380 coll = emalloc(sizeof(*coll));
381 coll->ref.type = WATCH_ON_REFCOUNTED;
382 phpdbg_set_addr_watchpoint(Z_COUNTED_P(watch->addr.zv), sizeof(uint32_t), &coll->ref);
383 coll->ref.coll = coll;
384 phpdbg_store_watchpoint_btree(&coll->ref);
385 phpdbg_activate_watchpoint(&coll->ref);
386 phpdbg_watch_backup_data(&coll->ref);
389 phpdbg_set_zval_watchpoint(Z_REFVAL_P(watch->addr.zv), &coll->reference);
390 coll->reference.coll = coll;
391 phpdbg_update_watch_ref(&coll->reference);
392 phpdbg_store_watchpoint_btree(&coll->reference);
393 phpdbg_activate_watchpoint(&coll->reference);
394 phpdbg_watch_backup_data(&coll->reference);
396 coll->reference.type = WATCH_ON_STR;
397 …nd_string, val) - XtOffsetOf(zend_string, len) + Z_STRLEN_P(watch->addr.zv) + 1, &coll->reference);
398 coll->reference.coll = coll;
399 phpdbg_store_watchpoint_btree(&coll->reference);
400 phpdbg_activate_watchpoint(&coll->reference);
401 coll->reference.backup.str = NULL;
402 phpdbg_watch_backup_data(&coll->reference);
404 coll->reference.addr.ptr = NULL;
407 zend_hash_init(&coll->parents, 8, shitty stupid parameter, NULL, 0);
408 zend_hash_index_add_ptr(&PHPDBG_G(watch_collisions), (zend_ulong) watch->ref, coll);
410 zend_hash_index_add_ptr(&coll->parents, (zend_long) watch, watch);
422 if (!(coll = zend_hash_index_find_ptr(&PHPDBG_G(watch_collisions), (zend_ulong) watch->ref))) {
423 coll = emalloc(sizeof(*coll));
424 phpdbg_set_zval_watchpoint(Z_INDIRECT_P(watch->addr.zv), &coll->ref);
425 coll->ref.coll = coll;
426 phpdbg_update_watch_ref(&coll->ref);
427 phpdbg_store_watchpoint_btree(&coll->ref);
428 phpdbg_activate_watchpoint(&coll->ref);
429 phpdbg_watch_backup_data(&coll->ref);
431 zend_hash_init(&coll->parents, 8, shitty stupid parameter, NULL, 0);
432 zend_hash_index_add_ptr(&PHPDBG_G(watch_collisions), (zend_ulong) watch->ref, coll);
434 zend_hash_index_add_ptr(&coll->parents, (zend_long) watch, watch);
885 ZEND_HASH_FOREACH_PTR(&watch->coll->parents, parent) {
886 if (parent->coll) {
903 if (watch->coll) {
931 if (watch->coll) {
932 ZEND_HASH_FOREACH_PTR(&watch->coll->parents, parent) {