Sets a function or functions to call after an automatic GC in 64-bit LispWorks.
system
set-automatic-gc-callback blocking-gen-num-func &optional other-func => other-func
blocking-gen-num-func⇩ | |
A function designator for a function of two arguments, or nil . | |
other-func⇩ |
A function designator for a function of one argument, or nil . |
other-func |
A function designator for a function of one argument, or nil . |
The function set-automatic-gc-callback
sets a function or functions to call after an automatic garbage collection (GC).
If blocking-gen-num-func is a function designator it should take two arguments: the generation number and, if do-gc in the last call to set-blocking-gen-num was a number, the number of copied segments. It is called whenever the blocking generation is garbage collected automatically. If blocking-gen-num-func is nil
, then this callback is switched off.
If other-func is a function designator it should take one argument, the generation number that was garbage collected. It is called whenever an automatic GC occurred and blocking-gen-num-func was not called, either because the blocking generation was not garbage collected, or because blocking-gen-num-func was passed as nil
. If other-func is nil
(the default) then this callback is switched off.
The calls occur after the GC has finished and there is no restriction on what they can do. If the call ends up allocating enough to trigger another automatic GC, they enter again recursively.
set-automatic-gc-callback
is implemented only in 64-bit LispWorks. It is not relevant to the Memory Management API in 32-bit implementations.
set-blocking-gen-num
11.4 Memory Management in 64-bit LispWorks
LispWorks® User Guide and Reference Manual - 01 Dec 2021 19:31:02