changes in sbcl-2.2.4 relative to sbcl-2.2.3:
* enhancement: better constraint propagation in the compiler. Specifically,
the compiler can now derive the type of X in control flow join situations
such as
(LAMBDA (X) (ECASE (1 ...) (2 ...)) X)
or
(LAMBDA (X) (ETYPECASE (INTEGER ...) (SYMBOL ...)) X)
instead of forgetting all information about X after the E(TYPE)CASE.
* optimization: inlined functions enclosed in local macro definitions no
longer save their entire lexical environment, reducing unnecessary
memory retention.
* optimization: faster (< integer fixnum) comparisons (ARM64 and x86-64).
* platform support:
** RUN-PROGRAM is faster on Linux and FreeBSD if close_range(2) is
available.
* bug fix: block compilation now interacts more correctly with the creation
of new packages.
* bug fix: internal compiler error in array reference
optimizer. (lp#1966624)