make-permanent-simple-vector creates a
simple-vector of length size with initial element initial-element as if by the call
), except that it is allocated as a permanent object when possible.
make-permanent-simple-vector is intended mainly for allocating large
simple-vector objects in the Mobile GC (that is, those that can be made permanent). When not in the Mobile GC, it does not do anything that make-array cannot do, but it may be convenient sometimes.
When simple-vector is permanent, and you do not need it any more, then you need to release it by release-object-and-nullify.
In the Mobile GC with large vectors, if initial-element is not supplied or it is an immediate or a permanent object,
make-permanent-simple-vector is much better than using make-object-permanent after a call to make-array, because it knows that it does not contain pointers to a lower generation.
LispWorks User Guide and Reference Manual - 20 Sep 2017