Lines Matching refs:root
109 if(vd->root)
110 return vmintree(vd->root, b);
192 if(vd->root && vmchktree(vd->root) < 0 )
263 reg Block_t *t, *root, *l, *r;
267 if((root = wanted) && size == TINYSIZE)
270 l = TLEFT(root);
271 if((r = LINK(root)) )
279 SEG(root) = seg;
281 { if((Vmuchar_t*)root > (Vmuchar_t*)seg->addr &&
282 (Vmuchar_t*)root < seg->baddr)
283 { SEG(root) = seg;
288 return root;
291 /**/ASSERT(!vd->root || vmchktree(vd->root) == 0);
295 if((root = vd->root) ) do
296 { /**/ ASSERT(!ISBITS(size) && !ISBITS(SIZE(root)));
297 if(size == (s = SIZE(root)) )
300 { if((t = LEFT(root)) )
302 { RROTATE(root,t);
305 t = LEFT(root);
312 RLINK(r,root);
315 { if((t = RIGHT(root)) )
317 { LROTATE(root,t);
320 t = RIGHT(root);
327 LLINK(l,root);
329 /**/ ASSERT(root != t);
330 } while((root = t) );
332 if(root) /* found it, now isolate it */
333 { RIGHT(l) = LEFT(root);
334 LEFT(r) = RIGHT(root);
341 if((root = LEFT(&link)) )
342 { while((t = LEFT(root)) )
343 RROTATE(root,t);
344 LEFT(&link) = RIGHT(root);
348 if(root && (r = LINK(root)) )
349 { /* head of a link list, use next one for root */
360 vd->root = r; /**/ASSERT(!r || !ISBITS(SIZE(r)));
362 /**/ASSERT(!vd->root || vmchktree(vd->root) == 0);
363 /**/ASSERT(!wanted || wanted == root);
365 return root;
509 if(!(np = vd->root) ) /* inserting into an empty tree */
510 { vd->root = fp;
633 /**/ ASSERT(!vd->root || !vmintree(vd->root,bp));
718 if(vd->root && (tp = bestsearch(vd,size,NIL(Block_t*))) )
1463 NIL(Block_t*), /* root */