Lines Matching refs:pathp

467     } path[sizeof(void *) << 4], *pathp;				\
471 for (pathp = path; pathp->node != NULL; pathp++) { \
472 int cmp = pathp->cmp = a_cmp(node, pathp->node); \
475 pathp[1].node = rbtn_left_get(a_type, a_field, \
476 pathp->node); \
478 pathp[1].node = rbtn_right_get(a_type, a_field, \
479 pathp->node); \
482 pathp->node = node; \
484 for (pathp--; (uintptr_t)pathp >= (uintptr_t)path; pathp--) { \
485 a_type *cnode = pathp->node; \
486 if (pathp->cmp < 0) { \
487 a_type *left = pathp[1].node; \
503 a_type *right = pathp[1].node; \
526 pathp->node = cnode; \
537 } *pathp, *nodep, path[sizeof(void *) << 4]; \
541 for (pathp = path; pathp->node != NULL; pathp++) { \
542 int cmp = pathp->cmp = a_cmp(node, pathp->node); \
544 pathp[1].node = rbtn_left_get(a_type, a_field, \
545 pathp->node); \
547 pathp[1].node = rbtn_right_get(a_type, a_field, \
548 pathp->node); \
551 pathp->cmp = 1; \
552 nodep = pathp; \
553 for (pathp++; pathp->node != NULL; \
554 pathp++) { \
555 pathp->cmp = -1; \
556 pathp[1].node = rbtn_left_get(a_type, a_field, \
557 pathp->node); \
564 pathp--; \
565 if (pathp->node != node) { \
567 bool tred = rbtn_red_get(a_type, a_field, pathp->node); \
568 rbtn_color_set(a_type, a_field, pathp->node, \
570 rbtn_left_set(a_type, a_field, pathp->node, \
576 rbtn_right_set(a_type, a_field, pathp->node, \
581 nodep->node = pathp->node; \
582 pathp->node = node; \
602 if (pathp == path) { \
605 if (pathp[-1].cmp < 0) { \
606 rbtn_left_set(a_type, a_field, pathp[-1].node, \
609 rbtn_right_set(a_type, a_field, pathp[-1].node, \
614 } else if (pathp == path) { \
620 if (rbtn_red_get(a_type, a_field, pathp->node)) { \
622 assert(pathp[-1].cmp < 0); \
623 rbtn_left_set(a_type, a_field, pathp[-1].node, NULL); \
628 pathp->node = NULL; \
629 for (pathp--; (uintptr_t)pathp >= (uintptr_t)path; pathp--) { \
630 assert(pathp->cmp != 0); \
631 if (pathp->cmp < 0) { \
632 rbtn_left_set(a_type, a_field, pathp->node, \
633 pathp[1].node); \
634 if (rbtn_red_get(a_type, a_field, pathp->node)) { \
636 pathp->node); \
646 /* pathp(r) */\
652 rbtn_black_set(a_type, a_field, pathp->node); \
654 rbtn_right_set(a_type, a_field, pathp->node, tnode);\
655 rbtn_rotate_left(a_type, a_field, pathp->node, \
659 /* pathp(r) */\
665 rbtn_rotate_left(a_type, a_field, pathp->node, \
670 assert((uintptr_t)pathp > (uintptr_t)path); \
671 if (pathp[-1].cmp < 0) { \
672 rbtn_left_set(a_type, a_field, pathp[-1].node, \
675 rbtn_right_set(a_type, a_field, pathp[-1].node, \
681 pathp->node); \
687 /* pathp(b) */\
695 rbtn_right_set(a_type, a_field, pathp->node, tnode);\
696 rbtn_rotate_left(a_type, a_field, pathp->node, \
701 if (pathp == path) { \
705 if (pathp[-1].cmp < 0) { \
707 pathp[-1].node, tnode); \
710 pathp[-1].node, tnode); \
716 /* pathp(b) */\
722 rbtn_red_set(a_type, a_field, pathp->node); \
723 rbtn_rotate_left(a_type, a_field, pathp->node, \
725 pathp->node = tnode; \
730 rbtn_right_set(a_type, a_field, pathp->node, \
731 pathp[1].node); \
732 left = rbtn_left_get(a_type, a_field, pathp->node); \
742 /* pathp(b) */\
751 rbtn_rotate_right(a_type, a_field, pathp->node, \
753 rbtn_rotate_right(a_type, a_field, pathp->node, \
759 /* pathp(b) */\
768 rbtn_rotate_right(a_type, a_field, pathp->node, \
774 if (pathp == path) { \
778 if (pathp[-1].cmp < 0) { \
779 rbtn_left_set(a_type, a_field, pathp[-1].node, \
782 rbtn_right_set(a_type, a_field, pathp[-1].node, \
787 } else if (rbtn_red_get(a_type, a_field, pathp->node)) { \
792 /* pathp(r) */\
798 rbtn_black_set(a_type, a_field, pathp->node); \
801 rbtn_rotate_right(a_type, a_field, pathp->node, \
805 assert((uintptr_t)pathp > (uintptr_t)path); \
806 if (pathp[-1].cmp < 0) { \
807 rbtn_left_set(a_type, a_field, pathp[-1].node, \
810 rbtn_right_set(a_type, a_field, pathp[-1].node, \
816 /* pathp(r) */\
822 rbtn_black_set(a_type, a_field, pathp->node); \
831 /* pathp(b) */\
838 rbtn_rotate_right(a_type, a_field, pathp->node, \
843 if (pathp == path) { \
847 if (pathp[-1].cmp < 0) { \
849 pathp[-1].node, tnode); \
852 pathp[-1].node, tnode); \
858 /* pathp(b) */\