Lines Matching defs:seg

45 	Seg_t		*seg, *last;
53 for(last = NIL(Seg_t*), seg = vd->seg; seg; last = seg, seg = seg->next)
54 { if(!(tp = seg->free) || (SIZE(tp)+sizeof(Head_t)) < size)
57 { last->next = seg->next;
58 seg->next = vd->seg;
59 vd->seg = seg;
66 { seg = SEG(tp);
75 SEG(next) = seg;
76 seg->free = next;
78 else seg->free = NIL(Block_t*);
80 vd->free = seg->last = tp;
100 Seg_t *seg;
113 { seg = vd->seg;
115 { if(seg->free )
116 s = (Vmuchar_t*)(seg->free) - (Vmuchar_t*)data;
117 else s = (Vmuchar_t*)BLOCK(seg->baddr) - (Vmuchar_t*)data;
123 SEG(fp) = seg;
124 SIZE(fp) = ((Vmuchar_t*)BLOCK(seg->baddr) - (Vmuchar_t*)data) - sizeof(Head_t);
125 seg->free = fp;
126 seg->last = NIL(Block_t*);
146 Seg_t *seg;
168 seg = vd->seg;
171 for(seg = vd->seg; seg; seg = seg->next)
172 if(data >= seg->addr && data < (Void_t*)seg->baddr)
174 if(!seg || (VLONG(data)%ALIGN) != 0 ||
175 (seg->last && (Vmuchar_t*)data > (Vmuchar_t*)seg->last) )
182 if(data != seg->last)
183 { if(seg->last && (Vmuchar_t*)data < (Vmuchar_t*)seg->last)
184 oldsize = (Vmuchar_t*)seg->last - (Vmuchar_t*)data;
185 else oldsize = (Vmuchar_t*)BLOCK(seg->baddr) - (Vmuchar_t*)data;
189 { s = (Vmuchar_t*)BLOCK(seg->baddr) - (Vmuchar_t*)data;
190 if(!(tp = seg->free) )
194 seg->free = NIL(Block_t*);
202 addr = (*vm->disc->memoryf)(vm, seg->addr, seg->extent,
203 seg->extent+ds, vm->disc);
204 if(addr == seg->addr)
206 seg->size += ds;
207 seg->extent += ds;
208 seg->baddr += ds;
209 SIZE(BLOCK(seg->baddr)) = BUSY;
229 if(s >= 0 && seg != vd->seg)
231 SEG(tp) = seg;
233 seg->free = tp;
238 seg = vd->seg;
239 s = (Vmuchar_t*)BLOCK(seg->baddr) -
241 seg->free = NIL(Block_t*);
250 SEG(tp) = seg;
252 seg->free = tp;
255 vd->free = seg->last = (Block_t*)data;
284 if(!vd->free || addr < (Void_t*)vd->free || addr >= (Void_t*)vd->seg->baddr)
309 else if(vd->seg->free)
310 size = (long)((Vmuchar_t*)vd->seg->free - (Vmuchar_t*)addr);
311 else size = (long)((Vmuchar_t*)vd->seg->baddr - (Vmuchar_t*)addr - sizeof(Head_t));
328 Seg_t *seg, *next;
333 for(seg = vd->seg; seg; seg = next)
334 { next = seg->next;
336 if(!(fp = seg->free))
339 seg->free = NIL(Block_t*);
340 if(seg->size == (s = SIZE(fp)&~BITS))
341 s = seg->extent;
344 if((*_Vmtruncate)(vm,seg,s,1) == s)
345 seg->free = fp;
366 Seg_t *seg;
384 for(seg = vd->seg; seg; seg = seg->next)
385 if(seg->last == (Block_t*)data)
387 /**/ASSERT(seg);
395 if((s = (seg->baddr - (Vmuchar_t*)next)) >= sizeof(Block_t))
396 { SEG(next) = seg;
398 seg->free = next;
401 vd->free = seg->last = (Block_t*)data;