Some procedures allocate a vector (or two) of length (fixnum-width), by calling the utility procedure fixnum->bitvector. This might be possible to avoid, but I don't know of a way without significantly complicating the code.
Other than that, care is taken to avoid allocation, for example in variable-arity procedures, by supporting up to a number of fixed arities (generally 5) and resorting to allocating a rest-argument list only if there are more arguments.
Some procedures allocate a vector (or two) of length
(fixnum-width)
, by calling the utility procedurefixnum->bitvector
. This might be possible to avoid, but I don't know of a way without significantly complicating the code.Other than that, care is taken to avoid allocation, for example in variable-arity procedures, by supporting up to a number of fixed arities (generally 5) and resorting to allocating a rest-argument list only if there are more arguments.