An integer between 0 and 7, inclusive.
An integer greater than 12800, or a real in the inclusive range [0 100], or
set-gen-num-gc-threshold sets the threshold for additional allocation that triggers a garbage collection (GC) in generation gen-num when this is the blocking generation (as set by set-blocking-gen-num). A GC is triggered when the allocation in generation gen-num grows more than threshold over the allocation after the last GC of this generation (or a GC of a higher generation).
To set the threshold, threshold can be an integer greater than 12800, which is interpreted as the absolute value. Alternatively threshold can be a real number in the inclusive range [0 100], which is multiplied by the allocation since the previous GC to get the actual threshold to set.
The default threshold for all generations is 1. That is, for all generations gen-num, when generation gen-num is the blocking generation and allocation in it has doubled since the previous GC, generation gen-num is collected automatically.
set-gen-num-gc-threshold can be called when the generation gen-num is not the blocking generation, and will set the value for that gen-num. Such a call will not take effect until the generation gen-num becomes the blocking generation, as set by a call to set-blocking-gen-num (with
set-gen-num-gc-threshold is implemented only in 64-bit LispWorks. It does nothing in the Mobile GC and its return value is not meaningful. It is not relevant to the Memory Management API in 32-bit implementations.
LispWorks User Guide and Reference Manual - 20 Sep 2017