5.3 Garbage collection
5.3.2 The Ephemeral Garbage Collector
The Ephemeral Garbage Collector is enabled by default. Memory is divided into the dynamic storage space and the ephemeral space. The ephemeral storage areas are created in space taken from the reserved area. By default, the ephemeral space consists of three ephemeral levels. Lisp objects are created in ephemeral level 0. Each time a pointer to an object is changed, a pointer record is updated that records the location of the object. Whenever ephemeral level 0 is full, the Ephemeral Garbage Collector is invoked and performs the following procedure:
- It locates valid objects by searching the pointer record for the ephemeral level that is being reclaimed.
- It copies valid objects from the full ephemeral level to the next ephemeral level.
- If the next level becomes full, the first two steps are performed on that level.
- If the last ephemeral level becomes full, the Dynamic Garbage Collector is called to copy valid Lisp objects from the last ephemeral level to the current dynamic semi-space.
- When garbage collection is finished, new objects are again created in the first ephemeral level.
- 5.3.2.1 - Disabling ephemeral garbage collection
-
- 5.3.2.2 - Modifying ephemeral storage allocation
-
The User's Guide - 9 SEP 1996 Generated with Harlequin WebMaker