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).
|
Log message:
sbcl: Update to 1.4.3. Changes since 1.3.21:
changes in sbcl-1.4.3 relative to sbcl-1.4.2:
* enhancement: SLEEP respects deadlines established by SB-SYS:WITH-DEADLINE.
* bug fix: DECODE-TIMEOUT and operators accepting a timeout no longer signal
an error when called with an argument that is of type (real 0) but not
(unsigned-byte 62) (lp#1727789)
* bug fix: fixed heap exhaustion bug when consing millions of small objects
* bug fix: sb-safepoint builds are now a lot less prone to deadlocks and odd
crashes (lp#1424031, lp#1268710)
* bug fix: argumentless CALL-NEXT-METHOD where specialized-to-T or
unspecialized parameters are mutated now uses the original (non-mutated)
parameter values (lp#1734771)
* bug fix: memory faults from lisp no longer use (thread-and-interrupt
unsafe) global storage for fault addresses (everywhere), and now have
cleaner backtraces (on x86 and x86-64). (lp#309068)
* bug fix: pathnames with a directory component of the form
(:absolute {:up,:wild,:wild-inferiors}) no longer fail to unparse.
(lp#1738775)
* bug fix: more reliable signal handling on macOS.
changes in sbcl-1.4.2 relative to sbcl-1.4.1:
* minor incompatible change: SB-EXT:QUIT is no longer marked as deprecated
and behaves like SB-EXT:EXIT.
* enhancement: ASDF updated to 3.3.1. The ASDF release is dedicated to
the late Elias Pipping who put enormous amounts of work into it despite
his terminal illness. Thank you and rest in peace. (lp#1681201)
* enhancement: alien routines compiled with '-fsanitize=thread' and/or
'-fsanitize=memory' cause fewer false positives in error reporting.
* optimization: fewer instances of consing float constants at runtime.
* bug fix: a number of compiler bugs detected by Paul F. Dietz' randomized
tester. (lp#1731503, lp#1730699, lp#1723993, lp#1730434, lp#1661911,
lp#1729639, lp#1729471, lp#1728692)
* bug fix: better errors from NAMESTRING and friends on pathnames with no
namestrings. (lp#792154)
* bug fix: EQUAL and EQUALP compiler transforms were too confident in
deriving a result. (lp#1732277, lp#1732225)
* bug fix: FILL sometimes returned the underlying data vector rather than
the given array. (lp#1732553)
* bug fix: SEARCH returned the wrong answer in some cases. (lp#1732952)
* bug fix: the type (COMPLEX INTEGER) behaves more as specified by Function
TYPEP, which has stronger constraints than System Class COMPLEX.
(Reported by Eric Marsden, lp#1733400)
changes in sbcl-1.4.1 relative to sbcl-1.4.0:
* optimization: faster foreign callbacks.
* enhancement: complex arrays can be stack allocated.
* enhancement: PROCESS-KILL now exists on win32 and PROCESS-PID actually
returns the PID.
* optimization: the register allocation method used by the compiler when
optimizing for speed is now faster for functions with large bodies.
* bug fix: SB-INTROSPECT:ALLOCATION-INFORMATION works on big-endian CPUs
(fixes lp#490490 for real rather than by disabling a test)
* bug fix: code objects and bignums of large enough size to be placed
on GC pages without any other object no longer cause accidental copying
during garbage collection. (gencgc only)
* bug fix: sb-fasteval failure with 0-argument lambdas (lp#1722715)
* bug fix: RUN-PROGRAM doesn't leak handles on win32 and PROCESS-CLOSE
doesn't crash. (lp#1724472)
changes in sbcl-1.4.0 relative to sbcl-1.3.21:
* minor incompatible change: DESTRUCTURING-BIND treats non-toplevel () as
nested empty pattern. This seems to be what the standard mandates, so
conforming code should not be affected.
* ehancement: (GC :GEN 7) with gencgc will zero-fill dead pseudo-static
objects so that they do not spuriously cause reachability of objects that
would have been otherwise dead.
* enhancement: PROCESS-STATUS now tracks stopped and continued processes
properly (also fixes lp#1624941, based on patch by Elias Pipping).
* bug fix: INSPECT handles errors signaled while printing slot
values. (lp#454682)
* bug fix: DESCRIBE works on classes like it used to.
* bug fix: *LOAD-PATHNAME* and *LOAD-TRUENAME* are bound to pathnames
when processing a sysinit or userinit file
* bug fix: save-lisp-and-die is able to collect more garbage on non-x86oid
gencgc targets.
* bug fix: fixed out-of-bounds array read in optimized POSITION on bit-vectors
* bug fix: signal emulation respects the 128-byte stack red zone on x86-64
macOS.
|