sbcl-2.0.8 released
Christophe Rhodes <[email protected]> Mon, 31 Aug 2020 15:29:51 +0100
| Newsgroups | gmane.lisp.steel-bank.announce |
|---|---|
| Message-ID | <87mu2asxb4.fsf@shin> |
Dear all,
I've tagged sbcl-2.0.8 and uploaded sources to Sourceforge.
This release's primary new feature is a reworking of the thread
initialization, which should lead to much faster thread starting. It's
worth pointing out that this exposed race conditions in our own
regression test suite and in various applications; if this sounds like
it might be an issue for you, take a little care when upgrading. A list
of the changes in this release is appended below.
Advance warning of a couple of upcoming changes:
* we are likely to issue stronger diagnostics, and possibly change
run-time behaviour, of slot initforms (both of DEFSTRUCT and DEFCLASS)
incompatible with declared types.
(defstruct foo (bar nil :type integer))
and
(defclass foo () ((bar :initform nil :initarg :bar :type integer)))
both formally invoke implementation-defined or undefined behaviour
if an instance is ever constructed without an initarg. A portable way
of saying that the initform is never used is to omit it completely
(from DEFCLASS) or to replace it with an (ERROR ...) form (in
DEFSTRUCT).
* residual support for the Alpha and PA-RISC platforms will be removed;
no-one has the expertise or the hardware to bring them back to a
working state, and the costs of carrying the divergent and
non-functional code are now too large to accept.
Best wishes,
Christophe
changes in sbcl-2.0.8 relative to sbcl-2.0.7:
* platform support:
** added support for NetBSD/ARM64;
** threads on Linux now have OS-visible names;
** removed unnecessary emulation of pthread functions on Windows;
** work around a sigwait() bug on Mac OS X;
** allow safepoint build on Mac OS X, though it probably doesn't
work very well (reported by Chris Wagner, lp#1382811)
** removed stub support for HPUX.
* optimization: SB-THREAD:MAKE-THREAD is faster on most platforms.
* optimization: faster RATIONAL when the result is a RATIO.
* optimization: improved cross-type comparisons (float/ratio/bignum).
* bug fix: EQUALP on pathnames was wrong
* bug fixes: fix compiler issues in:
** COUNT (lp#1889391)
** VECTOR-LENGTH (lp#1888919)
** constant-folding (lp#1888384)
** FIND and POSITION (lp#1887316)