A function of one argument, the object.
A generalized boolean, default value
Applies function to all the live objects in the image. Normally it is not useful to sweep objects in generation 0 because they are ephemeral, so by default
sweep-all-objects does not sweep generation 0. This can be changed by passing a non-nil value as gen-0.
function should take one argument, the object. It can allocate, but if it allocates heavily the sweeping becomes unreliable. Small amounts of allocation will normally happen only in generation 0, and so will not affect sweeping of other generations.
sweep-all-objects reliably, do it inside with-other-threads-disabled.
In 64-bit LispWorks there is a more specific alternative: function sweep-gen-num-objects can be used to call a function on all live objects in a particular generation.
LispWorks User Guide and Reference Manual - 13 Feb 2015