Subject: CVS commit: pkgsrc/lang/sbcl
From: Robert Swindells
Date: 2021-04-30 15:55:29
Message id: 20210430135529.59992FA95@cvs.NetBSD.org

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
      :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. (#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
      Verna)
    * enhancement: short-form DEFSETF now stores a source-location.
    * bug fix: canonical unions of CONS types were being
      incorrectly computed. (#1912863, reported by James
      Kalenius)
    * 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
      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. (#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
      Herda)
    * 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;

Files:
RevisionActionfile
1.91modifypkgsrc/lang/sbcl/Makefile
1.67modifypkgsrc/lang/sbcl/distinfo