New in version 1.3.12

enhancement: on x86-64, compiled functions loaded from fasl files
can not be moved, but can be freed, by GC. Additionally, COMPILE will
produce immobile code if SB-C::*COMPILE-TO-MEMORY-SPACE* is set to
:IMMOBILE. (Caution: the flag is experimental and subject to change.)
The benefits are better physical separation of code from data,
and potentially easier examination of live images by external tools.

enhancement: the docstring for SAVE-LISP-AND-DIE has been amended to
say that the :ROOT-STRUCTURES parameter is not meaningless on gencgc,
depending on the platform.

bug fix: calling a named function (e.g. a DEFUN) concurrently with
redefining that same function could lead to execution of random bytes.

optimization: better GC performance in the presence of many threads.
(patch by Ilya Perminov, #1339924)

optimization: multiple-value-call is optimized with multiple argument
forms, not just one. (#753803)

bug fix: MAKE-ALIEN-STRING returns the number of allocated bytes as a
second value as advertised (reported by Johann 'Myrkraverk' Oskarsson)

bug fix: when TO-READTABLE is supplied to COPY-READTABLE, it will
contain only the macros in FROM-READTABLE and no others. (#1631506)

enhancement: gencgc has been modified for x86-64 on Linux and macOS
to a support mark-and-sweep as well as the traditional copying strategy.
It is conceivable that some applications might be adversely affected.
Please see ':immobile-space' in 'base-target-features.lisp-expr'
for further details, and possible reasons to disable this feature.

enhancement: x86-64 supports shrinking the fixed overhead in a structure
from 2 words to 1 word, reducing memory consumption in applications
which create many small structures.