Lines Matching refs:avail
31 suballocator->rem.avail, \
40 suballocator->rem.avail, \
82 suballocator->rem.avail = 1;
143 skc_uint avail_rem = suballocator->rem.avail;
149 struct skc_subbuf * const avail = suballocator->subbufs + avail_id;
151 assert(avail->inuse == 0);
153 if (avail->size == size_ru) // size matches exactly
163 avail->inuse += 1;
165 assert(avail->inuse == 1);
167 // update rem avail count
168 suballocator->rem.avail = --avail_rem;
170 // replace now inuse id with last avail id
180 assert(suballocator->rem.avail > 0);
183 return avail->origin;
185 else if ((avail->size > size_ru) && (spare_rem > 0)) // requested is less than available so split it
204 struct skc_subbuf * const prev = avail->prev;
211 spare->next = avail;
213 spare->origin = avail->origin;
218 avail->prev = spare;
219 avail->size -= size_ru;
220 avail->origin += size_ru;
222 assert(suballocator->rem.avail > 0);
283 skc_uint const last_idx = --suballocator->rem.avail;
286 assert(suballocator->rem.avail > 0);
317 assert(suballocator->rem.avail > 0);
330 assert(suballocator->rem.avail > 0);
344 skc_uint avail_idx = suballocator->rem.avail++;
351 assert(suballocator->rem.avail > 0);