Skip to content

Tags

Tags give the ability to mark specific points in history as being important
  • debian/2%2.1.8-1
    sbcl Debian release 2:2.1.8-1
  • upstream/2.1.8
    Upstream version 2.1.8
  • sbcl-2.1.8
    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)
    
  • debian/2%2.1.7-1
    sbcl Debian release 2:2.1.7-1
  • upstream/2.1.7
    Upstream version 2.1.7
  • sbcl-2.1.7
    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.6
    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)
    
  • sbcl-2.1.5
    changes in sbcl-2.1.5 relative to sbcl-2.1.4:
      * minor incompatible change: on x86-64, the backend instruction encoders for
        movzx and for string opcodes have changed their semantics.
      * platform support:
        ** compatibility: support the latest MinGW on x86.  (lp#1923325, thanks to
           Alexis Rivera)
        ** bug fix: on x86-64, fix instruction encoding for TEST on RIP-relative
           addresses.  (lp#1925808, reported by Shinmera on #sbcl, thanks also to
           3b)
        ** bug fix: on x86-64, loading all-1s into an AVX2 register no longer
           causes an error.  (thanks to Marco Heisig)
        ** bug fix: on arm64, improve disassembly of ADD with constant 0 as MOV
        ** enhancement: on arm64, support debugger commands RETURN-FROM-FRAME and
           RESTART-FRAME more efficiently.
        ** enhancement: on x86-64, add support for vshuf* AVX2 instructions.
           (reported by Bela Pecsek)
        ** optimization: faster function calls on arm64.
        ** optimization: (SETF SBIT) is faster on x86-64.
      * bug fix: INTEGER-DECODE-FLOAT was computing the wrong answer for denormal
        double floats.  (lp#1926383, reported by Stavros Macrakis)
      * bug fix: RANDOM on a floating point argument now does not cons.  (reported
        by Tito Latini)
      * bug fix: fix a compiler crash in type derivation of LOGTEST.  (lp#1928243)
      * bug fix: fix a compiler failure when a declared function type contains a
        literal structure with a valid MAKE-LOAD-FORM method.  (lp#1929160, thanks
        to Yurii Hryhorenko)
      * optimization: FBOUNDP on a constant symbol is now faster.
      * optimization: file compilation now produces smaller fasls for files which
        reference package literals.
      * optimization: derive the type of calls to FLOAT-SIGN.
    
  • upstream/2.1.1.mc2
    Tagging 2.1.1.mc2
  • upstream/2.1.1.mc1
    Tagging 2.1.1.mc1
  • sbcl-2.1.4
    changes in sbcl-2.1.4 relative to sbcl-2.1.3:
      * platform support:
        ** work around address-space randomization causing instability on new
           versions of MinGW.  (lp#1921141)
      * bug fix: RANDOM on floats returns values strictly less than the float
        argument.
      * bug fix: compiler error on x86-64 resulting from attempting to zero a
        memory location with xor.  (reported by Eric Marsden)
      * optimization: extended loops updating iteration variables with THEN can
        perform specialized arithmetic for those updates.
      * optimization: in some cases, the jump table resulting from a compilation
        of TYPECASE is simpler.
      * optimization: on x86-64, IF BOUNDP followed by SYMBOL-VALUE can elide some
        memory loads and tests.
    
  • sbcl-2.1.3
    changes in sbcl-2.1.3 relative to sbcl-2.1.2:
      * minor incompatible change: support for the :SB-SAFEPOINT-STRICTLY,
        :SB-THRUPTION, and :SB-WTIMER build features has been removed
      * platform support:
        ** support for :SB-CORE-COMPRESSION on Darwin/ARM64
        ** support ARM v8.1 atomic and compare-and-swap instructions
        ** x86, x86-64: microoptimizations in multiple type-checking routines
      * bug fix: structures and conditions are now TYPEP all classes in the class
        precedence list of their class.  (reported by Luis Oliveira)
      * bug fix: derivation of the result type from subtraction sometimes
        erroneously excluded zero.  (lp#1916895)
      * bug fix: reduce the number of places where the system permissively accepts
        * as a type specifier where it should not be accepted.  (lp#1860919)
      * bug fix: the code-walker used by the system's implementation of CLOS can
        handle defuns declared inline.  (reported by Don Cohen)
      * optimization: EQUALP on specialized vectors and arrays is faster.
      * optimization: support routines for EQUALP hash tables generate less garbage.
    
  • sbcl-2.1.2
    changes in sbcl-2.1.2 relative to sbcl-2.1.1:
      * platform support:
        ** support for ARM64 macOS;
        ** improvement in coverage mark implementation on non-x86oid backends,
           approaching the existing x86oid support;
        ** more empirically-robust retrieval of the program counter from illegal
           instruction traps on SPARC;
        ** retain fewer dead objects when saving cores with precise collectors.
      * incompatible change: MAP-ALL-SAMPLES and MAP-TRACE-SAMPLES
        are no longer present in the SB-SPROF contrib module.
      * minor incompatible change: SB-SPROF:WITH-PROFILING defaults to all
        threads. SB-SPROF:START-PROFILING no longer accepts a :SAMPLING keyword.
      * enhancement: the sb-introspect contrib now supports finding the lambda
        lists of method combinations.  (thanks to Didier Verna)
      * enhancement: short-form DEFSETF now stores a source-location.
      * bug fix: canonical unions of CONS types were being incorrectly computed.
        (lp#1912863, reported by James Kalenius)
      * bug fix: better understanding of array simplicity (or otherwise) in the
        type system.  (lp#1903241)
      * bug fix: unions of rational and integer types now have a single canonical
        form, allowing more correct reasoning about them in the type system.
      * bug fix: less likely to overclaim certainty about type equality of union
        types.  (lp#1916040)
      * bug fix: HANDLER-BIND evaluates the forms producing handler functions only
        once.  (lp#1916302, reported by Christophe Junke)
      * optimization: FIND on constant sequences can be compiled into a jump
        table, in a similar manner to POSITION
      * optimization: the compiler's awareness of numeric contagion rules for
        operations on pairs of floating point numbers is improved.  (lp#1914094,
        thanks to Andrew Berkley)
    
  • debian/2%2.1.1-2
    sbcl Debian release 2:2.1.1-2
  • debian/2%2.1.1-1
    sbcl Debian release 2:2.1.1-1
  • upstream/2.1.1
    Upstream version 2.1.1
  • sbcl-2.1.1
    changes in sbcl-2.1.1 relative to sbcl-2.1.0:
      * platform support:
        ** restore non-threaded NetBSD builds;
        ** adjust how the finalizer thread is started; (lp#1906571, lp#1907872)
        ** fix the encoding of PEXTR on x86-64;
      * minor incompatible change: emit warnings for list iteration forms when the
        object being iterated over is known not to be a list.  (lp#1908819,
        reported by Michael Fiano)
      * bug fix: detect 2 or 1 as an invalid number of arguments passed to
        optimized slot writing or reading effective method respectively.
        (lp#1909659, reported by Michal Herda)
      * bug fix: division by zero errors were in some cases not being signalled.
        (lp#1910098, reported by il71)
      * bug fix: erroneous coercions in the type system could lose precision.
        (lp#1910294)
      * bug fix: literal (read-time evaluated) NaNs in source code no longer cause
        compiler crashes.  (lp#1909881, reported by Michal Herda)
      * bug fix: detect more erroneous syntax in method bodies.  (lp#1912362,
        reported by Paul M. Rodriguez)
      * optimization: the compiler's understanding of EXPT is improved, reducing
        the introduction of COMPLEX types.  (lp#1908830, reported by Michael Fiano)
      * optimization: the compiler is better at computing numeric contagion when
        (COMPLEX FLOAT) types are involved.
      * micro-optimizations:
        ** moving from slightly-bigger-than-fixnum ranges is more efficient on x86-64;
        ** encode character comparisons with smaller operands on x86-64;
        ** truncating (and related operations) on floats can be inlined in more
           cases on 64-bit platforms;
        ** rounding can use specialized instructions on ARM64 and on x86-64 when
           SSE4 is available;
    
  • debian/2%2.1.0-1
    sbcl Debian release 2:2.1.0-1
  • upstream/2.1.0
    Upstream version 2.1.0
  • sbcl-2.1.0
    changes in sbcl-2.1.0 relative to sbcl-2.0.11:
      * 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.  (lp#1636910, reported by anquegi)
      * platform support:
        ** pass required -std argument to the compiler on Solaris (lp#1885751,
           thanks to Jesse Off)
        ** better treatment of non-ASCII program arguments on Windows (lp#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 (lp#309136)
        ** handling of CLOSE on SYNONYM-STREAM (lp#1904257, reported by Richard M
           Kreuter)
        ** handling of CLOSE on BROADCAST-STREAM with no components (lp#1904722,
           reported by Richard M Kreuter)
        ** loading SB-SIMPLE-STREAMS breaks functionality of other stream classes
           (lp#1908132)
        ** some excessive consing in READ-LINE
      * enhancements related to RUN-PROGRAM:
        ** improved the documentation related to the ARGS argument (lp#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.  (lp#1908261, reported by
        Philipp Marek)
      * bug fix: iteration variables established by standard forms should always
        be considered used by the compiler.  (lp#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.  (lp#310069)
      * bug fix: improve automated version number generation in branches.
        (lp#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.  (lp#1038034)
      * bug fixes in the compiler:
        ** error on malformed DESTRUCTURING-BIND (lp#1738638)
        ** error on malformed SPECIAL declaration (lp#1740756)
        ** error from use of VALUES type in COERCE (lp#1887712)
        ** enforcement of FTYPE types involving &OPTIONAL (lp#1903932)
        ** checking for proper-list-ness before applying transforms (lp#1905512)
        ** compilation of LAMBDA form including a malformed DEFUN (lp#1906056)
        ** memory fault from VALUES-related handling in high DEBUG code
           (lp#1906563)
        ** transforms handle explicit NIL arguments in :END arguments to SEARCH
           (lp#1907924)
      * bug fix: return COMPILED-FUNCTION for TYPE-OF on compiled functions.
        (lp#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 (lp#309454)
        ** load-shared-library not working from non-main threads on OS X (lp#592425)
      * optimization: CONSTANTLY on constant arguments returns a more efficient
        function.  (lp#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)