FunctionPackage: systemToCDocOverviewCGDocRelNotesFAQIndexPermutedIndex
Allegro CL version 8.1
Unrevised from 8.0 to 8.1.
8.0 version

resize-areas

Arguments: &key old old-symbols new global-gc tenure expand 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
new
old-symbols (ignored)

For old and new arguments, the number of bytes which should be free in that area (oldspace and newspace) after this function returns. Other gsgc parameters may affect the number of free bytes, so the values specified are lower limits. Since release 5.0, no platform stores symbols separately in oldspace so the value of old-symbols has no effect. old (and old-symbols) default to 0. new defaults to

(+ (gsgc-parameter :free-bytes-new-pages) (sys:gsgc-parameter :free-bytes-new-other)))

global-gc If true, 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 true 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 true 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.


Copyright (c) 1998-2009, Franz Inc. Oakland, CA., USA. All rights reserved.
Documentation for Allegro CL version 8.1. This page was not revised from the 8.0 page.
Created 2009.7.29.

ToCDocOverviewCGDocRelNotesFAQIndexPermutedIndex
Allegro CL version 8.1
Unrevised from 8.0 to 8.1.
8.0 version