sbcl-2.4.2 released
Christophe Rhodes <[email protected]> Thu, 29 Feb 2024 08:15:35 +0000
| Newsgroups | gmane.lisp.steel-bank.announce |
|---|---|
| Message-ID | <[email protected]> |
Dear all,
Happy Leap Day! I have seized the moment in this extra day to release
sbcl-2.4.2; the version is tagged in git, and artifacts are on their way
around the world to mirrors near you. Notable changes in this version
are summarized below.
Best wishes,
Christophe
changes in sbcl-2.4.2 relative to sbcl-2.4.1:
* bug fix: restore the ability to inherit from both SEQUENCE and
SB-MOP:FUNCALLABLE-STANDARD-OBJECT. (lp#2050088, reported by Christophe
Junke)
* bug fix: COERCE will not convert lambda forms to functions if given a type
naming a (strict) subclass of FUNCTION.
* bug fix: LOG with a double-float and a ratio argument (in either order) do
not lose precision through a single-float intermediate argument.
* bug fix: LOG to the base 2 of integer powers of 2 are more likely to get
the mathematically precise answer.
* bug fix: LOG on ratios very near 1 with numerator or denominator being
near a power of 2 will use log1p and so will lose less precision.
* bug fix: the utf-8 external format with Unix line-endings updates its
character size information when taking the fast path for a buffer of ascii
characters. (lp#2054169, reported by John Carroll)
* bug fix: don't print the contents of a possibly no-longer-valid
dynamic-extent cons in PRINT-OBJECT method for THREAD objects.
(lp#2026195, reported by Jake Connor)
* bug fix: place external entry points for functions consistently before any
local functions. (lp#2051169, reported by Fedorov Alexander)
* bug fix: remove unactionable optimization notes for backquoted forms and
ordinary calls to APPEND at high speed. (lp#2051401, reported by Robert
Brown)
* bug fix: infinite loop in COPY-SEQ on zero-length arrays of element-type
NIL. (lp#2051759, reported by Devon Sean McCullough)
* bug fix: fix compilation of non-top-level struct constructors.
(lp#2052329, reported by Robert Poitras)
* bug fixes in SB-SIMD:
** improve bounds checking in SB-SIMD. (lp#2012010, reported by Patrick
Poitras)
** fix SB-SIMD AVX f64.4-reverse (lp#2012986, thanks to Ari Projansky)
** fix SB-SIMD shuffles on AVX and SSE2 (lp#2012990, reported by Ari
Projansky)
** fix lifetimes in sse+xmm0 VOPs (lp#2015329, reported by Ari Projansky)
* optimization: a number of internal tables, particularly those related to
Unicode support have been converted to use perfect hash mechanisms,
improving both speed and space.
* optimization: FIND, POSITION, ASSOC and RASSOC with constant sequence
arguments containing symbols as keys are compiled to perfect hash lookups.
* optimization: the compiler runs a jump-to-jump elimination pass on x86-64.
* system integrity: compiling the system itself on x86-64/linux now produces
bitwise-identical cross-compiled fasls whether the build host is cmucl,
ccl, clisp or sbcl itself.