|
From: Christophe R. <cs...@ca...> - 2025-10-27 17:39:49
|
Dear all,
SBCL 2.5.10 is now available from the usual places. The most pertinent
user-visible changes in this release are summarized below; you might
also wish to know that we have had sporadic reports of garbage
collection instability during the freeze periods -- nothing that was
apparently systematic or reproducible, but you may wish to exercise more
than the usual amount of caution when upgrading.
Christophe
changes in sbcl-2.5.10 relative to sbcl-2.5.9:
* platform support:
** handling of "./" and "../" in pathname functions on Windows is improved.
(lp#2125908, reported by khbit)
** use x29 for the control frame pointer on arm64, improving backtrace
tooling.
** provide a plugin to lldb to display backtraces (contrib/lldb_bt.py).
** an experimental option for performing GC without interrupting and
stopping foreign function calls. Enabled via --with-nonstop-foreign-call
(for arm64, x86-64 (outside of Windows, where that's already the case.))
* bug fix: some interactions between TWO-WAY-STREAM (and ECHO-STREAM) and
user-defined streams have been cleaned up.
* bug fix: the SB-COVER contributed module can now annotate source files
containing COMPLEX literals. (A number of other more minor cosmetic
issues have also been fixed).
* bug fix: compiler crash from reoptimizing with some stale type information.
(lp#2125944)
* optimization: SLOT-VALUE calls with known slot-name on values which are of
type (OR NULL <STRUCT>) are transformed to a null check and a structure
access.
* optimization: the compiler will apply constraints to the result of calling
RANDOM. (lp#2126978, thanks to Vasily Postnicov)
* optimization: the compiler will perform type derivation on CL:APPLY called
with a known function.
* optimization: fusion of type checking and move of 64-bit integers is
enabled on arm64 and x86-64.
* optimization: allocation fusion for (PUSH (CONS A B) LIST) on x86-64.
* optimization: improvements of type derivation for float rounding operations.
* optimization: constant folding when one of the arguments is
(if v constant1 constant2)
|