All Manuals > LispWorks User Guide and Reference Manual > 10 Storage Management > 10.3 Memory Management in 32-bit LispWorks > 10.3.2 Allocation of objects

NextPrevUpTopContentsIndex Allocation of static objects

Objects that cannot be moved are allocated in special segments, called static segments. These can be in any generation, but are in generation 2 by default.

Such objects include:

Because static objects are not allowed to move, the static segments are not allowed to move. This implies that if there is a static segment in a high address the image size cannot be reduced below this size. Applications that use a lot of static area normally allocate additional static segments, and thus grow without being able to shrink again. This can be prevented by enlarging the initial static segment, which is in a low address. Use the function enlarge-static to increase the size of the initial static segment. (Use (room t) to find its current size.)

LispWorks User Guide and Reference Manual - 21 Dec 2011