FunctionPackage: exclToCDocOverviewCGDocRelNotesFAQIndexPermutedIndex
Allegro CL version 8.2
Moderate update since 8.2 release.
8.1 version

use-pll-file

Arguments: file &key global-gc

If the current Lisp has no .pll file, an association is made with the file file and the heap is remapped to use the resulting new pure space. An error is signaled if the current Lisp already has a .pll file. All code vectors in the heap are redirected if they have a corresponding bit-equivalent code vector in the file specified by file. Strings are redirected if they have equivalents in file, and if they appear as symbol-names in symbols, or if they appear in the constant vectors of function objects. All other strings must be purified by the program using excl::maybe-purify-string or pure-string, documented elsewhere. Warning: the program must be careful not to purify a string that is not a constant; if subsequent modification of string contents is attempted, an error will be signaled.

The global-gc argument defaults to t. Specifying nil for this argument allows the user to delay the global GC until all strings are purified. A global GC is necessary to remove all old code vectors and strings that have now been replaced in pure space.

You should ensure that there are no closed old areas before performing a global gc intended to get rid of purified strings. Do the following before the call to use-pll-file or before the final global gc:

((setf (sys:gsgc-parameter :open-old-area-fence) 0)

See System parameters and switches in gc.htm for information on the :open-old-area-fence gsgc parameter.

There are other ways a global gc can automatically occur. See gc.htm, particularly section Global garbage collection, for more information on global GCs and for general information on garbage collection.


Copyright (c) 1998-2016, Franz Inc. Oakland, CA., USA. All rights reserved.
This page was not revised from the 8.1 page.
Created 2010.1.21.

ToCDocOverviewCGDocRelNotesFAQIndexPermutedIndex
Allegro CL version 8.2
Moderate update since 8.2 release.
8.1 version