use-pll-file

Function

Package: excl

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. 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.

The documentation is described in introduction.htm and the index is in index.htm.

Copyright (c) 1998-2000, Franz Inc. Berkeley, CA., USA. All rights reserved.

Created 2000.10.5.