0 for the most recent generation, 1 for the most recent two generations, and so on up to a maximum (usually 3). Numbers outside this range signal an error.
A real number.
A real number between 0 and 1, defining the minimum fragmentation to actually compact. The default is 0.25.
finds the most fragmented segment in the generation specified. If
is positive, it compacts this segment, and repeats this operation until time-threshold seconds have elapsed. At this point
returns, with value
if at least one segment was compacted and value
otherwise. Because the operation cannot be stopped in the middle, the actual time taken will always be larger than time-threshold.
If fraction-threshold is 1,
does nothing. If fraction-threshold is 0,
will compact all uncompacted segments (unless it runs out of time). With the default (0.25)
compacts only moderately fragmented segments.
is negative, then
does not actually compact any segments.
is a boolean indicating whether
would actually try to compact a segment if it were to be called with a positive
and the other arguments unchanged.
is implemented only in 32-bit LispWorks. It is not relevant to the Memory Management API in 64-bit implementations, where marking-gc with the
argument offers similar functionality ( although set-blocking-gen-num is intended to solve the problem of fragmentation automatically).