Path to this page:
Subject: CVS commit: pkgsrc/lang/sbcl
From: Robert Swindells
Date: 2021-01-18 00:00:18
Message id: 20210117230019.0481DFA9D@cvs.NetBSD.org
Log Message:
Update to version 2.1.0.
Changes since version 2.0.7
New in version 2.1.0
* minor incompatible change: the MAKE-EA internal function, used
in the assembler, has been removed (affecting some libraries
defining their own Virtual Operations)
* new feature: SB-EXT:PRIMITIVE-OBJECT-SIZE can be used to
interrogate the low-level size in memory of objects. (#1636910,
reported by anquegi)
* platform support:
* pass required -std argument to the compiler on Solaris
(#1885751, thanks to Jesse Off)
* better treatment of non-ASCII program arguments on Windows
(#1907970, reported by Timofei Shatrov)
* implement the improved TYPEP with structure types on all
other supported platforms (32-bit PowerPC, ARM, ARM64, MIPS,
SPARC, RISC-V)
* enhancement: stream dispatch (to vanilla ANSI / Gray / Simple
variants) has been rewritten and optimized, fixing a number of
bugs including:
* performance of WRITE-SEQUENCE on composite streams (#309136)
* handling of CLOSE on SYNONYM-STREAM (#1904257, reported by
Richard M Kreuter)
* handling of CLOSE on BROADCAST-STREAM with no components
(#1904722, reported by Richard M Kreuter)
* loading SB-SIMPLE-STREAMS breaks functionality of other
stream classes (#1908132)
* some excessive consing in READ-LINE
* enhancements related to RUN-PROGRAM:
* improved the documentation related to the ARGS argument
(#806733, reported by mon_key)
* added a PRESERVE-FDS argument
* bug fix: ensure that TYPE-OF returns something even on internal
instances, which may become visible in the debugger. (#1908261,
reported by Philipp Marek)
* bug fix: iteration variables established by standard forms
should always be considered used by the compiler. (#719585,
reported by Roman Marynchak)
* bug fix: don't allow compiler transformations to weaken the
requirement against extended (list-form) function names in
FUNCALL and related operators. (#310069)
* bug fix: improve automated version number generation in
branches. (#897867, thanks to Martin Cracauer)
* bug fix: add possibly-spurious futex wakes when unwinding from a
call to futex-wait, to avoid deadlocks from interrupted
waits. (#1038034)
* bug fixes in the compiler:
* error on malformed DESTRUCTURING-BIND (#1738638)
* error on malformed SPECIAL declaration (#1740756)
* error from use of VALUES type in COERCE (#1887712)
* enforcement of FTYPE types involving &OPTIONAL (#1903932)
* checking for proper-list-ness before applying transforms (#1905512)
* compilation of LAMBDA form including a malformed DEFUN (#1906056)
* memory fault from VALUES-related handling in high DEBUG code
(#1906563)
* transforms handle explicit NIL arguments in :END arguments
to SEARCH (#1907924)
* bug fix: return COMPILED-FUNCTION for TYPE-OF on compiled
functions. (#1906583)
* some bugs were also closed in this release cycle as obsolete,
having been fixed by the passage of time or other change in the
environment:
* floating point error reporting on OS X (#309454)
* load-shared-library not working from non-main threads on OS
X (#592425)
* optimization: CONSTANTLY on constant arguments returns a more
efficient function. (#1852585)
* optimization: perform fewer Lisp/Alien representation
conversions in callbacks.
* optimization: perform fewer redundant widetag tests when doing
type tests of complicated union types.
* optimization: signed-integer division on machine-word sized
operands is now implemented using multiplication, affecting
TRUNCATE, FLOOR, CEILING, MOD and REM. (This optimization was
already performed on unsigned-integer division)
New in version 2.0.11
* minor incompatible change: (ARRAY NIL (*)) is not a subtype of
STRING, as is consistent with a majority of maintained CL
implementations.
* minor incompatible change: ARRAY-RANK-LIMIT is decreased from
65529 to 256
* optimization: TYPEP on structure types is faster and more
compact on x86[-64] and ppc64.
* optimization: LOGCOUNT is faster on arm64.
* optimization: SIGNUM can be inlined if its argument type is
known. (#1903533)
* bug fix: compiler crash in tail call handling. (#1903938)
* bug fix: crash in traceroot. (#1903419, reported by Michal Herda)
* bug fix: DESCRIBE called with a string as second argument no
longer mutates that string. (#1903901, reported by Michal Herda)
* bug fix: stack clobbering by 256-bit SIMD packs on
x86-64. (#1901685, reported by Marco Heisig)
New in version 2.0.10
* minor incompatible change: the funarg given to
SB-SPROF:MAP-TRACES does not receive a wallclock time with each
trace.
* minor incompatible change: INTERNAL-TIME-UNITS-PER-SECOND has
been increased to 10^6 on 64-bit architectures.
* minor incompatible change: SIGPIPE is ignored by default again. (#1897624)
* minor incompatible change: the system code compiled under the
:LINKAGE-TABLE feature is now unconditionally compiled in, and
the corresponding entry in *FEATURES* has been removed.
* enhancement: style-warnings are issued for variables which have
an assignment but no "for-value reference" (per CLHS glossary
entry)
* bug fix: SB-CLTL2:MACROEXPAND-ALL did not expand
MULTIPLE-VALUE-BIND and MULTIPLE-VALUE-SETQ
* bug fix: CPUID-based feature detection had an index/mask
confusion (#1899239)
* bug fix: fix a deadlock on Windows (#1896802)
* bug fix: eliminate type errors when wall clocks go back
(#1028026, #1032111)
* bug fix: fix EOF handling in read-char-no-hang on concatenenated
streams (#690408, reported by Willem Broekema)
* bug fix: fix MAP-INTO on extended sequences (#1855375, thanks to
James Kalenius)
* bug fix: SB-GMP can now raise -1, 0 and 1 to the power of a
bignum. (thanks to Aaron Chen)
* bug fixes in tests:
* add a C function declaration (#1897627, thanks to Bob Felts)
* parse vmmap output more liberally (#1897722, reported by Bob Felts)
New in version 2.0.9
* incompatible change: HPPA and DEC Alpha architecture support has
been removed.
* minor incompatible change: the compiler signals a warning at
compile-time when an initform of T, NIL or 0 does not match a
STANDARD-CLASS slot's declared type.
* minor incompatible change: the runtime no longer uses SIGPIPE
internally, so the signal is deliverable to user code as is
customary. Ignoring the signal - in lieu of the OS default of
process termination - is obtainable via (SB-SYS:ENABLE-INTERRUPT
SB-UNIX:SIGPIPE :IGNORE).
* platform support:
* a number of obsolete portability layers (particularly on the
Windows platform) have been removed in favour of direct
calling of the native interfaces.
* RUN-PROGRAM now accepts a :WINDOW argument to control
whether a subprocess window should be displayed. (Thanks to
Luis Borges de Oliveira)
* the use of futexes implied by :SB-FUTEX is now implemented on FreeBSD.
* bug fix: SB-SPROF can distinguish between SBCL-internal assembly routines.
* bug fix: SB-SPROF has better output in its reports for anonymous
functions.
* optimization: CALL-NEXT-METHOD with supplied arguments in
required positions is now faster if the supplied arguments are
EQL to the original arguments.
New in version 2.0.8
* platform support:
* added support for NetBSD/aarch64;
* 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, #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 (#1889391)
* VECTOR-LENGTH (#1888919)
* constant-folding (#1888384)
* FIND and POSITION (#1887316)
Files: