Subject: CVS commit: pkgsrc/lang/sbcl
From: Robert Swindells
Date: 2024-05-03 15:13:38
Message id: 20240503131338.C9030FA2C@cvs.NetBSD.org

Log Message:
Update to sbcl-2.4.4.

Add lang/ecl as a build host option, enable this by default for aarch64.

Changes in sbcl-2.4.4 relative to sbcl-2.4.3

    * minor incompatible change: after-GC hooks are now called in the
      finalizer thread on threaded builds.
    * platform support:
        * on win32 on 64-bit systems, clear x87 state as well as SSE
          state after an exception. (#2000435, reported by David
          Scherfgen)
    * enhancement: type assertions resulting from declarations
      involving variable numbers of multiple values are now checked.
    * enhancement: support for memory allocation arenas is now
      available on the arm64 platform.
    * enhancement: the cross-referencing facility is now able to
      handle anonymous functions.
    * enhacnement: the SB-INTROSPECT contrib finds callees in methods
      of generic functions.
    * bug fix: inconsistency in VOP definitions implementing DPB. (#2059842)
    * bug fix: MASK-FIELD miscompilation. (#2059849)
    * bug fix: caching a state-dependent type function leads to wrong
      type inference further down the line. (#2059888)
    * bug fix: internal consistency violation after failing to apply a
      MAKE-ARRAY transform. (#2060083)
    * bug fix: check the array index before constant-folding an array
      reference. (#2060347)
    * bug fix: don't try to apply type constraints from SATISFIES
      types. (#2060756)
    * bug fix: the JOIN-THREAD-PROBLEM function is now exported from
      the SB-THREAD package. (#2063385, thanks to Benjamin Lee)
    * bug fix: compare-and-swap works as expected on SLOT-VALUE of
      FUNCALLABLE-STANDARD-OBJECT instances. (reported by qhong)
    * bug fix: on arm64, and x86-64 with some non-default build
      options, integer rounding functions treat minus zero more
      consistently.
    * bug fix: disassembly of stack allocation of vectors caused a
      crash. (reported by bohonghuang)
    * bug fix: don't leak memory when decompressing a compressed core.
    * optimization: the amount of space needed for debug-info is about
      50% less, leading to a total default image size reduction of
      more than 10%.
    * optimization: on arm64 and x86-64, encoding constants in machine
      code is sometimes smaller.
    * optimization: on arm64 and x86-64, list accumulation is done
      with less space overhead.
    * optimization: APPLY can apply a function to the REST of a &REST
      list without additional consing.

Changes in sbcl-2.4.3 relative to sbcl-2.4.2

    * enhancement: when dumping debug information to fasl files, the
      system respects the SOURCE_DATE_EPOCH environment variable (if
      set) as the latest timestamp to be used.
    * contributed module: the sb-perf contributed module, an interface
      originally by Luke Gorrie to Linux's perf, is now included by
      default on Linux. (Thanks to Philipp Marek)
    * platform support:
        * on Linux and BSD variants, timezone querying is now faster.
	* Arm64/Darwin: allow configuring the system with a
          relocatable static space.
	* PPC64: allow configuring the system with fasteval.
    * bug fix: erroneous transform of EQUALP on characters (#2055425)
    * bug fix: float rounders (FTRUNCATE and related functions) handle
      minus zero more consistently, returning minus zero as the
      primary value when rounding to zero from a negative value.
    * bug fix: type checks for (VECTOR T) were giving the wrong answer
      for vectors displayed to simple multi-dimensional
      arrays. (reported by _death)
    * bug fix: do not transform away division by BIT when the BIT
      might still include 0. (#2056184, reported by xizang)
    * bug fix: various errors related to imperfections in the perfect
      hash generator. (#2055794, #2056341)
    * bug fix: respect declarations for symbol macros inside
      defmethod. (#2056514, reported by Jonathan Braud)
    * bug fix: failure to set structure slots to floats on
      Arm64. (#2058148, reported by Bibek Panthi)
    * optimization: improvements to the implementation of CASE.
    * optimization: faster PARSE-INTEGER :radix 10/16 on word-sized integers.
    * optimization: improvements to LOGBITP.

Changes in sbcl-2.4.2 relative to sbcl-2.4.1

    * bug fix: restore the ability to inherit from both SEQUENCE and
      SB-MOP:FUNCALLABLE-STANDARD-OBJECT. (#2050088, reported by
      Christophe Junke)
    * bug fix: COERCE will not convert lambda forms to functions if
      given a type naming a (strict) subclass of FUNCTION.
    * bug fix: LOG with a double-float and a ratio argument (in either
      order) do not lose precision through a single-float intermediate
      argument.
    * bug fix: LOG to the base 2 of integer powers of 2 are more
      likely to get the mathematically precise answer.
    * bug fix: LOG on ratios very near 1 with numerator or denominator
      being near a power of 2 will use log1p and so will lose less
      precision.
    * bug fix: the utf-8 external format with Unix line-endings
      updates its character size information when taking the fast path
      for a buffer of ascii characters. (#2054169, reported by John
      Carroll)
    * bug fix: don't print the contents of a possibly no-longer-valid
      dynamic-extent cons in PRINT-OBJECT method for THREAD
      objects. (#2026195, reported by Jake Connor)
    * bug fix: place external entry points for functions consistently
      before any local functions. (#2051169, reported by Fedorov
      Alexander)
    * bug fix: remove unactionable optimization notes for backquoted
      forms and ordinary calls to APPEND at high speed. (#2051401,
      reported by Robert Brown)
    * bug fix: infinite loop in COPY-SEQ on zero-length arrays of
      element-type NIL. (#2051759, reported by Devon Sean McCullough)
    * bug fix: fix compilation of non-top-level struct
      constructors. (#2052329, reported by Robert Poitras)
    * bug fixes in SB-SIMD:
        * improve bounds checking in SB-SIMD. (#2012010, reported by
          Patrick Poitras)
	* fix SB-SIMD AVX f64.4-reverse (#2012986, thanks to Ari Projansky)
	* fix SB-SIMD shuffles on AVX and SSE2 (#2012990, reported by
          Ari Projansky)
	* fix lifetimes in sse+xmm0 VOPs (#2015329, reported by Ari
          Projansky)
    * optimization: a number of internal tables, particularly those
      related to Unicode support have been converted to use perfect
      hash mechanisms, improving both speed and space.
    * optimization: FIND, POSITION, ASSOC and RASSOC with constant
      sequence arguments containing symbols as keys are compiled to
      perfect hash lookups.
    * optimization: the compiler runs a jump-to-jump elimination pass
      on x86-64.
    * system integrity: compiling the system itself on x86-64/linux
      now produces bitwise-identical cross-compiled fasls whether the
      build host is cmucl, ccl, clisp or sbcl itself.

Changes in sbcl-2.4.1 relative to sbcl-2.4.0

    * enhancement: compact instance headers are partially supported
      with the mark-region parallel garbage collector.
    * enhancement: functions with declared return types have their
      return values type-checked in optimization regimes with high
      SAFETY and (DEBUG 3).
    * platform support:
        * disable ASLR on FreeBSD. (#2047655, thanks to Konstantin Belousov)
	* link to libpthread on FreeBSD. (thanks to Konstantin Belousov)
	* restore build on 64-bit riscv. (#2034713, #2048869, reported
          by Guillaume LE VAILLANT)
	* restore build on 64-bit ppc.
	* fix case in referring to a header file. (#2047726, thanks to
          Andrew Kravchuk)
	* the fastrem-32 feature (for optimized computations of FLOOR)
          is now available on all platforms.
    * bug fix: resweep moved lines after compaction in the mark-region
      parallel garbage collector.
    * bug fix: infinite loops in the compiler on some constructs with
      SATISFIES types. (#2047289, #2047706, #2049631)
    * optimization: various hash tables implementing part of the
      system (packages, Unicode data tables) have been converted to
      use perfect hash functions.
    * optimization: TYPECASE on structure class hierarchies is
      implemented using a perfect hash.
    * optimization: eliminate bound checks with relative offsets. (#1830314)
    * optimization: the compiler has more knowledge of how to optimize
      DIGIT-CHAR.
    * optimization: the compiler can elide intermediates for some
      calls to APPLY, CONCATENATE and MAKE-ARRAY with arguments that
      are freshly-consed modifications of existing sequences.
    * optimization: (LOOP FOR X IN (REVERSE LIST) ...) is now faster
      and conses less.
    * optimization: (LOOP ... APPEND ...) is more compact, and does
      less work if appending NIL.
    * optimization: type tests of various array types are faster and shorter.

Changes in sbcl-2.4.0 relative to sbcl-2.3.11

    * minor incompatible change: *COMPILE-VERBOSE* and *LOAD-VERBOSE*
      are bound to NIL when the system is started with the --script
      command-line argument. (reported by Hraban Luyat, thanks to
      Nicolas Martyanoff)
    * minor incompatible change: when looking for its core file, the
      system checks the validity of whatever is pointed to by
      /proc/self/exe, and assesses argv[0] if /proc/self/exe is
      invalid. (thanks to Philipp Marek)
    * minor incompatible change: the system no longer provides type
      names on the standard (CL) symbols ARRAY-RANK, ARRAY-TOTAL-SIZE,
      PATHNAME-HOST, PATHNAME-TYPE, PATHNAME-DIRECTORY, FLOAT-RADIX or
      FLOAT-DIGITS. (#2045559)
    * platform support:
        * the mark-region parallel garbage collector can be enabled on
          arm64. (Thanks to Hayley Patton)
	* fix build on modern FreeBSDs. (#2046966, thanks to David
          J. Flander)
    * bug fix: restore compiler type inference correctness on calls to
      REDUCE with :INITIAL-VALUE but no :FROM-END. (#2044856, reported
      by Patrick Poitras)
    * bug fix: compiler error when declaring SB-EXT:MUFFLE-CONDITIONS
      on an unknown type. (#2045442)
    * bug fix: the disassembler provided non-pretty output for
      registers in some cases. (#2046004, reported by Fedorov
      Alexander)
    * bug fix: the system is slightly less likely to exhaust the stack
      again when reporting a control stack exhaustion error.
    * optimization: GC write barriers are eliminated in more cases.
    * optimization: improved type derivation of iteration variables
      with mixed types.
    * optimization: remove unused initial values from LET bindings,
      improving register type selection.
    * optimization: lower EQUALP/EQUAL/EQL to EQL/EQ in FIND/MEMBER
      based on the input types.
    * optimization: better type derivation for DPB, LOGIOR.

Files:
RevisionActionfile
1.103modifypkgsrc/lang/sbcl/Makefile
1.79modifypkgsrc/lang/sbcl/distinfo