THMAP_GETOFF
gc_free(thmap, THMAP_GETOFF(thmap, &gc->data[0]), gc->len);
return THMAP_GETOFF(thmap, thmap->root);
uintptr_t root = THMAP_GETOFF(thmap, thmap->root);
return THMAP_GETOFF(thmap, &gc->data[0]);
const uintptr_t gcaddr = THMAP_GETOFF(thmap, gc);
node->parent = THMAP_GETOFF(thmap, parent);
gc_free(thmap, THMAP_GETOFF(thmap, leaf), sizeof(thmap_leaf_t));
node_insert(node, slot, THMAP_GETOFF(thmap, leaf) | THMAP_LEAF_BIT);
nptr = THMAP_GETOFF(thmap, node);
target = THMAP_GETOFF(thmap, leaf) | THMAP_LEAF_BIT;
target = THMAP_GETOFF(thmap, other) | THMAP_LEAF_BIT;
atomic_store_release(&parent->slots[slot], THMAP_GETOFF(thmap, child));
target = THMAP_GETOFF(thmap, leaf) | THMAP_LEAF_BIT;
stage_mem_gc(thmap, THMAP_GETOFF(thmap, node), THMAP_INODE_LEN);
ASSERT(THMAP_GETOFF(thmap, parent) == nptr);
stage_mem_gc(thmap, THMAP_GETOFF(thmap, leaf), sizeof(thmap_leaf_t));