public phys_clicks alloc_mem (phys_clicks clicks) {
register struct hole *hp, *prev_ptr;
phys_clicks old_base;
hp = hole_head;
while (hp != NIL_HOLE) {
if (hp->h_len >= clicks) {
old_base = hp->h_base;
hp->h_base += clicks;
hp->h_len -= clicks;
if (hp->h_len > 0)
return old_base;
del_slot (prev_ptr, hp);
return old_base;
}
prev_ptr = hp;
hp = hp->h_next;
}
return old_base;
}
mm/mproc.h
mm/gloc.h
mm/const.h
mm/alloc.c
mm/main.c
mm/table.c
mm/forkexit.c
mm/exec.c
mm/break.c
mm/signal.c
mm/getset.c
mm/putc.c
alloc_mem ()
free_mem ()
del_slot ()
merge ()
max_hole ()
mem_init ()