Home | History | Annotate | Download | only in internal

Lines Matching refs:pathp

754     a_prefix##path_entry_t *pathp;					\
758 for (pathp = path; pathp->node != NULL; pathp++) { \
759 int cmp = pathp->cmp = a_cmp(node, pathp->node); \
762 pathp[1].node = rbtn_left_get(a_type, a_field, \
763 pathp->node); \
765 pathp[1].node = rbtn_right_get(a_type, a_field, \
766 pathp->node); \
769 pathp->node = node; \
771 /* out-of-date summaries live in path[0], path[1], ..., *pathp. */\
773 /* decrement pathp before the first iteration. */\
778 for (pathp--; (uintptr_t)pathp >= (uintptr_t)path; pathp--) { \
779 a_type *cnode = pathp->node; \
780 if (pathp->cmp < 0) { \
781 a_type *left = pathp[1].node; \
797 a_prefix##summarize_range(path, pathp); \
801 a_type *right = pathp[1].node; \
824 a_prefix##summarize_range(path, pathp); \
828 pathp->node = cnode; \
840 pathp; \
852 for (pathp = path; pathp->node != NULL; pathp++) { \
853 int cmp = pathp->cmp = a_cmp(node, pathp->node); \
855 pathp[1].node = rbtn_left_get(a_type, a_field, \
856 pathp->node); \
858 pathp[1].node = rbtn_right_get(a_type, a_field, \
859 pathp->node); \
862 pathp->cmp = 1; \
863 nodep = pathp; \
864 for (pathp++; pathp->node != NULL; pathp++) { \
865 pathp->cmp = -1; \
866 pathp[1].node = rbtn_left_get(a_type, a_field, \
867 pathp->node); \
876 pathp--; \
877 if (pathp->node != node) { \
880 bool tred = rbtn_red_get(a_type, a_field, pathp->node); \
881 rbtn_color_set(a_type, a_field, pathp->node, \
883 rbtn_left_set(a_type, a_field, pathp->node, \
889 rbtn_right_set(a_type, a_field, pathp->node, \
894 nodep->node = pathp->node; \
895 pathp->node = node; \
915 if (pathp == path) { \
921 if (pathp[-1].cmp < 0) { \
922 rbtn_left_set(a_type, a_field, pathp[-1].node, \
925 rbtn_right_set(a_type, a_field, pathp[-1].node, \
928 a_prefix##summarize_swapped_range(path, &pathp[-1], \
932 } else if (pathp == path) { \
941 /* out-of-date summaries live in path[0], path[1], ..., pathp[-1].*/\
942 if (rbtn_red_get(a_type, a_field, pathp->node)) { \
944 assert(pathp[-1].cmp < 0); \
945 rbtn_left_set(a_type, a_field, pathp[-1].node, NULL); \
946 a_prefix##summarize_swapped_range(path, &pathp[-1], swap_loc); \
951 pathp->node = NULL; \
952 for (pathp--; (uintptr_t)pathp >= (uintptr_t)path; pathp--) { \
953 assert(pathp->cmp != 0); \
954 if (pathp->cmp < 0) { \
955 rbtn_left_set(a_type, a_field, pathp->node, \
956 pathp[1].node); \
957 if (rbtn_red_get(a_type, a_field, pathp->node)) { \
959 pathp->node); \
969 /* pathp(r) */\
975 rbtn_black_set(a_type, a_field, pathp->node); \
977 rbtn_right_set(a_type, a_field, pathp->node, tnode);\
978 rbtn_rotate_left(a_type, a_field, pathp->node, \
980 (void)a_summarize(pathp->node, \
981 rbtn_left_get(a_type, a_field, pathp->node), \
982 rbtn_right_get(a_type, a_field, pathp->node)); \
988 /* pathp(r) */\
994 rbtn_rotate_left(a_type, a_field, pathp->node, \
996 (void)a_summarize(pathp->node, \
997 rbtn_left_get(a_type, a_field, pathp->node), \
998 rbtn_right_get(a_type, a_field, pathp->node)); \
1004 assert((uintptr_t)pathp > (uintptr_t)path); \
1005 if (pathp[-1].cmp < 0) { \
1006 rbtn_left_set(a_type, a_field, pathp[-1].node, \
1009 rbtn_right_set(a_type, a_field, pathp[-1].node, \
1012 a_prefix##summarize_swapped_range(path, &pathp[-1], \
1017 pathp->node); \
1023 /* pathp(b) */\
1031 rbtn_right_set(a_type, a_field, pathp->node, tnode);\
1032 rbtn_rotate_left(a_type, a_field, pathp->node, \
1034 (void)a_summarize(pathp->node, \
1035 rbtn_left_get(a_type, a_field, pathp->node), \
1036 rbtn_right_get(a_type, a_field, pathp->node)); \
1046 if (pathp == path) { \
1050 if (pathp[-1].cmp < 0) { \
1052 pathp[-1].node, tnode); \
1055 pathp[-1].node, tnode); \
1058 &pathp[-1], swap_loc); \
1063 /* pathp(b) */\
1069 rbtn_red_set(a_type, a_field, pathp->node); \
1070 rbtn_rotate_left(a_type, a_field, pathp->node, \
1072 (void)a_summarize(pathp->node, \
1073 rbtn_left_get(a_type, a_field, pathp->node), \
1074 rbtn_right_get(a_type, a_field, pathp->node)); \
1078 pathp->node = tnode; \
1083 rbtn_right_set(a_type, a_field, pathp->node, \
1084 pathp[1].node); \
1085 left = rbtn_left_get(a_type, a_field, pathp->node); \
1095 /* pathp(b) */\
1104 rbtn_rotate_right(a_type, a_field, pathp->node, \
1106 rbtn_rotate_right(a_type, a_field, pathp->node, \
1110 (void)a_summarize(pathp->node, \
1111 rbtn_left_get(a_type, a_field, pathp->node), \
1112 rbtn_right_get(a_type, a_field, pathp->node)); \
1118 /* pathp(b) */\
1127 rbtn_rotate_right(a_type, a_field, pathp->node, \
1130 (void)a_summarize(pathp->node, \
1131 rbtn_left_get(a_type, a_field, pathp->node), \
1132 rbtn_right_get(a_type, a_field, pathp->node)); \
1139 if (pathp == path) { \
1143 if (pathp[-1].cmp < 0) { \
1144 rbtn_left_set(a_type, a_field, pathp[-1].node, \
1147 rbtn_right_set(a_type, a_field, pathp[-1].node, \
1150 a_prefix##summarize_swapped_range(path, &pathp[-1], \
1154 } else if (rbtn_red_get(a_type, a_field, pathp->node)) { \
1159 /* pathp(r) */\
1165 rbtn_black_set(a_type, a_field, pathp->node); \
1168 rbtn_rotate_right(a_type, a_field, pathp->node, \
1170 (void)a_summarize(pathp->node, \
1171 rbtn_left_get(a_type, a_field, pathp->node), \
1172 rbtn_right_get(a_type, a_field, pathp->node)); \
1178 assert((uintptr_t)pathp > (uintptr_t)path); \
1179 if (pathp[-1].cmp < 0) { \
1180 rbtn_left_set(a_type, a_field, pathp[-1].node, \
1183 rbtn_right_set(a_type, a_field, pathp[-1].node, \
1186 a_prefix##summarize_swapped_range(path, &pathp[-1], \
1191 /* pathp(r) */\
1197 rbtn_black_set(a_type, a_field, pathp->node); \
1199 a_prefix##summarize_swapped_range(path, pathp, \
1208 /* pathp(b) */\
1215 pathp->node, \
1217 (void)a_summarize(pathp->node, \
1218 rbtn_left_get(a_type, a_field, pathp->node), \
1219 rbtn_right_get(a_type, a_field, pathp->node)); \
1226 if (pathp == path) { \
1230 if (pathp[-1].cmp < 0) { \
1232 pathp[-1].node, tnode); \
1235 pathp[-1].node, tnode); \
1238 &pathp[-1], swap_loc); \
1243 /* pathp(b) */\
1249 (void)a_summarize(pathp->node, \
1250 rbtn_left_get(a_type, a_field, pathp->node), \
1251 rbtn_right_get(a_type, a_field, pathp->node)); \
1395 a_prefix##path_entry_t *pathp; \
1397 for (pathp = path; ; pathp++) { \
1398 assert((size_t)(pathp - path) < RB_MAX_DEPTH); \
1399 pathp->cmp = a_cmp(node, pathp->node); \
1400 if (pathp->cmp < 0) { \
1401 pathp[1].node = rbtn_left_get(a_type, a_field, \
1402 pathp->node); \
1403 } else if (pathp->cmp == 0) { \
1404 return pathp; \
1406 pathp[1].node = rbtn_right_get(a_type, a_field, \
1407 pathp->node); \
1415 a_prefix##path_entry_t *pathp = a_prefix##wind(rbtree, path, node); \
1416 a_prefix##summarize_range(path, pathp); \