-
sbcl-2.2.3cb5e4205 · ·
changes in sbcl-2.2.3 relative to sbcl-2.2.2: * minor incompatible change: SB-THREAD:MUTEX-OWNER may return :THREAD-DEAD if the apparent owner either exited nearly instantly after releasing the mutex (and is not now the owner), or died and never released it. * minor incompatible change: building the system with the simple semi-space copying collector is no longer supported. * minor incompatible change: support for PPC/Darwin has been removed. * platform support: ** fix regressions in threads on RISC-V. (lp#1962598) ** threads are now enabled by default on RISC-V. ** The generational garbage collector is now supported on MIPS. * optimization: fasls containing standard object literals are now smaller and load more efficiently. * optimization: faster arithmetic (*-+) on word-sized integers when the result is not known to fit into a word (ARM64 and x86-64). * bug fix: EQness of constants is now always preserved when block compiling.
-
sbcl-2.2.25a98c580 · ·
changes in sbcl-2.2.2 relative to sbcl-2.2.1: * platform support: ** all architectures now share the coverage mark instrumentation implementation, meaning that performance now equals what had been implemented only on x86 architectures. ** fixed a performance regression on x86-64 from changes in AVX2 register handling. (lp#1960081, reported by Michael Kappert) ** fixed a garbage collection bug on ppc64 manifesting in occasional corruption on threaded programs. (lp#1959338, lp#1952973) ** micro-optimizations in type tests for (SIGNED-BYTE 64). * enhancement: improved handling of source locations for some classes of compile time and runtime errors. * enhancement: better source locations for structure accessors. * bug fix: SB-COVER now always instruments top level forms correctly. * bug fix: muffling conditions now works correctly on higher debug settings. * bug fix: local muffling declarations now scope correctly with respect to undefined variable warnings. * optimization: calls to STRING= can now return NIL more quickly on strings of unequal length.
-
sbcl-2.2.17326ce22 · ·
changes in sbcl-2.2.1 relative to sbcl-2.2.0: * incompatible change: DEFINE-ALIEN-CALLBACK, which has never been exported from a public package, has been deleted. It is superseded by SB-ALIEN:DEFINE-ALIEN-CALLABLE. * minor incompatible change: compiler warnings are emitted on more provably-erroneous code involving sequence functions on specialized arrays. * platform support: ** support getting thread IDs on FreeBSD. (thanks to Felix Lange) ** faster function call sequence on arm64. ** the built-in buffer size for file streams is increased to 8KB. * enhancement: provide a restart for method lambda list mismatches that fmakunbounds the generic function. * enhancement: provide a USE-VALUE restart around type errors signalled from (SETF SLOT-VALUE). * enhancement: when UPDATE-INSTANCE-FOR-DIFFERENT-CLASS (or -REDEFINED-) undergoes a non-local exit, restore the instance to its original state. (thanks to Michał phoe Herda) * enhancement: the :SYNCHRONIZED keyword argument to MAKE-HASH-TABLE is no longer experimental. * bug fix: fix an erroneous compiler tranform for (EXPT SINGLE-FLOAT INTEGER). (lp#1958061, thanks to Vasily Postnicov) * bug fix: disassembly of closures is more likely to show the relevant code if more than one closure closes over the same environment. (lp#1956870, reported by Michał phoe Herda) * bug fix: RUN-PROGRAM with :IF-EXISTS :APPEND no longer signals an error if the output does not exist. (lp#1958569, thanks to Ingo Krabbe) * optimization: reorder basic blocks to have loop code fall through more often. (thanks to Hayley Patton) * optimization: sequences larger than the buffer size are written to streams without going through a buffering stage. (reported by Philipp Marek)
-
sbcl-2.2.09c62a850 · ·
changes in sbcl-2.2.0 relative to sbcl-2.1.11: * platform support: ** support for FreeBSD on 64-bit arm platforms has been added. ** the :SB-LINKABLE-RUNTIME build-time feature is now supported on 32-bit and 64-bit arm platforms, and on the FreeBSD operating system. ** bug fix: correct encoding for vmovsd. (lp#1953483, reported by Marco Heisig) ** bug fix: support ABIv1 callbacks on big-endian ppc64. (lp#1900343, thanks to Thomas Fitzsimmons) ** bug fix: don't misuse mprotect() in dynamic space on Windows. (lp#1955723, reported by 3b) * enhancement: catch type mismatches for REPLACE, SUBSTITUTE, MAKE-ARRAY with :INITIAL-CONTENTS. * optimization: printing symbols is around 10% faster than previously. * bug fix: don't use the current type of non-returning functions when redefining them in another file. (lp#1953214, reported by Nicolas Hafner) * bug fix: eliminate stack cleanups more conservatively. (lp#1954330, reported by Daniel Kochmański) * bug fix: check consistently in tests for the existence of VOPs. (lp#1952896, reported by Sébastien Villemot)
-
-
-
sbcl-2.1.11d76ad2a9 · ·
changes in sbcl-2.1.11 relative to sbcl-2.1.10: * minor incompatible change: *COMPILE-PRINT* now defaults to NIL. T gives the old behavior of echoing top level forms. Users who want to see a report of the phases of compilation can use *COMPILE-PROGRESS* and the corresponding COMPILE-FILE :PROGRESS argument. * optimization: The compiler assignment-converts functions much more aggressively; local or non-entry block-compiled functions which always return to the same place are automatically converted into the equivalent loop or goto control structures. * enhancement: on x86-64 and ppc64 platforms, the system uses inline instructions rather than page protection to implement a store barrier for the garbage collector. * enhancement: improved reporting of code deletion notes. * platform support: ** unbound-variable restarts for amd64 are now supported. ** bug fix: single-floats to foreign functions on 32-bit ARMel. (lp#1950080, reported by Sebastien Villemot) ** bug fix: opening files with names containing non-ASCII characters on Windows works better. (reported by Nikolay) ** bug fix: use fp_xsave to access the floating point flags and control word in Haiku signal contexts. (Thanks to Al Hoang) ** bug fix: complex single-float support on riscv64. ** optimization: support for accessing elements of &rest args directly on ppc64, mips, riscv. ** optimization: parse a /proc file rather than executing uname for SOFTWARE-VERSION on Linux * bug fix: fix crash from SB-COVER:RESET-COVERAGE. (lp#1950059, reported by Gregory Czerniak)
-
-
-
sbcl-2.1.1073c8c9f2 · ·
changes in sbcl-2.1.10 relative to sbcl-2.1.9: * incompatible change: simd-pack without a specific element-type is no longer treated as containing integers. A type must be supplied for VOPs to work on such values. * minor incompatible change: the list form of the FUNCTION type specifier does not allow * as any argument type, but does allow * as a placeholder for wholly unspecified arguments when specifying the value(s) type. * minor incompatible change: the default (Lisp) toplevel option parser throws an error if it encounters an option which was intended to be used and removed by the C runtime. (lp#1945081, reported by Luke Gorrie) * new feature: there is now a defined interface for defining foreign callable functions, which can be used for passing callbacks to foreign functions or for calling Lisp code from the foreign world as a shared library (preliminary support). See the revised manual section "Calling into Lisp From C" for more details. * enhancement: arg-count mismatches in self-calls in defmethod are reported. (lp#1912436, reported by 3b) * enhancement: the SB-CLTL2 contrib now returns type information for generated structure accessors. (lp#1934859, reported by SATO shinichi) * optimization: code generation is improved for modular arithmetic involving signed operations. * platform support: ** x86-64 machine code emitter crash when attempting to assemble some vector instructions. (lp#1945975, thanks to Marco Heisig) ** conditional move instructions are now supported on arm64. ** a number of new peephole optimizations have been implemented on arm64. ** arm64 on Darwin now uses gcc-compatible thread-local storage. * bug fix: compiler notes are no longer emitted when compiling FORMATTER forms, including when implicitly triggered on a constant string argument to FORMAT. (lp#1946246, reported by SATO shinichi) * bug fix: a compiler error when attempting to compile a call to AREF with too many dimensions. (lp#1902985) * bug fix: harmonize the behaviour of SLOT-BOUNDP on non-standard-objects between the various ways in which it can be called. (lp#732229, reported by Zach Beane) * bug fix: FTRUNCATE and similar functions are now more careful about deriving facts about the sign of zero they might return. (lp#1732009, reported by Paul Dietz)
-
-
-
sbcl-2.1.94a1da77f · ·
changes in sbcl-2.1.9 relative to sbcl-2.1.8: * minor incompatible change: the experimental DEFCAS macro has been removed. * minor incompatible change: finalizing classes with slots with duplicate symbol-names will only emit a warning if either slot name is an exported symbol. (lp#1943559) * platform support: ** the debugger is better able to display SIMD packs. (thanks to Marco Heisig) ** fix a bug in zeroing YMM registers. (thanks to Marco Heisig) ** fix instruction definitions for SSE blend and shuffle vector instructions. (thanks to Marco Heisig) ** handle heap corruption exceptions in our exception handler on win64. ** improve WAIT-UNTIL-FD-USABLE on Windows, reducing busy-looping. (thanks to Fabio Almeida) * bug fix: EQUALP hash tables whose keys contain arrays containing floats should behave correctly. (lp#1942424, reported by Nicolas Neuss)
-
-
-
sbcl-2.1.89fd4c01d · ·
changes in sbcl-2.1.8 relative to sbcl-2.1.7: * minor incompatible change: the experimental DEFINE-CAS-EXPANDER macro has been removed. * minor incompatible change: the hooks in *INIT-HOOKS* are called before starting the finalizer or other non-user threads. (thanks to Sean Whitton) * platform support: ** many improvements to code generation on arm64. ** avoid slow forms of the bit test instructions BT, BTS, BTR on x86-64. ** fix a bug in loading large core files on the Apple M1/arm64. (thanks to Mayank Manjrekar) ** fix a bug in loading core loading on the Apple M1/arm64. (reported by Eric Timmons) * enhancement: the block-compiler is more robust to files with intermingled compile-time and load-time effects. The semantics of the block-compiler remain not-entirely ANSI compatible. (thanks to Sean Maher) * enhancement: (CAS SAP-REF-<x>) and CAS on alien integers is implemented on ppc64 and x86-64, working towards fixing lp#1894057 * bug fix: fix OPEN-STREAM-P on streams closed by saving a core. (lp#1938433, reported by Guillaume LE VAILLANT) * bug fix: remove a spurious warning from COERCE. (lp#1920931, reported by Andrew Berkley) * bug fix: remove a warning from inlining SET-EXCLUSIVE-OR. (lp#1936470, reported by Jerome Abela)
-
-
-
sbcl-2.1.7f3618d28 · ·
changes in sbcl-2.1.7 relative to sbcl-2.1.6: * incompatible change: on certain platforms (currently just x86-64), dynamic-extent arrays specialized on character and numeric types and created without either :INITIAL-ELEMENT or :INITIAL-CONTENTS will reflect previous contents of the stack instead of #\null (or 0) in all elements. * minor incompatible change: SB-SPROF:START-PROFILING no longer silently does nothing if the clock is already running. It instead stop and restarts with the newly provided options, and warns. * minor incompatible change: the system attempts to refer to the supplied pathname in compiler diagnostics, if relevant, rather than the truename. * enhancement: new contrib module sb-graph producing graphical visualizations of Intermediate Representations of SBCL compilation data structures. * platform support: ** improved code generation for unary minus in modular contexts on arm64. ** make the disassembler annotations slightly more robust on arm64. ** release space back to the Operating System on Windows. ** improve the test for whether pages need to be committed on Windows. ** fix a bug in the use of the VPCMPEQD opcode on x86-64. (lp#1928516, thanks to Marco Heisig) * optimization: the type of (LOOP ... COLLECT ...), and the type of COLLECT INTO variables, is derived as LIST. (lp#1934577, reported by SATO shinichi)
-
sbcl-2.1.6dfcb7ede · ·
changes in sbcl-2.1.6 relative to sbcl-2.1.5: * minor incompatible change: COMPILE-FILE does not merge the input file's pathname-directory into the output path if :OUTPUT-FILE was specified and has a directory that is not :UNSPECIFIC. * platform support: ** improvements to unwind code generation on arm64. ** on x86-64, accept three operands for vshufpd. (reported by Bela Pecsek) ** on x86-64, improvements to use of popcount ** improve exception handling on 64-bit Windows. (thanks to Luis Borges de Oliveira) * bug fix: allow use of macros with improper argument list. (lp#1929623, thanks to Sean Maher) * bug fix: COERCE no longer attempts to guess what the user meant if they provide a type specifier of a union of types other than STRING. (lp#1929614) * bug fix: print a single trailing zero after the decimal point for FORMAT ~E if there are no digits remaining to be printed and the width allows it. (lp#883520)