Lines Matching refs:best
30 lws_dsh_obj_t *best; member
111 (!s->best || obj->asize < s->best->asize)) { in search_best_free()
112 s->best = obj; in search_best_free()
262 s.best = NULL; in _lws_dsh_alloc_tail()
269 if (!s.best) { in _lws_dsh_alloc_tail()
278 if (!s.best) { in _lws_dsh_alloc_tail()
286 assert(!(((unsigned long)s.best) & (sizeof(int *) - 1))); in _lws_dsh_alloc_tail()
288 if (s.best->asize < asize + (2 * sizeof(*s.best))) { in _lws_dsh_alloc_tail()
296 lws_dll2_remove(&s.best->list); in _lws_dsh_alloc_tail()
297 s.best->dsh = s.dsh; in _lws_dsh_alloc_tail()
298 s.best->size = size1 + size2; in _lws_dsh_alloc_tail()
299 memcpy(&s.best[1], src1, size1); in _lws_dsh_alloc_tail()
301 memcpy((uint8_t *)&s.best[1] + size1, src2, size2); in _lws_dsh_alloc_tail()
304 s.best->list.prev = replace->prev; in _lws_dsh_alloc_tail()
305 s.best->list.next = replace->next; in _lws_dsh_alloc_tail()
306 s.best->list.owner = replace->owner; in _lws_dsh_alloc_tail()
308 replace->prev->next = &s.best->list; in _lws_dsh_alloc_tail()
310 replace->next->prev = &s.best->list; in _lws_dsh_alloc_tail()
313 lws_dll2_add_tail(&s.best->list, &dsh->oha[kind].owner); in _lws_dsh_alloc_tail()
315 assert(s.dsh->locally_free >= s.best->asize); in _lws_dsh_alloc_tail()
316 s.dsh->locally_free -= s.best->asize; in _lws_dsh_alloc_tail()
317 s.dsh->locally_in_use += s.best->asize; in _lws_dsh_alloc_tail()
330 __func__, s.best->asize, s.best->asize - asize); in _lws_dsh_alloc_tail()
332 s.best->asize -= asize; in _lws_dsh_alloc_tail()
336 obj = (lws_dsh_obj_t *)(((uint8_t *)s.best) + s.best->asize); in _lws_dsh_alloc_tail()
348 s.best->list.prev = replace->prev; in _lws_dsh_alloc_tail()
349 s.best->list.next = replace->next; in _lws_dsh_alloc_tail()
350 s.best->list.owner = replace->owner; in _lws_dsh_alloc_tail()
352 replace->prev->next = &s.best->list; in _lws_dsh_alloc_tail()
354 replace->next->prev = &s.best->list; in _lws_dsh_alloc_tail()