3
/* Clear out all allocated space.
5
** Written by Kiem-Phong Vo, kpv@research.att.com, 01/16/94.
8
int vmclear(Vmalloc_t* vm)
18
reg Vmdata_t* vd = vm->data;
20
if(!(vd->mode&VM_TRUST) )
26
vd->free = vd->wild = NIL(Block_t*);
29
if(vd->mode&(VM_MTBEST|VM_MTDEBUG|VM_MTPROFILE) )
30
{ vd->root = NIL(Block_t*);
31
for(s = 0; s < S_TINY; ++s)
32
TINY(vd)[s] = NIL(Block_t*);
33
for(s = 0; s <= S_CACHE; ++s)
34
CACHE(vd)[s] = NIL(Block_t*);
37
for(seg = vd->seg; seg; seg = next)
41
size = seg->baddr - ((Vmuchar_t*)tp) - 2*sizeof(Head_t);
45
if((vd->mode&(VM_MTLAST|VM_MTPOOL)) )
48
{ SIZE(tp) |= BUSY|JUNK;
49
LINK(tp) = CACHE(vd)[C_INDEX(SIZE(tp))];
50
CACHE(vd)[C_INDEX(SIZE(tp))] = tp;
53
tp = BLOCK(seg->baddr);