Path to this page:
Subject: CVS commit: pkgsrc/lang/sbcl
From: Robert Swindells
Date: 2023-08-31 23:05:39
Message id: 20230831210539.6E1EFFBDB@cvs.NetBSD.org
Log Message:
Update to sbcl 2.3.8.
Add dependency on devel/gmp.
Set MKPIE_SUPPORTED to no.
Changes in sbcl-2.3.8 relative to sbcl-2.3.7
* enhancement: a mark-region parallel garbage collector is
available as a build-time option; it can be enabled by adding
`--without-gencgc --with-mark-region-gc` to the build command
line. (Thanks to Hayley Patton)
* enhancement: Stack allocation via DYNAMIC-EXTENT is now possible
for conditionals even when not all branches are
stack-allocatable. Previously all branches needed to be
stack-allocatable for the otherwise-inaccessible subparts to get
stack allocated.
* platform support:
* on Mac OS X Sonoma, loading the memory image no longer
fails. (#2029430, reported by cladur)
* on Darwin, we no longer reimplement nanosleep().
* on PPC64, undefined function errors now work.
* on ARM64/OpenBSD, enable the GCC TLS feature. (thanks to
Sébastien Marie)
* when building the system, only display a reasonable amount
of timing precision. (thanks to Philipp Marek)
* bug fix: handling of inlining functions compiled to return
unboxed values no longer crashes the compiler. (#2029020,
reported by Pascal J. Bourguignon)
* bug fix: the source location for code executed within a
top-level (EVAL-WHEN (:COMPILE-TOPLEVEL) ...) form is now more
useful.
* bug fix: address a race between user threads cancelling
finalizers and the finalizer thread executing them. (#2029306)
* bug fix: complex division returns the same value when evaluated
inline and out-of-line. (#2030097)
* bug fix: the pretty-printer no longer deletes
syntactically-significant whitespace immediately preceding a
newline. (#1985814, reported by Mark David)
* optimization: the compiler is more aware of the result type of
the NUMERATOR function.
* optimization: EQUAL and EQUALP compile to more efficient code
when the two arguments are known to be of the same nullable
type.
* optimization: converting bignums to floats uses no intermediate memory.
Changes in sbcl-2.3.7 relative to sbcl-2.3.6
* minor incompatible change: MACROLET macro functions are now
compiled with (SPEED 1), leading to fewer efficiency notes being
emitted when compiled in otherwise high-SPEED environments.
* minor incompatible change: when coalescing list data, the file
compiler respects substructure equality more accurately, with
the side-effect of coalescing along CDR chains as well as
CARs. (#2025086)
* minor incompatible change: FUNCTION type declarations for local
variables generate assertions around their use when called.
* platform support
* on OpenBSD, the regression test suite expectations have been
updated. (#2026809, thanks to Sebastien Marie)
* on OpenBSD, the data limit is now 1GB. (#2027536, thanks to
Sebastien Marie)
* on Darwin with the SB-FUTEX feature, do not use unpaired
mach_thread_self() syscalls, avoiding resource leaks when
creating threads.
* on 64-bit RISCV, add support for some REM-by-multiplication
optimizations.
* on Windows, work around a C compiler bug relating to SYSV_ABI.
* bug fix: FILE-POSITION on string output streams no longer
crashes or causes arbitrary memory overwrites. (#1839040)
* bug fix: the compiler no longer constant-folds POSITION to NIL
if the START or END arguments are not valid.
* optimization: the compiler derives types of &KEY arguments in
local calls. (#655562)
* optimization: type tests of values of known union type can be
faster if the type being tested for has a non-trivial
intersection with the known type.
* optimization: the low-level implementation of NUMBERP, REALP and
RATIONALP has been improved on x86-64 and arm64.
* optimization: the compiler removes known-NIL arguments from
calls to APPEND and NCONC, and empty sequences from calls to
CONCATENATE.
* optimization: checks for symbols being bindable are now
memoized, speeding up compiled uses of PROGV.
* optimization: SLOT-VALUE on STRUCTURE-OBJECTs with non-constant
slot-name argument is faster.
Files: