PTN_BRANCH_BITLEN
const pt_bitlen_t slots = 1 << PTN_BRANCH_BITLEN(parent);
const pt_bitlen_t bitlen = PTN_BRANCH_BITLEN(ptn);
if (is_mask && PTN_ISMASK_P(parent) && PTN_BRANCH_BITLEN(parent) == 0) {
const pt_bitoff_t bitlen = PTN_BRANCH_BITLEN(ptn);
const pt_bitoff_t parent_bitlen = PTN_BRANCH_BITLEN(parent);
const pt_bitlen_t bitlen = PTN_BRANCH_BITLEN(ptn);
const pt_bitlen_t bitlen = PTN_BRANCH_BITLEN(ptn);
PTN_BRANCH_BITLEN(ptn), pt->pt_context);
KASSERT(PTN_BRANCH_BITLEN(src) == 1);
KASSERT(PTN_BRANCH_BITLEN(mask) == 1);
KASSERT(node == pt->pt_root || PTN_BRANCH_BITOFF(id->id_parent) + PTN_BRANCH_BITLEN(id->id_parent) <= id->id_bitoff);
KASSERT(!(PTN_ISMASK_P(ptn) && PTN_BRANCH_BITLEN(ptn) == 0) || PTN_MASK_BITLEN(ptn) == branch_bitoff);
id.id_bitoff += PTN_BRANCH_BITLEN(id.id_parent);
if (PTN_ISMASK_P(ptn) && PTN_BRANCH_BITLEN(ptn) == 0
bitoff += PTN_BRANCH_BITLEN(parent);
KASSERT(PTN_ISROOT_P(pt, parent) || PTN_BRANCH_BITOFF(parent) + PTN_BRANCH_BITLEN(parent) == bitoff);
&& PTN_ISMASK_P(ptn) && PTN_BRANCH_BITLEN(ptn) == 0)
if (PTN_ISMASK_P(ptn) && PTN_BRANCH_BITLEN(ptn) == 0) {
if (slot != (pt_slot_t)((1 << PTN_BRANCH_BITLEN(ptn)) - 1))
KASSERT(PTN_ISMASK_P(PT_NODE(node)) && PTN_BRANCH_BITLEN(PT_NODE(node)) == 0);
&& PTN_BRANCH_BITLEN(ptn) == 0)
slot = (1 << PTN_BRANCH_BITLEN(ptn)) - 1;
if (at_mask && PTN_BRANCH_BITLEN(ptn) == 0) {
bitoff += PTN_BRANCH_BITLEN(parent);
const pt_bitlen_t parent_bitlen = PTN_BRANCH_BITLEN(parent);
if (__predict_false(PTN_BRANCH_BITLEN(parent) == 0)) {
#define PTN_ISSLOTVALID_P(ptn,slot) ((slot) < (1 << PTN_BRANCH_BITLEN(pt)))
PTN__EXTRACT((ptn)->ptn_branchdata, PTN_BRANCH_BITLEN)
PTN__INSERT((ptn)->ptn_branchdata, PTN_BRANCH_BITLEN, bitlen)