Lines Matching defs:gc
270 thmap_gc_t *const gc = THMAP_GETPTR(thmap, gcaddr);
271 gc->len = len;
272 return THMAP_GETOFF(thmap, &gc->data[0]);
280 thmap_gc_t *const gc = container_of(ptr, struct thmap_gc, data[0]);
281 const uintptr_t gcaddr = THMAP_GETOFF(thmap, gc);
283 KASSERTMSG(gc->len == len, "thmap=%p ops=%p addr=%p len=%zu"
284 " gc=%p gc->len=%zu",
285 thmap, thmap->ops, (void *)addr, len, gc, gc->len);
965 thmap_gc_t *head, *gc;
967 gc = container_of(ptr, struct thmap_gc, data[0]);
968 KASSERTMSG(gc->len == len,
969 "thmap=%p ops=%p ptr=%p len=%zu gc=%p gc->len=%zu",
970 thmap, thmap->ops, (char *)addr, len, gc, gc->len);
973 gc->next = head; // not yet published
976 if (!atomic_compare_exchange_weak_explicit_ptr(&thmap->gc_list, &head, gc,
993 thmap_gc_t *gc = ref;
995 while (gc) {
996 thmap_gc_t *next = gc->next;
997 gc_free(thmap, THMAP_GETOFF(thmap, &gc->data[0]), gc->len);
998 gc = next;