$Revision: 5.0.2.4 $
Package: SYSTEM
Arguments: (&key old old-symbols new global-gc
tenure expand pack-areas sift-old-areas pack-heap verbose)
This function attempts to restructure the Lisp heap according to the programmer's wishes. These wishes may call for old or new space to be increased in size (usually doable unless the operating system refuses to give up the needed extra space) or to be reduced in size (sometimes doable, but gaps -- foreign data -- above newspace or between the top oldspace and newspace may prevent resizing). Note that other gsgc parameters or requirements may also prevent resizing. This function can modify newspace, the top oldspace, and can coalesce two or more adjacent oldspace areas into one. Arguments control whether a global gc and/or tenuring of objects in newspace are forced prior to resizing.
Argument | Values and effects |
verbose | If non-nil (default nil), print information about what function is doing. |
old | For each argument, the number of bytes which should be free in
that area (oldspace, oldspace symbols, newspace) after this function returns. Other gsgc
parameters may affect the number of free bytes, so the values specified are lower limits.
No 5.0 platforms stores symbols separately in oldspace so the value of old-symbols
has no effect in release 5.0. old and old-symbols default to 0. new
defaults to
|
old-symbols | |
new | |
global-gc | If non-nil , do a global gc before other actions. Defaults to nil
but note that a (perhaps second) global gc is also done later if sift-old-areas
and pack-heap are both t . |
tenure | If non-nil then tenure all possible data in newspace after
processing the global-gc keyword argument but before any other keyword values.
Defaults to nil . |
expand | If non-nil then expand oldspace or symbol oldspace if
necessary, otherwise do nothing if the requested amount is not free. Defaults to t . |
sift-old-areas | Move data in oldspace down to the oldest oldspace area possible. The hope
is that the lower (older) oldspace areas will fill up, leaving the higher (newer) areas
empty (or emptier). If both this argument and pack-heap are true, a global gc
will occur after sifting and then adjacent empty oldspace areas will be coalesced if
possible. Defaults to t . The global gc that occurs if this argument and pack-heap
are both true can take an appreciable time so make this argument nil when
time is an issue. |
pack-heap | Reduce the size of the top (newest) old area as much as possible. Defaults
to t . |
See gc.htm for more information on garbage collection and gsgc parameters.
The general documentation description is in introduction.htm. The index is in index.htm.
Copyright (C) 1998-1999, Franz Inc., Berkeley, CA. All Rights Reserved.