Lines Matching refs:parent
212 pt_node_t *parent; in ptree_find_branch() local
214 for (parent = &pt->pt_rootnode;;) { in ptree_find_branch()
216 &PTN_BRANCH_SLOT(parent, ptree_testnode(pt, branch, parent)); in ptree_find_branch()
221 parent = PT_NODE(*nodep); in ptree_find_branch()
637 pt_node_t *ptn, *parent; in ptree_find_filtered_node() local
645 parent = &pt->pt_rootnode; in ptree_find_filtered_node()
648 const uintptr_t node = PTN_BRANCH_SLOT(parent, parent_slot); in ptree_find_filtered_node()
678 parent = ptn; in ptree_find_filtered_node()
679 parent_slot = ptree_testkey(pt, key, parent); in ptree_find_filtered_node()
680 bitoff += PTN_BRANCH_BITLEN(parent); in ptree_find_filtered_node()
683 …KASSERT(PTN_ISROOT_P(pt, parent) || PTN_BRANCH_BITOFF(parent) + PTN_BRANCH_BITLEN(parent) == bitof… in ptree_find_filtered_node()
819 pt_node_t *ptn, *parent; in ptree_remove_node() local
837 parent = &pt->pt_rootnode; in ptree_remove_node()
840 node = PTN_BRANCH_SLOT(parent, parent_slot); in ptree_remove_node()
861 PTN_BRANCH_SLOT(parent, parent_slot) = in ptree_remove_node()
868 nodep = &PTN_BRANCH_SLOT(parent, parent_slot); in ptree_remove_node()
877 removep = &PTN_BRANCH_SLOT(parent, parent_slot); in ptree_remove_node()
882 parent = ptn; in ptree_remove_node()
883 parent_slot = ptree_testnode(pt, target, parent); in ptree_remove_node()
884 bitoff += PTN_BRANCH_BITLEN(parent); in ptree_remove_node()
905 KASSERT((removep == NULL) == (parent == &pt->pt_rootnode)); in ptree_remove_node()
911 if (__predict_false(PTN_ISROOT_P(pt, parent))) { in ptree_remove_node()
913 KASSERT(parent == &pt->pt_rootnode); in ptree_remove_node()
921 KASSERT((parent == target) == (removep == nodep)); in ptree_remove_node()
922 if (PTN_BRANCH(parent) == PTN_BRANCH_SLOT(target, PTN_BRANCH_POSITION(parent))) { in ptree_remove_node()
929 const pt_slot_t slot = PTN_BRANCH_POSITION(parent); in ptree_remove_node()
931 const pt_bitlen_t parent_bitlen = PTN_BRANCH_BITLEN(parent); in ptree_remove_node()
933 KASSERT(PTN_BRANCH_BITOFF(target) < PTN_BRANCH_BITOFF(parent)); in ptree_remove_node()
962 PTN_BRANCH_SLOT(parent, parent_slot ^ PT_SLOT_OTHER); in ptree_remove_node()
963 *nodep = ptree_move_branch(pt, parent, target); in ptree_remove_node()
978 KASSERT(PTN_ISMASK_P(parent)); in ptree_remove_node()
979 KASSERT(slot == ptree_testnode(pt, parent, target)); in ptree_remove_node()
980 PTN_BRANCH_SLOT(parent, slot) = PTN_LEAF(parent); in ptree_remove_node()
981 PTN_BRANCH_SLOT(parent, other_slot) = in ptree_remove_node()
983 PTN_SET_LEAF_POSITION(parent,slot); in ptree_remove_node()
984 PTN_SET_BRANCH_BITLEN(parent, 1); in ptree_remove_node()
986 PTN_SET_BRANCH_BITOFF(parent, PTN_BRANCH_BITOFF(target)); in ptree_remove_node()
987 PTN_SET_BRANCH_POSITION(parent, PTN_BRANCH_POSITION(target)); in ptree_remove_node()
989 *nodep = PTN_BRANCH(parent); in ptree_remove_node()
995 if (__predict_false(PTN_BRANCH_BITLEN(parent) == 0)) { in ptree_remove_node()
1004 KASSERT(PTN_ISMASK_P(parent)); in ptree_remove_node()
1005 KASSERT(parent != target); in ptree_remove_node()
1006 *removep = PTN_LEAF(parent); in ptree_remove_node()
1023 uintptr_t other_node = PTN_BRANCH_SLOT(parent, other_slot); in ptree_remove_node()
1024 const pt_slot_t target_slot = (parent == target ? branch_slot : leaf_slot); in ptree_remove_node()
1036 if (parent == target) { in ptree_remove_node()
1053 PTN_BRANCH_ODDMAN_SLOT(&pt->pt_rootnode) = PTN_LEAF(parent); in ptree_remove_node()
1061 KASSERT(PTN_BRANCH_BITOFF(parent) > PTN_BRANCH_BITOFF(target)); in ptree_remove_node()
1062 *nodep = ptree_move_branch(pt, parent, target); in ptree_remove_node()
1068 ptree_check_find_node2(const pt_tree_t *pt, const pt_node_t *parent, in ptree_check_find_node2() argument
1071 const pt_bitlen_t slots = 1 << PTN_BRANCH_BITLEN(parent); in ptree_check_find_node2()
1075 const uintptr_t node = PTN_BRANCH_SLOT(parent, slot); in ptree_check_find_node2()
1076 if (PTN_BRANCH_SLOT(parent, slot) == node) in ptree_check_find_node2()
1077 return parent; in ptree_check_find_node2()
1080 const uintptr_t node = PTN_BRANCH_SLOT(parent, slot); in ptree_check_find_node2()
1093 ptree_check_leaf(const pt_tree_t *pt, const pt_node_t *parent, in ptree_check_leaf() argument
1100 const bool is_parent_root = (parent == &pt->pt_rootnode); in ptree_check_leaf()
1105 ok = ok && PTN_BRANCH_ODDMAN_SLOT(parent) == leaf_node; in ptree_check_leaf()
1110 if (is_mask && PTN_ISMASK_P(parent) && PTN_BRANCH_BITLEN(parent) == 0) { in ptree_check_leaf()
1111 ok = ok && PTN_MASK_BITLEN(parent) < mask_len; in ptree_check_leaf()
1113 ok = ok && PTN_BRANCH_BITOFF(parent) < mask_len; in ptree_check_leaf()
1116 ok = ok && PTN_BRANCH_SLOT(parent, leaf_position) == leaf_node; in ptree_check_leaf()
1118 ok = ok && leaf_position == ptree_testnode(pt, ptn, parent); in ptree_check_leaf()
1130 ptree_check_branch(const pt_tree_t *pt, const pt_node_t *parent, in ptree_check_branch() argument
1133 const bool is_parent_root = (parent == &pt->pt_rootnode); in ptree_check_branch()
1137 const pt_bitoff_t parent_bitoff = PTN_BRANCH_BITOFF(parent); in ptree_check_branch()
1138 const pt_bitoff_t parent_bitlen = PTN_BRANCH_BITLEN(parent); in ptree_check_branch()
1139 const bool is_parent_mask = PTN_ISMASK_P(parent) && parent_bitlen == 0; in ptree_check_branch()
1141 const pt_bitoff_t parent_mask_len = PTN_MASK_BITLEN(parent); in ptree_check_branch()
1147 ok = ok && PTN_BRANCH_SLOT(parent, branch_slot) == PTN_BRANCH(ptn); in ptree_check_branch()
1149 ok = ok && branch_slot == ptree_testnode(pt, ptn, parent); in ptree_check_branch()
1199 const pt_node_t * const parent = &pt->pt_rootnode; in ptree_check() local
1203 ok = ok && PTN_BRANCH_BITOFF(parent) == 0; in ptree_check()
1204 ok = ok && !PTN_ISMASK_P(parent); in ptree_check()
1210 ok = ok && ptree_check_leaf(pt, parent, ptn); in ptree_check()
1212 ok = ok && ptree_check_branch(pt, parent, ptn); in ptree_check()