./lang/sbcl, SBCL, a Common Lisp implementation

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 2.2.5, Package name: sbcl-2.2.5, Maintainer: pkgsrc-users

Steel Bank Common Lisp (SBCL) is an Open Source complier and runtime
system for ANSI Common Lisp. It provides an interactive environment
including an integrated native compiler, a debugger, and many

Required to build:
[lang/clisp] [pkgtools/cwrappers]

Master sites:

Filesize: 6865.148 KB

Version history: (Expand)

CVS history: (Expand)

   2022-06-12 21:05:44 by Thomas Klausner | Files touched by this commit (1)
Log message:
sbcl: remove removed patch from distinfo
   2022-06-12 16:48:12 by Greg Troxel | Files touched by this commit (3)
Log message:
lang/sbcl: Update to 2.2.5

Tested by building (and hence building clisp) on NetBSD 9 amd64, and
running sbcl and evaluating (+ 1 2), following report by Chavdar

Upstream NEWS (less bugfixes and minor improvements)

changes in sbcl-2.2.5 relative to sbcl-2.2.4:
  * minor incompatible change: SB-EXT:*DERIVE-FUNCTION-TYPES* being NIL now
    means that function calls will strictly only use type information from
    proclaimed ftypes. The previous behavior (still the default) of using
    derived type information from the same file is specified with :SAME-FILE.
  * minor incompatible change: RENAME-FILE now overwrites the target file on
    Windows too, making its behaviour consistent with other platforms.
  * minor incompatible change: inlining of local function is inhibited if
    policy DEBUG = 3.
  * platform support:
    ** single-stepping is now supported on 64-bit PowerPC platforms.  (thanks
       to Thomas Fitzsimmons)
    ** the :SB-LINKABLE-RUNTIME feature is now supported on 32-bit and 64-bit
       PowerPC platforms.  (thanks to Thomas Fitzsimmons)
  * enhancement: debug source locations now work correctly for top level forms
    with policy DEBUG = 1, as well as for block compiled files.
  * enhancement: TRACE now supports tracing macro functions, compiler-macro
    functions, individual methods and local functions.  See the user manual for
    more details.  (lp#375314)

changes in sbcl-2.2.4 relative to sbcl-2.2.3:
  * enhancement: better constraint propagation in the compiler. Specifically,
    the compiler can now derive the type of X in control flow join situations
    such as
    (LAMBDA (X) (ECASE (1 ...) (2 ...)) X)
    instead of forgetting all information about X after the E(TYPE)CASE.

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:
    ** threads are now enabled by default on RISC-V.
    ** The generational garbage collector is now supported on MIPS.

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.
  * enhancement: improved handling of source locations for some classes
    of compile time and runtime errors.
  * enhancement: better source locations for structure accessors.

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
  * minor incompatible change: compiler warnings are emitted on more
    provably-erroneous code involving sequence functions on specialized
  * platform support:
    ** support getting thread IDs on FreeBSD.  (thanks to Felix Lange)
  * 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
    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.

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.
  * enhancement: catch type mismatches for REPLACE, SUBSTITUTE, MAKE-ARRAY
   2021-12-01 00:35:05 by Robert Swindells | Files touched by this commit (2)
Log message:
Update to 2.1.10.

New in version 2.1.10

    * 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. (#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
    * enhancement: arg-count mismatches in self-calls in defmethod are
      reported. (#1912436, reported by 3b)
    * enhancement: the SB-CLTL2 contrib now returns type information
      for generated structure accessors. (#1934859, reported by SATO
    * 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. (#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. (#1946246, reported by SATO
    * bug fix: a compiler error when attempting to compile a call to
      AREF with too many dimensions. (#1902985)
    * bug fix: harmonize the behaviour of SLOT-BOUNDP on
      non-standard-objects between the various ways in which it can be
      called. (#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. (#1732009, reported by Paul Dietz)

New in version 2.1.9

    * 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. (#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. (#1942424, reported by Nicolas

New in version 2.1.8

    * 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 #1894057
    * bug fix: fix OPEN-STREAM-P on streams closed by saving a
      core. (#1938433, reported by Guillaume LE VAILLANT)
    * bug fix: remove a spurious warning from COERCE. (#1920931,
      reported by Andrew Berkley)
    * bug fix: remove a warning from inlining
      SET-EXCLUSIVE-OR. (#1936470, reported by Jerome Abela)
   2021-10-26 12:51:59 by Nia Alarie | Files touched by this commit (260)
Log message:
lang: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

The following distfiles could not be fetched (possibly fetched

./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-aarch64-unknown-linux-gnu.tar.gz
./lang/rust-bin/distinfo \ 
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-aarch64-unknown-netbsd.tar.gz
./lang/rust-bin/distinfo \ 
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-i686-unknown-linux-gnu.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-powerpc-unknown-netbsd90.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-sparc64-unknown-netbsd.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-x86_64-apple-darwin.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-x86_64-unknown-freebsd.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-x86_64-unknown-linux-gnu.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-x86_64-unknown-linux-musl.tar.gz
./lang/smlnj/distinfo smlnj-110.73/boot.ppc-unix.tgz
./lang/smlnj/distinfo smlnj-110.73/boot.sparc-unix.tgz
./lang/oracle-jre8/distinfo jce_policy-8.zip
./lang/oracle-jre8/distinfo jre-8u202-linux-i586.tar.gz
./lang/oracle-jre8/distinfo jre-8u202-linux-x64.tar.gz
./lang/oracle-jre8/distinfo jre-8u202-macosx-x64.tar.gz
./lang/oracle-jre8/distinfo jre-8u202-solaris-x64.tar.gz
./lang/oracle-jdk8/distinfo jdk-8u202-linux-i586.tar.gz
./lang/oracle-jdk8/distinfo jdk-8u202-linux-x64.tar.gz
./lang/oracle-jdk8/distinfo jdk-8u202-solaris-x64.tar.gz
./lang/ghc80/distinfo ghc-7.10.3-boot-x86_64-unknown-solaris2.tar.xz
./lang/ghc80/distinfo ghc-8.0.2-boot-i386-unknown-freebsd.tar.xz
./lang/ghc80/distinfo ghc-8.0.2-boot-x86_64-unknown-freebsd.tar.xz
./lang/gcc5-aux/distinfo ada-bootstrap.i386.freebsd.100B.tar.bz2
./lang/gcc5-aux/distinfo ada-bootstrap.i386.freebsd.84.tar.bz2
./lang/gcc5-aux/distinfo ada-bootstrap.x86_64.dragonfly.41.tar.bz2
./lang/gcc5-aux/distinfo ada-bootstrap.x86_64.freebsd.100B.tar.bz2
./lang/gcc5-aux/distinfo ada-bootstrap.x86_64.freebsd.84.tar.bz2
./lang/gcc5-aux/distinfo ada-bootstrap.x86_64.solaris.511.tar.bz2
./lang/rust/distinfo rust-1.53.0-aarch64-apple-darwin.tar.gz
./lang/rust/distinfo rust-1.53.0-aarch64-unknown-linux-gnu.tar.gz
./lang/rust/distinfo rust-1.53.0-aarch64-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-1.53.0-aarch64_be-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-1.53.0-arm-unknown-linux-gnueabihf.tar.gz
./lang/rust/distinfo rust-1.53.0-armv7-unknown-linux-gnueabihf.tar.gz
./lang/rust/distinfo rust-1.53.0-i686-unknown-linux-gnu.tar.gz
./lang/rust/distinfo rust-1.53.0-powerpc-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-1.53.0-powerpc-unknown-netbsd90.tar.gz
./lang/rust/distinfo rust-1.53.0-sparc64-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-1.53.0-x86_64-apple-darwin.tar.gz
./lang/rust/distinfo rust-1.53.0-x86_64-unknown-freebsd.tar.gz
./lang/rust/distinfo rust-1.53.0-x86_64-unknown-illumos.tar.gz
./lang/rust/distinfo rust-1.53.0-x86_64-unknown-linux-gnu.tar.gz
./lang/rust/distinfo rust-std-1.53.0-aarch64-apple-darwin.tar.gz
./lang/rust/distinfo rust-std-1.53.0-aarch64-unknown-linux-gnu.tar.gz
./lang/rust/distinfo rust-std-1.53.0-aarch64-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-std-1.53.0-aarch64_be-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-std-1.53.0-arm-unknown-linux-gnueabihf.tar.gz
./lang/rust/distinfo rust-std-1.53.0-armv7-unknown-linux-gnueabihf.tar.gz
./lang/rust/distinfo rust-std-1.53.0-i686-unknown-linux-gnu.tar.gz
./lang/rust/distinfo rust-std-1.53.0-powerpc-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-std-1.53.0-powerpc-unknown-netbsd90.tar.gz
./lang/rust/distinfo rust-std-1.53.0-sparc64-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-std-1.53.0-x86_64-apple-darwin.tar.gz
./lang/rust/distinfo rust-std-1.53.0-x86_64-unknown-freebsd.tar.gz
./lang/rust/distinfo rust-std-1.53.0-x86_64-unknown-linux-gnu.tar.gz
./lang/smlnj11072/distinfo smlnj-110.72/boot.ppc-unix.tgz
./lang/smlnj11072/distinfo smlnj-110.72/boot.sparc-unix.tgz
./lang/ghc84/distinfo ghc-8.0.2-boot-x86_64-unknown-solaris2.tar.xz
./lang/ghc84/distinfo ghc-8.4.4-boot-i386-unknown-freebsd.tar.xz
./lang/ghc84/distinfo ghc-8.4.4-boot-x86_64-apple-darwin.tar.xz
./lang/ghc84/distinfo ghc-8.4.4-boot-x86_64-unknown-freebsd.tar.xz
./lang/ghc7/distinfo ghc-7.10.3-boot-i386-unknown-freebsd.tar.xz
./lang/ghc7/distinfo ghc-7.6.3-boot-i386-unknown-solaris2.tar.xz
./lang/ghc7/distinfo ghc-7.6.3-boot-powerpc-apple-darwin.tar.xz
./lang/ghc7/distinfo ghc-7.6.3-boot-x86_64-unknown-solaris2.tar.xz
./lang/ghc90/distinfo ghc-8.10.4-boot-x86_64-unknown-solaris2.tar.xz
./lang/ghc90/distinfo ghc-9.0.1-boot-aarch64-unknown-netbsd.tar.xz
./lang/ghc90/distinfo ghc-9.0.1-boot-i386-unknown-freebsd.tar.xz
./lang/ghc90/distinfo ghc-9.0.1-boot-x86_64-apple-darwin.tar.xz
./lang/ghc90/distinfo ghc-9.0.1-boot-x86_64-unknown-freebsd.tar.xz
./lang/openjdk8/distinfo \ 
./lang/openjdk8/distinfo \ 
./lang/openjdk8/distinfo \ 
./lang/openjdk8/distinfo \ 
./lang/openjdk8/distinfo \ 
./lang/go-bin/distinfo go1.14.2.darwin-amd64.tar.gz
./lang/go-bin/distinfo go1.14.2.linux-386.tar.gz
./lang/go-bin/distinfo go1.14.2.linux-amd64.tar.gz
./lang/go-bin/distinfo go1.14.2.linux-arm64.tar.gz
./lang/go-bin/distinfo go1.14.2.linux-armv6l.tar.gz
./lang/go-bin/distinfo go1.14.2.netbsd-arm64.tar.gz
./lang/go-bin/distinfo go1.16beta1.darwin-arm64.tar.gz
./lang/gcc6-aux/distinfo ada-bootstrap.i386.freebsd.100B.tar.bz2
./lang/gcc6-aux/distinfo ada-bootstrap.x86_64.dragonfly.41.tar.bz2
./lang/gcc6-aux/distinfo ada-bootstrap.x86_64.freebsd.100B.tar.bz2
./lang/gcc6-aux/distinfo ada-bootstrap.x86_64.freebsd.84.tar.bz2
./lang/gcc6-aux/distinfo ada-bootstrap.x86_64.solaris.511.tar.bz2
./lang/ghc810/distinfo ghc-8.8.4-boot-x86_64-unknown-solaris2.tar.xz
./lang/sun-jre7/distinfo UnlimitedJCEPolicyJDK7.zip
./lang/sun-jre7/distinfo jre-7u80-linux-x64.tar.gz
./lang/sun-jre7/distinfo jre-7u80-solaris-i586.tar.gz
./lang/sun-jre7/distinfo jre-7u80-solaris-x64.tar.gz
./lang/ghc88/distinfo ghc-8.4.4-boot-i386-unknown-freebsd.tar.xz
./lang/ghc88/distinfo ghc-8.4.4-boot-x86_64-apple-darwin.tar.xz
./lang/ghc88/distinfo ghc-8.4.4-boot-x86_64-unknown-freebsd.tar.xz
./lang/ghc88/distinfo ghc-8.4.4-boot-x86_64-unknown-solaris2.tar.xz
./lang/gcc-aux/distinfo ada-bootstrap.i386.dragonfly.36A.tar.bz2
./lang/gcc-aux/distinfo ada-bootstrap.i386.freebsd.100B.tar.bz2
./lang/gcc-aux/distinfo ada-bootstrap.i386.freebsd.84.tar.bz2
./lang/gcc-aux/distinfo ada-bootstrap.x86_64.dragonfly.36A.tar.bz2
./lang/gcc-aux/distinfo ada-bootstrap.x86_64.freebsd.100B.tar.bz2
./lang/gcc-aux/distinfo ada-bootstrap.x86_64.freebsd.84.tar.bz2
./lang/gcc-aux/distinfo ada-bootstrap.x86_64.solaris.511.tar.bz2
./lang/gcc6/distinfo ecj-4.5.jar
./lang/openjdk11/distinfo bootstrap-jdk-
./lang/sun-jdk7/distinfo jdk-7u80-linux-x64.tar.gz
./lang/sun-jdk7/distinfo jdk-7u80-solaris-i586.tar.gz
./lang/sun-jdk7/distinfo jdk-7u80-solaris-x64.tar.gz
   2021-10-07 16:21:17 by Nia Alarie | Files touched by this commit (282)
Log message:
lang: Remove SHA1 hashes for distfiles
   2021-08-07 16:33:32 by Robert Swindells | Files touched by this commit (3)
Log message:
Update to 2.1.7.

New in version 2.1.7

    * 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
    * 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. (#1928516, thanks to Marco Heisig)
    * optimization: the type of (LOOP ... COLLECT ...), and the type
      of COLLECT INTO variables, is derived as LIST. (#1934577,
      reported by SATO shinichi)

New in version 2.1.6

    * 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. (#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. (#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. (#883520)
   2021-06-12 04:09:29 by Robert Swindells | Files touched by this commit (2)
Log message:
Update to 2.1.5.

New in version 2.1.5

    * minor incompatible change: on x86-64, the backend instruction
      encoders for movzx and for string opcodes have changed their
    * platform support:
        * compatibility: support the latest MinGW on x86. (#1923325,
          thanks to Alexis Rivera)
        * bug fix: on x86-64, fix instruction encoding for TEST on
          RIP-relative addresses. (#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. (#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. (#1928243)
    * bug fix: fix a compiler failure when a declared function type
      contains a literal structure with a valid MAKE-LOAD-FORM
      method. (#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.
   2021-04-30 15:55:29 by Robert Swindells | Files touched by this commit (2) | Package updated
Log message:
Update to version 2.1.4.

New in version 2.1.4

    * platform support:
        * work around address-space randomization causing instability
          on new versions of MinGW. (#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.

New in version 2.1.3

    * minor incompatible change: support for the
      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. (#1916895)
    * bug fix: reduce the number of places where the system
      permissively accepts the symbol * as a type specifier where
      it should not be accepted. (#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.

New in version 2.1.2

    * 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
    * enhancement: short-form DEFSETF now stores a source-location.
    * bug fix: canonical unions of CONS types were being
      incorrectly computed. (#1912863, reported by James
    * bug fix: better understanding of array simplicity (or
      otherwise) in the type system. (#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. (#1916040)
    * bug fix: HANDLER-BIND evaluates the forms producing handler
      functions only once. (#1916302, reported by Christophe
    * 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. (#1914094, thanks to Andrew Berkley)

New in version 2.1.1

    * platform support:
        * restore non-threaded NetBSD builds;
        * adjust how the finalizer thread is started; (#1906571, #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. (#1908819, reported by Michael Fiano)
    * bug fix: detect 2 or 1 as an invalid number of arguments passed
      to optimized slot reading or writing effective method
      respectively. (#1909659, reported by Michal Herda)
    * bug fix: division by zero errors were in some cases not being
      signalled. (#1910098, reported by il71)
    * bug fix: erroneous coercions in the type system could lose
      precision. (#1910294)
    * bug fix: literal (read-time evaluated) NaNs in source code no
      longer cause compiler crashes. (#1909881, reported by Michal
    * bug fix: detect more erroneous syntax in method
      bodies. (#1912362, reported by Paul M. Rodriguez)
    * optimization: the compiler's understanding of EXPT is improved,
      reducing the introduction of COMPLEX types. (#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;