Lines Matching refs:entry_t
46 template <typename queue_t, typename entry_t>
52 compare(queue_t que, entry_t a, entry_t b);
125 template <typename queue_t, typename entry_t>
127 using entry_traits = pqueue_entry_traits<queue_t, entry_t>;
130 pack_child(entry_t e, const entry_t child) in pack_child()
138 static inline entry_t
139 unpack_child(entry_t e) in unpack_child()
142 return (entry_t)(vm_memtag_insert_tag(e->child, e->tag)); in unpack_child()
144 return (entry_t)e->child; in unpack_child()
149 merge_parent_is_subtree_b(queue_t que, entry_t subtree_a, entry_t subtree_b) in merge_parent_is_subtree_b()
157 static inline entry_t
158 merge_pair_inline(queue_t que, entry_t subtree_a, entry_t subtree_b) in merge_pair_inline()
160 entry_t merge_result = NULL; in merge_pair_inline()
166 entry_t parent = subtree_a; in merge_pair_inline()
167 entry_t child = subtree_b; in merge_pair_inline()
188 static entry_t
189 merge_pair(queue_t que, entry_t subtree_a, entry_t subtree_b) in merge_pair()
195 static entry_t
196 meld_pair(queue_t que, entry_t elt) in meld_pair()
198 entry_t pq_meld_result = NULL; in meld_pair()
199 entry_t pair_list = NULL; in meld_pair()
209 entry_t pair_item_a = elt; in meld_pair()
210 entry_t pair_item_b = elt->next; in meld_pair()
220 entry_t pair = merge_pair_inline(que, pair_item_a, pair_item_b); in meld_pair()
237 list_clear(entry_t e) in list_clear()
243 list_remove(entry_t elt) in list_remove()
262 sift_down(queue_t que, entry_t elt) in sift_down()
287 sift_up(queue_t que, entry_t elt) in sift_up()
299 static inline entry_t
300 remove_non_root(queue_t que, entry_t elt) in remove_non_root()
302 entry_t child, new_root; in remove_non_root()
333 entry_t head = que->pq_root;
334 entry_t tail = head;
337 entry_t child_list = unpack_child(head);
345 entry_t elt = head;
351 que->pq_root = (entry_t)(~0ul);
355 insert(queue_t que, entry_t elt, bool clear = true) in insert()
364 static inline entry_t
365 remove_root(queue_t que, entry_t old_root) in remove_root()
367 entry_t new_root = unpack_child(old_root); in remove_root()
379 remove(queue_t que, entry_t elt) in remove()
391 entry_increased(queue_t que, entry_t elt) in entry_increased()
401 entry_decreased(queue_t que, entry_t elt) in entry_decreased()
413 #define PRIORITY_QUEUE_MAKE_IMPL(pqueue_t, queue_t, entry_t) \ argument
415 using pqueue_t = pqueue<queue_t, entry_t>; \
426 priority_queue_insert(queue_t que, entry_t elt) \
431 __pqueue_overloadable extern entry_t \
438 priority_queue_remove(queue_t que, entry_t elt) \
444 priority_queue_entry_decreased(queue_t que, entry_t elt) \
450 priority_queue_entry_increased(queue_t que, entry_t elt) \