Path to this page:
Subject: CVS commit: pkgsrc/lang/sbcl
From: Robert Swindells
Date: 2019-08-13 17:16:54
Message id: 20190813151654.B70A7FBF4@cvs.NetBSD.org
Log Message:
Update to 1.5.5, change maintainer to pkgsrc-users. Changes since 1.4.3:
Changes between version 1.5.4 and version 1.5.5
* platform support: - SunOS: bug reports and patches from Richard Lowe
in sb-posix tests (#1837495), sb-concurrency tests (#1837817),
unencapsulated tracing (#1837307), float registers in interrupt
contexts (#1837168)
* bug fix: do not generate version.lisp-expr from git describe if the
git repository is not sbcl's own. (#1836663, thanks to Richard Lowe)
* bug fix: compiler crash related to VALUES-LIST on a &REST argument in
some contexts. (#1836096, reported by Samuel Jimenez)
* bug fix: compiler hang related to constraint propagation. (#1835599,
reported by Mark Cox)
* bug fix: the inspector showed the wrong array element type. (#1835934,
reported by Richard M Kreuter)
* optimization: numerous improvements to hash table access and rehashing
* optimization: ASSERT compiles into substantially more compact code.
(#1835221)
Changes between version 1.5.3 and version 1.5.4
* minor incompatible change: hash tables on 64-bit machines consume roughly
20% less memory but can only grow to hold 2^31 entries (theoretically)
due to use of 31-bit indices internally.
* platform support: - RISC-V: improve rotate-byte support (thanks to Philipp
Matthias Schaefer)
* bug fix: the system reasons more correctly regarding the array rank of
complicated array types. (reported by Bart Botta)
* bug fix: DOUBLE-FLOAT-P never gets weaked to NUMBERP. (reported by Bart
Botta)
* enhancement: the regression test suite can now benefit from paralellism,
completing much faster when enough compute power is available.
* optimization: readtables with non-base-char dispatch characters are less
inefficient.
* optimization: INTERN performs fewer redundant type checks.
* optimization: tests for PATHNAMEP and STRUCTURE-OBJECT (including in
computing hash functions) are faster.
Changes between version 1.5.2 and version 1.5.3
* platform support: - RISC-V: numerous bug fixes and improvements - all
platforms: better run-program performance when used from multiple threads.
* enhancement: (declaim (optimize (debug 2))) ensures compilation of
top-level forms, providing better debugging for simple forms that are
otherwise "byte-code interpreted" when compiled into FASLs.
* bug fix: use of finalizers could in rare circumstances cause a crash in
the garbage collector.
* bug fix: show extended function designators, e.g. (setf foo), in the
disassembler
* optimization: reduced overhead of calling NTH/NTHCDR.
* optimization: improved FLOAT-SIGN on DOUBLE-FLOATs on 64-bit platforms
Changes between version 1.5.1 and version 1.5.2
* enhancement: RISC-V support with the generational garbage collector.
* enhancement: command-line option "--tls-limit" can be used to alter
the maximum number of thread-local symbols from its default of 4096.
* enhancement: better muffling of redefinition and lambda-list warnings
* platform support: - OS X: use Grand Central Dispatch semaphores, rather
than Mach semaphores - Windows: remove non-functional definition of
make-listener-thread
* new feature: decimal reader syntax for rationals, using the R exponent
marker and/or *READ-DEFAULT-FLOAT-FORMAT* of RATIONAL.
* optimization: various Unicode tables have been packed more efficiently
Changes between version 1.5.0 and version 1.5.1
* enhancement: restarts for missing package errors.
* optimization: FIND-PACKAGE should be faster even when run in the context
of a package with local package-nicknames.
* optimization: fix TRUNCATE deftransform's results to have well-defined
signs
* bug fix: thread-safety problems in RUN-PROGRAM with :PTY.
* bug fix: SLEEP transform could never fire.
* build enhancement: defend against quirky host floating point implementation
* test enhancement: allow more parallelism in running the regression test
suite
Changes between version 1.4.16 and version 1.5.0
* enhancement: SB-COVER emulates IN-PACKAGE when recording source maps;
this makes it possible to generate coverage for forms that uses local
package nicknames, or otherwise must be read in the correct package.
* build enhancement: new host quirks mechanism, support for building
under ABCL and ECL (as well as CCL, CMUCL, CLISP and SBCL itself)
* optimization: (FIND-SYMBOL x "P") for constant "P" \
executes faster,
subject to "P" not being a package-local nickname of any package.
Similarly INTERN. (#1814924)
* optimization: bounds checks are elided when possible where the same
array is dereferenced multiple times.
* bug fix: initargs are now deduplicated when computing effective slots.
* bug fix: TREE-EQUAL with :TEST 'EQL now correctly computes its answer.
(reported by Bahodir Mansurov)
* bug fix: compiled (COERCE x 'FLOAT) no longer coerces double-floats into
single-floats. (reported by J. Gareth Williams)
Changes between version 1.4.15 and version 1.4.16
* minor incompatible change: ENSURE-DIRECTORIES-EXIST no longer
establishes a CONTINUE restart in case of an error.
* minor incompatible change: Defining macros (DEFVAR, etc) which require
a symbol as the name will fail to macroexpand if given a non-symbol.
* enhancement: the unexported restart names SB-{ALIEN,FASL,IMPL,PCL}::RETRY
have been replaced by SB-EXT:RETRY.
Changes between version 1.4.14 and version 1.4.15
* enhancement: added AVX2 instructions on x86-64, which can be used with
SB-SIMD-PACK.
* enhancement: specializer name parsing is less lenient and signals a
specific condition in case of syntax errors. (#1808681)
* enhancement: provide interactive restarts for some file-system errors.
* enhancement: COMPILE no longer acquires the world lock. (fixes most
occurrences of #308959)
* bug fix: RUN-PROGRAM is more responsive and less likely to deadlock
(#1702178, #1808641)
* bug fix: traceroot can search for simple-fun targets (#1808659,
reported by Michal Herda)
* compiler bug fixes:
related to code generation: #1805899, #1806982, #1807455
related to interpreting and constant-folding: #1806513
related to the type system: #1804759, #1804796
related to eq-testing of structure slots: #1809582, #1808273
related to dynamic-extent: #1809565, #1809253, #1809485, #1739652
related to GC safety: #308949
Changes between version 1.4.13 and version 1.4.14
* enhancement: attempting to build on openbsd 6.0 or newer without the
wxallowed mount option now results in a more useful error message.
* enhancement: by popular demand, SB-EXT now exports two functions
HEAP-ALLOCATED-P and STACK-ALLOCATED-P to assist in writing debug
assertions that objects in hash-tables are not stack-allocated, etc.
* bug fix: restored sb-thread support on OpenBSD.
Changes between version 1.4.12 and version 1.4.13
* minor incompatible change: PRINT-TYPE and PRINT-TYPE-SPECIFIER are not
exported from SB-EXT. These were never announced, so this change would
only affects users who discovered these undocumented functions.
* enhancement: SB-EXT:SEARCH-ROOTS and SB-EXT:GC-AND-SEARCH-ROOTS are
supported on all backends that use gencgc.
Changes between version 1.4.11 and version 1.4.12
* minor incompatible change: a number of platform-specific elements of
*FEATURES* related to whether the system implements particular
strategies have been removed.
* minor incompatible change: some changes to the (internal) implementation
details of the x86 and x86-64 have necessitated changes to some
low-level libraries.
* enhancement: attempting to transfer control through GO or RETURN-FROM
to frames which no longer exist are now caught and handled by the debugger.
* enhancement: identical code (at the machine instruction level) can now
be shared between functions, if explicitly requested.
* enhancement: SB-EXT:STRING-TO-OCTETS and SB-EXT:OCTETS-TO-STRING are
now documented.
* bug fixes: fix a number of bugs revealed by random testing (#1793171,
#1793150, #1791550, #1792030, #1791059, #1790157, #1790717, #1790703)
Changes between version 1.4.10 and version 1.4.11
* minor incompatible change: changes to the (internal) assembler on x86
and x86-64 may cause problems to some low-level third-party libraries:
new macro EA for defining an effective address, without size
information;
an explicit size modifier is now needed for MOVSX and MOVSZ
instructions;
MOVD and MOVQ move a single size of operand by definition.
* enhancement: support the latest MinGW (#1786731, reported by il71)
* enhancement: checks for modifications of constants can now be done in
local (FLET/LABELS) functions.
* optimization: improved type checking routines for various compound types.
* optimization: array bound checks are elided on vectors when the index
is known to be less than the length, including LOOP ACROSS.
* optimization: the register allocator's use of temporaries is somewhat
improved.
* optimization: checking widetags involves fewer conditional jumps on x86
and x86-64.
* bug fix: fix a number of bugs related to constant improper lists as
sequence arguments (#1768563, #1768568, #1768652)
Changes between version 1.4.9 and version 1.4.10
* enhancement: added SB-EXT:MAKE-WEAK-VECTOR.
* enhancement: constant-modification detection warnings can be generated
in the presence of conditional constructs.
* optimization: better bounds-checking on x86[-64] and ARM64.
* optimization: adding 1 to or subtracting 1 from a fixnum variable does
not cons.
* bug fixes: fix a number of bugs revealed by random testing (#1782826,
#1779878, #1779737)
Changes between version 1.4.8 and version 1.4.9
* enhancement: SB-COVER instrumentation for x86[-64] has signficantly
less overhead. The performance penalty for 64-bit code has been
measured at around 30% slower than uninstrumented code as contrasted
with slowdowns in excess of 100% previously.
* enhancement: tracing a generic function with the :METHODS T option
produces output corresponding to each method called under the default
:ENCAPSULATE NIL tracing implementation.
* bug fix: updated TRACE documentation. (#574614 was actually already
fixed, but there were other issues.)
* bug fix: fixed x86 GC bug causing heap corruption. (#1749369)
* bug fix: improved compatibility with macOS High Sierra and graphical
applications.
Changes between version 1.4.7 and version 1.4.8
* bug fix: redefinition of method combinations now does the expected
thing; generic functions using that method combination have their
effective methods lazily recomputed according to the new definition
of the method combination. (Reported by Didier Verna at ELS 2018)
* bug fix: :arguments argument to the long form of DEFINE-METHOD-COMBINATION
is now implemented more correctly, supporting suppliedp variables and
&optional defaults. (Reported by Bruno Haible, #309084)
Changes between version 1.4.6 and version 1.4.7
* enhancement: better handling of unknown keyword arguments (#1750466)
* enhancement: namestrings can now be computed for certain pathnames
that previously did not have namestrings because of #\. characters
in their name and/or type components.
* bug fix: compiling a SLEEP call with a float positive infinity
argument no longer causes an internal error (#1754081)
* bug fix: keyword arguments provided to a generic function with
EQL-specialized methods are checked more correctly (reported by
Syll, #1760987)
Changes between version 1.4.5 and version 1.4.6
* enhancement: DISASSEMBLE on a symbol naming a macro will
disassemble the expander, not the code that traps attempted
FUNCALL of the macro.
* enhancement: The sb-sprof contrib now provides an experimental
interface for accessing collected profiler data.
* enhancement: The instruction-level profiling of the sb-prof contrib
annotates the disassembler output more efficiently.
* optimization: improved dynamic-extent handling of nested variables.
Changes betweenNew in version 1.4.5
* minor incompatible change: building with/without the :sb-package-locks
feature is no longer an option. Package locks are always compiled in,
and removing :sb-package-locks from *features* will have no effect.
* enhancement: FIND-PACKAGE does not acquire a mutex
* enhancement: cheneygc can perform heap relocation on startup
* enhancement: in threaded builds, finalizers execute in a system-internal
thread so that a user thread which invokes GC is unblocked from
performing work as soon it returns from GC and invokes any post-GC hooks.
As such, it is more important than before to avoid assumptions about
special variable bindings in finalizers, even in single-threaded code.
* optimization: faster (funcall (or function symbol)) on x86-64.
Changes between version 1.4.3 and version 1.4.4
* bug fix: pathname accessors such as PATHNAME-DIRECTORY work on
SYNONYM-STREAMs.
* bug fix: (pathname-{device,directory,name,type} ... :case :common) works
as expected. In particular MAKE-PATHNAME composed with the accessors
roundtrips properly when both use the same :case. (#1739906)
* bug fix: DIRECTORY no longer gets confused when the value of
*DEFAULT-PATHNAME-DEFAULTS* has a name or type component. (#1740563)
* bug fix: pattern pieces in pathname components are correctly
escaped during unparsing.
* bug fix: DELETE-DIRECTORY no longer signals an error when the
directory is supplied as a pathname with name and/or type
components containing escaped characters. (#1740624)
* bug fix: weak hash-tables no longer cause GC time to scale
superlinearly (#1241771)
* bug fix: CANCEL-FINALIZATION operates in approximately constant
time per operation (#1587983)
* bug fix: big-endian MIPS systems now (mostly) work again (broken
since 1.3.14.x).
* bug fix: backtrace from arg-count errors on systems other than x86,
x86-64, ARM, and ARM64 now works again.
* bug fix: backtrace from asynchronous interrupts on non-x86,
non-x86-64 systems should now be more reliable.
* enhancement: warnings and errors referring to bindings established by
LET, LET*, FLET and LABELS point to the offending form more accurately.
* enhancement: backtrace for invalid argument count produces the
exact supplied arguments including the extra ones on all platforms
(no longer just x86, x86-64, ARM, and ARM64).
Files: