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

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


Branch: CURRENT, Version: 2.4.11, Package name: sbcl-2.4.11, 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
extensions.


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

Master sites:

Filesize: 8009.394 KB

Version history: (Expand)


CVS history: (Expand)


   2024-12-12 16:08:42 by Ryo ONODERA | Files touched by this commit (2)
Log message:
lang/sbcl: Update to 2.4.11

Changelog:
New in version 2.4.11, 2024-11-30

  * enhancement: define SB-EXT:*DEFAULT-SOURCE-EXTERNAL-FORMAT* as the external
    format for reading source files (for direct use in LOAD and COMPILE-FILE).
    On Windows, this defaults to an external format with CRLF line-endings. (#
    720517, reported by Mark David)
  * minor incompatible change: the documentation of
    SB-SEQUENCE:MAKE-SEQUENCE-LIKE has been altered to match its implementation
    regarding the (un)initialization of the sequence if neither
    :INITIAL-CONTENTS nor :INITIAL-ELEMENT is provided.
  * minor incompatible change: the outputs from SB-GROVEL no longer contain
    calls to SB-GROVEL::DEFINE-FOREIGN-ROUTINE, but call
    SB-ALIEN:DEFINE-ALIEN-ROUTINE directly; the definitions of some other
    SB-GROVEL utilities has also changed.
  * platform support:
      + The system is more likely to build with the musl C library. (thanks to
        Masatoshi SANO)
      + It is possible to build 32-bit binaries on NetBSD/x86-64 systems.
        (thanks to Masatoshi SANO)
      + Stale big-endian ARM code in callbacks is no longer present. (#2087866,
        reported by Rongcui Dong)
      + Correct the encoding of the VPSHUFD AVX2 instruction. (reported by
        Dmitry Ignatiev)
      + Implement the PINSRQ SSE instruction and provide access to it in
        SB-SIMD.
      + Fix some signed/unsigned and 32-bit issues in the runtime leading to
        problems with large --dynamic-space-size. (#2087986)
  * bug fix: cross-reference information about structure accessors is preserved
    when compilation policy requires it.
  * bug fix: changing &ALLOW-OTHER-KEYS in a generic function's lambda list
    needs to invalidate the effective methods cache. (reported by Robert
    Strandh)
  * bug fix: calling DISASSEMBLE on a method-function provides a more useful
    disassembly.
  * bug fix: PROCESS-CLOSE no longer leaks a zombie process.
  * bug fix: interaction between SYMBOL-MACROLET and SPECIAL declarations is
    handled more correctly in the code walker. (#1053198)
  * bug fix: better scaling when compiling large numbers of calls to local
    functions. (#1379661, reported by 3b and Burton Samograd)
  * bug fix: allow the compiler to approximate types involving large bignums or
    ratios with large numerator or denominator. (#2085637)
  * bug fix: miscompilation of type tests involving STRUCTURE-OBJECT. (#2088417
    )
  * optimization: CONCATENATE with consing arguments can elide some of the
    intermediate consing.
  * optimization: the implementations of various external-formats have been
    sped up.
  * optimization: elide %SAP-ALIEN calls if all uses dereference the resulting
    ALIEN object.
  * optimization: faster (expt integer integer) when computing fixnum results.
  * optimization: (ash unknown-integer right) can use modular arithmetic.
  * optimization: (apply x ... list) avoids consing intermediate lists in more
    situations.
  * optimizations for arm64, x86-64:
      + AREF on non-simple arrays with known element type is faster, along with
        uses such as LOOP ACROSS, VECTOR-PUSH/POP/EXTEND.
      + SIMD variants for POSITION for strings, 8 and 32 bit integer arrays.
      + faster overflow checking for (the fixnum (+ fixnum fixnum))
   2024-08-12 15:45:44 by Robert Swindells | Files touched by this commit (2)
Log message:
Add a PLIST variable for Linux.
   2024-05-03 15:13:38 by Robert Swindells | Files touched by this commit (2) | Package updated
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.
   2023-11-28 16:03:55 by Robert Swindells | Files touched by this commit (3) | Package updated
Log message:
Update to sbcl-2.3.11.

Enable NetBSD/i386 build again.

Changes in sbcl-2.3.11 relative to sbcl-2.3.10

    * minor incompatible change: streams with an external-format
      specified with :REPLACEMENT will use their replacement data once
      per stream unit that causes a decoding error (rather than, in
      some cases, once for a sequence of bytes none of which is a
      valid character start position for that external-format).
    * minor incompatible change: external-format designators with
      unsupported or unrecognized options now signal an error when
      used.
    * enhancement: During generic function dispatch, for a generic
      function using standard- or short-method-combination, if there
      are no applicable primary methods the system will call the
      generic function SB-PCL:NO-PRIMARY-METHOD, whose default
      behaviour is to signal an error. Users may define methods on
      this generic function.
    * enhancement: external formats for unibyte encodings and utf-8
      now support newline variants.
    * enhancement: character decoding and encoding errors signalled by
      stream or octet functions now provide a USE-VALUE restart for
      handlers to provide replacement input or output.
    * enhancement: READ-SEQUENCE and WRITE-SEQUENCE support
      user-defined sequences; the default implementation proceeds
      element-by-element, reading or writing single bytes or
      characters to or from the stream as appropriate.
    * bug fix: OCTETS-TO-STRING using unibyte external formats with
      unallocated codepoints (e.g. iso-8859-3) correctly signal or use
      replacements rather than taking bits from the address of NIL and
      converting those bits to a character.
    * bug fix: FILE-STRING-LENGTH now returns NIL if the input datum
      is not encodable in the stream's external format.
    * bug fix: table-based multibyte external formats (EUC-JP,
      Shift-JIS, GBK) now honour a replacement character (in the
      external format or through restarts) when encoding to octets.
    * bug fix: converting from octets using the UCS-2, UCS-4 and
      UTF-32 external formats no longer reads past the end of an octet
      array with a non-integral number of two- or four-byte units.
    * bug fix: converting from octets using the UCS-2, UCS-4, UTF-16
      or UTF-32 external formats now returns a simple string, as
      required by the type declaration of OCTETS-TO-STRING.
    * bug fix: providing an invalid external format argument to OPEN
      or WITH-OPEN-FILE (or the internal MAKE-FD-STREAM) no longer
      leaks a file descriptor.
    * bug fix: SB-ROTATE-BYTE recognizes out-of-relevant-range BYTE
      specifications for integers before attempting to cons up
      enormous bignums for masking and shifting. (#2042937)
    * bug fix: fix type derivation on compiling SB-ROTATE-BYTE forms
      with non-zero POSITION in the byte specifier. (#2042775)
    * bug fix: fix multiple assembler errors when compiling
      MAKE-ARRAY, MAKE-STRING and similar with a large constant
      size. (#2037347, #2038744)
    * bug fix: fix internal error when compiling (SETF SBIT) with a
      large constant index. (#2037415)
    * bug fix: fix internal compiler error on invalid lambda list
      parameters in LABELS. (#2040334)
    * bug fix: fix internal compiler error when compiling some
      infinitely-recursive LABELS forms. (#2042704)
    * bug fix: fix internal compiler error when attempting to inline a
      jump to a label that has been deleted. (#2043262)
    * bug fix: FILL-POINTER should never be made to go negative. (#2042452)
    * optimization: external formats with :REPLACEMENT no longer bind
      handlers for coding errors around conversion functions, and so
      should cons less and be faster.
    * optimization: when the :EXTERNAL-FORMAT argument to
      STRING-TO-OCTETS or OCTETS-TO-STRING is a compile-time constant,
      the external format is resolved at load time rather than on each
      call.
    * optimization: the compiler is able to constrain the types of
      inputs to some functions given a derived or asserted type of the
      function's return value.
    * optimization: the compiler performs fewer redundant type checks
      in ASSOC, GETF and similar functions.

Changes in sbcl-2.3.10 relative to sbcl-2.3.9

    * enhancement: The compiler now allows stack allocating vectors of
      any size on all safety levels, not just those which it can prove
      are of sub-page sizes. It can do this because it now inserts
      code to check for stack overflow explicitly on higher safety
      levels.
    * enhancements to the disassembler:
        * on arm64, x86-64, DISASSEMBLE annotates references to static
          symbols.
    * bug fix: calls to generic functions now detect erroneous
      keywords (in the sense of CLHS 7.6.5) passed as arguments even
      when auxiliary methods are applicable.
    * bug fix: the standard method on SB-MOP:COMPUTE-EFFECTIVE-METHOD
      no longer inserts calls to implementation-defined local
      macros. (reported by Daniel Kochmański)
    * bug fix: compiler error from state-machine-like LABELS forms in
      some circumstances. (#2037318)
    * bug fix: fix compile-time error in constant-folding RATIONAL on
      literal float infinities. (#2037455)
    * bug fix: failure on x86-64 to assemble code for EQL tests of
      comparisons with immediates. (#2037456)
    * bug fix: infinite loop in the compiler for simplification of
      type tests of complicated union types. (#2038112, reported by
      Paul M. Rodriguez)
    * bug fix: inability to dump a literal displaced array containing
      copies of its displacement target. (#2038233, reported by James
      Kalenius)
    * bug fix: compiler error in LOGBITP type derivation. (#2038241)
    * bug fix: compiler error in AREF type derivation. (#2038659)
    * bug fix: compiler internal consistency failure in overflow type
      checks. (#2038736)
    * bug fix: work around an infinite loop in type simplification by
      not providing such types from the compiler. (#2038980, reported
      by Richard Holcombe)
    * bug fix: spurious run-time argument count errors from generic
      function calls on arm64. (#2039006, reported by fiddlerwoaroof)
    * bug fix: errors in SCALE-FLOAT on floating-point
      infinities. (#2039613)
    * bug fix: ROOM is slightly more robust to
      incompletely-initialized instances at the point of running
      ROOM. (Reported by Andreas Franke)
    * bug fix: finalizers saved through SAVE-LISP-AND-DIE and
      subsequently executed do not trigger memory faults. (Reported by
      Bohong Huang)
    * optimization: improvements to type derivation for ISQRT,
      INTEGER-LENGTH, LOGCOUNT, LOG, DENOMINATOR.

Changes in sbcl-2.3.9 relative to sbcl-2.3.8

    * enhancement: stack allocation via DYNAMIC-EXTENT now applies to
      all values that a variable can take on (for example via SETQ),
      not just the initial binding. This permits for example building
      complex or recursive structures on the stack more easily via
      iteration. See the updated manual entry for more details.
    * minor incompatible change: some interfaces in the SB-POSIX
      contrib module adhere to the spec that a NULL result from the C
      library is an error if and only if errno was altered by the
      call. SYSCALL-ERROR will be signaled if so.
    * enhancement: the SB-POSIX contrib module provides DO-PASSWDS and
      DO-GROUPS to allow users to iterate over password and group
      databases safely.
    * platform support:
        * support for Darwin on x86 and PowerPC has been
          restored. (#2033287, thanks to Kirill A. Korinsky, Sergey
          Fedorov and barracuda156)
    * bug fix: miscompilation due to erroneous type derivation in the
      presence of multiplication of fixnums by ratios. (#2033695,
      reported by Patrick Dussud)
    * bug fix: compiler error when compiling signed- and unsigned
      64-bit type checks in some cases. (#2033997, reported by Eric
      Smith)
    * bug fix: compiler error when the :INITIAL-CONTENTS argument to
      MAKE-ARRAY is a constant non-sequence. (#2037328)
    * bug fix: compiler error when constant-folding sequence functions
      with :TEST or :KEY functions erroring on the given
      sequence. (#2037341)
    * bug fix: compiler error when arguments to array or sequence
      functions imply a very large sequence size. (#2037443, #2037348)
    * bug fix: compiler error when the return value of ADJUST-ARRAY is
      not used. (#2037450)
    * optimization: function types derived by the compiler can in some
      cases be propagated backwards through the intermediate
      representation.
    * optimization: better type derivations for LDB, LOGBITP, RATIO.
    * optimization: eliminate bound checks in more cases involving
      transitive comparisons.
   2023-11-23 09:36:21 by Thomas Klausner | Files touched by this commit (1)
Log message:
sbcl: mark as broken on i386/NetBSD

https://mail-index.netbsd.org/pkgsrc-bulk/2023/11/21/msg024562.html
   2023-09-01 00:29:43 by Robert Swindells | Files touched by this commit (1)
Log message:
Move MKPIE_SUPPORTED line before include of bsd.prefs.mk.
   2023-08-31 23:05:39 by Robert Swindells | Files touched by this commit (2) | Package updated
Log message:
Update to sbcl 2.3.8.

Add dependency on devel/gmp.
Set MKPIE_SUPPORTED to no.

Changes in sbcl-2.3.8 relative to sbcl-2.3.7

    * enhancement: a mark-region parallel garbage collector is
      available as a build-time option; it can be enabled by adding
      `--without-gencgc --with-mark-region-gc` to the build command
      line. (Thanks to Hayley Patton)
    * enhancement: Stack allocation via DYNAMIC-EXTENT is now possible
      for conditionals even when not all branches are
      stack-allocatable. Previously all branches needed to be
      stack-allocatable for the otherwise-inaccessible subparts to get
      stack allocated.
    * platform support:
        * on Mac OS X Sonoma, loading the memory image no longer
          fails. (#2029430, reported by cladur)
        * on Darwin, we no longer reimplement nanosleep().
        * on PPC64, undefined function errors now work.
        * on ARM64/OpenBSD, enable the GCC TLS feature. (thanks to
          Sébastien Marie)
        * when building the system, only display a reasonable amount
          of timing precision. (thanks to Philipp Marek)
    * bug fix: handling of inlining functions compiled to return
      unboxed values no longer crashes the compiler. (#2029020,
      reported by Pascal J. Bourguignon)
    * bug fix: the source location for code executed within a
      top-level (EVAL-WHEN (:COMPILE-TOPLEVEL) ...) form is now more
      useful.
    * bug fix: address a race between user threads cancelling
      finalizers and the finalizer thread executing them. (#2029306)
    * bug fix: complex division returns the same value when evaluated
      inline and out-of-line. (#2030097)
    * bug fix: the pretty-printer no longer deletes
      syntactically-significant whitespace immediately preceding a
      newline. (#1985814, reported by Mark David)
    * optimization: the compiler is more aware of the result type of
      the NUMERATOR function.
    * optimization: EQUAL and EQUALP compile to more efficient code
      when the two arguments are known to be of the same nullable
      type.
    * optimization: converting bignums to floats uses no intermediate memory.

Changes in sbcl-2.3.7 relative to sbcl-2.3.6

    * minor incompatible change: MACROLET macro functions are now
      compiled with (SPEED 1), leading to fewer efficiency notes being
      emitted when compiled in otherwise high-SPEED environments.
    * minor incompatible change: when coalescing list data, the file
      compiler respects substructure equality more accurately, with
      the side-effect of coalescing along CDR chains as well as
      CARs. (#2025086)
    * minor incompatible change: FUNCTION type declarations for local
      variables generate assertions around their use when called.
    * platform support
        * on OpenBSD, the regression test suite expectations have been
          updated. (#2026809, thanks to Sebastien Marie)
        * on OpenBSD, the data limit is now 1GB. (#2027536, thanks to
          Sebastien Marie)
        * on Darwin with the SB-FUTEX feature, do not use unpaired
          mach_thread_self() syscalls, avoiding resource leaks when
          creating threads.
        * on 64-bit RISCV, add support for some REM-by-multiplication
          optimizations.
        * on Windows, work around a C compiler bug relating to SYSV_ABI.
    * bug fix: FILE-POSITION on string output streams no longer
      crashes or causes arbitrary memory overwrites. (#1839040)
    * bug fix: the compiler no longer constant-folds POSITION to NIL
      if the START or END arguments are not valid.
    * optimization: the compiler derives types of &KEY arguments in
      local calls. (#655562)
    * optimization: type tests of values of known union type can be
      faster if the type being tested for has a non-trivial
      intersection with the known type.
    * optimization: the low-level implementation of NUMBERP, REALP and
      RATIONALP has been improved on x86-64 and arm64.
    * optimization: the compiler removes known-NIL arguments from
      calls to APPEND and NCONC, and empty sequences from calls to
      CONCATENATE.
    * optimization: checks for symbols being bindable are now
      memoized, speeding up compiled uses of PROGV.
    * optimization: SLOT-VALUE on STRUCTURE-OBJECTs with non-constant
      slot-name argument is faster.
   2023-07-04 09:55:56 by Robert Swindells | Files touched by this commit (2)
Log message:
Update to sbcl 2.3.6.

Add dependency on math/mpfr.

Changes in sbcl-2.3.6 relative to sbcl-2.3.5

    * platform support:
	* restore building contribs on riscv; (#2002930)
	* shorter constant-loading sequences on riscv;
	* on OpenBSD, map the stack without executable permission
          (thanks to Sébastien Marie)
	* Restore OpenBSD/arm64 for OpenBSD 7.3 (#2024003, reported by
          Robert Palm)
    * bug fix: AREF on multidimensional arrays with the wrong number
      of indices now signals an error. (#2022327, reported by EU)
    * bug fix: the nature of NIL as both STRING and SEQUENCE is
      correctly handled in the compiler's handling of string
      functions. (#2023118, reported by Patrick Poitras)
    * bug fix: the sb-bsd-sockets tests no longer fail on systems
      configured without IPv6. (reported by Will Senn)
    * bug fix: the compiler no longer transforms into
      incompletely-known functions (#1824351)
    * optimization: better (the word-sized-type (ASH word-sized
      word-sized)) when the result can overflow. For arm64 and x86-64.
    * optimization: better unoptimized calls to CEILING, FLOOR.
    * optimization: functions that involve coercing floats now cons
      less. For arm64 and x86-64.
    * optimization: array displacement to simple arrays is slightly
      faster. (reported by Shubhamkar Ayare)