Skip to content

Tags

Tags give the ability to mark specific points in history as being important
  • archive/debian/2%2.4.5-1
    sbcl release 2:2.4.5-1 for unstable (sid) [dgit]
    
    [dgit distro=debian no-split --quilt=linear]
    
  • debian/2%2.4.5-1
    sbcl release 2:2.4.5-1 for unstable (sid) [dgit]
    
    [dgit distro=debian no-split --quilt=linear]
    
  • sbcl-2.4.5
    changes in sbcl-2.4.5 relative to sbcl-2.4.4:
      * incompatible change: attempting to pass or return alien structs by value
        now signals errors.  Previously, such attempts would silently tend to
        corrupt registers or memory; there is work in progress to allow such calls
        conforming to the platform ABI.  (thanks to Rongcui Dong)
      * minor incompatible change: function debug info is compressed only if the
        system is compiled with libzstd, rather than falling back to a pure-lisp
        compression implementation.
      * minor incompatible change: the compiler will warn in more cases when it
        can detect incorrectly-typed arguments to FORMAT directives ~C and ~R
      * minor incompatible change: strings are converted to a more compact
        representation if possible before being used as docstrings.
      * platform support:
        ** explicitly include stdlib.h where needed on OpenBSD.  (thanks to
           Sebastien Marie)
        ** make the editcore utility work on Windows.  (thanks to Luís Borges de
           Oliveira)
        ** fix memory initialization in RUN-PROGRAM on Windows.
        ** resolve a deadlock in %INTERRUPT-THREAD on Darwin.  (lp#2062940,
           reported by Yan)
        ** hang on startup under some terminal emulators on OS X 14.5.
           (lp#2067313, reported by Richard M Kreuter)
      * enhancement: when (> debug 1), try to find source locations for code
        expanded from macros that copy their input forms.
      * bug fix: the method-combination generic function caches were missing some
        of the generic functions constructed during the PCL build itself.
        (reported by Didier Verna)
      * bug fix: SXHASH on equal PATHNAME objects could return different values in
        different cores.  (reported by Luís Borges de Oliveira)
      * bug fix: spurious compiler warnings on SORT in some circumstances.
        (lp#2065609, reported by William G Lederer)
      * optimization: faster bignum addition and negation on arm64, x86-64.
      * optimization: faster type tests for (unsigned-byte X) for X being
        multiples of the platform word size, on arm64, x86-64.
    
  • sbcl-2.4.4
    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.  (lp#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.  (lp#2059842)
      * bug fix: MASK-FIELD miscompilation.  (lp#2059849)
      * bug fix: caching a state-dependent type function leads to wrong type
        inference further down the line.  (lp#2059888)
      * bug fix: internal consistency violation after failing to apply a
        MAKE-ARRAY transform.  (lp#2060083)
      * bug fix: check the array index before constant-folding an array reference.
        (lp#2060347)
      * bug fix: don't try to apply type constraints from SATISFIES
        types.  (lp#2060756)
      * bug fix: the JOIN-THREAD-PROBLEM function is now exported from the
        SB-THREAD package.  (lp#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.
    
  • sbcl-2.4.3
    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 (lp#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.  (lp#2056184, reported by xizang)
      * bug fix: various errors related to imperfections in the perfect hash
        generator.  (lp#2055794, lp#2056341)
      * bug fix: respect declarations for symbol macros inside defmethod.
        (lp#2056514, reported by Jonathan Braud)
      * bug fix: failure to set structure slots to floats on Arm64.  (lp#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.
    
  • upstream/2.4.2
    Upstream version 2.4.2
    
  • sbcl-2.4.2
    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.  (lp#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.  (lp#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.
        (lp#2026195, reported by Jake Connor)
      * bug fix: place external entry points for functions consistently before any
        local functions.  (lp#2051169, reported by Fedorov Alexander)
      * bug fix: remove unactionable optimization notes for backquoted forms and
        ordinary calls to APPEND at high speed.  (lp#2051401, reported by Robert
        Brown)
      * bug fix: infinite loop in COPY-SEQ on zero-length arrays of element-type
        NIL.  (lp#2051759, reported by Devon Sean McCullough)
      * bug fix: fix compilation of non-top-level struct constructors.
        (lp#2052329, reported by Robert Poitras)
      * bug fixes in SB-SIMD:
        ** improve bounds checking in SB-SIMD.  (lp#2012010, reported by Patrick
           Poitras)
        ** fix SB-SIMD AVX f64.4-reverse (lp#2012986, thanks to Ari Projansky)
        ** fix SB-SIMD shuffles on AVX and SSE2 (lp#2012990, reported by Ari
           Projansky)
        ** fix lifetimes in sse+xmm0 VOPs (lp#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.
    
  • sbcl-2.4.1
    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.  (lp#2047655, thanks to Konstantin Belousov)
        ** link to libpthread on FreeBSD.  (thanks to Konstantin Belousov)
        ** restore build on 64-bit riscv.  (lp#2034713, lp#2048869, reported by
           Guillaume LE VAILLANT)
        ** restore build on 64-bit ppc.
        ** fix case in referring to a header file.  (lp#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.  (lp#2047289, lp#2047706, lp#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.  (lp#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.
    
  • sbcl-2.4.0
    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.
        (lp#2045559)
      * platform support
        ** the mark-region parallel garbage collector can be enabled on arm64.
           (Thanks to Hayley Patton)
        ** fix build on modern FreeBSDs.  (lp#2046996, thanks to David J. Flander)
      * bug fix: restore compiler type inference correctness on calls to REDUCE
        with :INITIAL-VALUE but no :FROM-END.  (lp#2044856, reported by Patrick
        Poitras)
      * bug fix: compiler error when declaring SB-EXT:MUFFLE-CONDITIONS on an
        unknown type.  (lp#2045442)
      * bug fix: the disassembler provided non-pretty output for registers in some
        cases.  (lp#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.
    
  • sbcl-2.3.11
    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.  (lp#2042937)
      * bug fix: fix type derivation on compiling SB-ROTATE-BYTE forms with
        non-zero POSITION in the byte specifier.  (lp#2042775)
      * bug fix: fix multiple assembler errors when compiling MAKE-ARRAY,
        MAKE-STRING and similar with a large constant size.  (lp#2037347, lp#2038744)
      * bug fix: fix internal error when compiling (SETF SBIT) with a large
        constant index.  (lp#2037415)
      * bug fix: fix internal compiler error on invalid lambda list parameters in
        LABELS.  (lp#2040334)
      * bug fix: fix internal compiler error when compiling some
        infinitely-recursive LABELS forms.  (lp#2042704)
      * bug fix: fix internal compiler error when attempting to inline a jump to a
        label that has been deleted.  (lp#2043262)
      * bug fix: FILL-POINTER should never be made to go negative.  (lp#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.
    
  • sbcl-2.3.10
    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.  (lp#2037318)
      * bug fix: fix compile-time error in constant-folding RATIONAL on literal
        float infinities.  (lp#2037455)
      * bug fix: failure on x86-64 to assemble code for EQL tests of comparisons
        with immediates.  (lp#2037456)
      * bug fix: infinite loop in the compiler for simplification of type tests of
        complicated union types.  (lp#2038112, reported by Paul M. Rodriguez)
      * bug fix: inability to dump a literal displaced array containing copies of
        its displacement target.  (lp#2038233, reported by James Kalenius)
      * bug fix: compiler error in LOGBITP type derivation.  (lp#2038241)
      * bug fix: compiler error in AREF type derivation.  (lp#2038659)
      * bug fix: compiler internal consistency failure in overflow type checks.
        (lp#2038736)
      * bug fix: work around an infinite loop in type simplification by not
        providing such types from the compiler.  (lp#2038980, reported by Richard
        Holcombe)
      * bug fix: spurious run-time argument count errors from generic function
        calls on arm64.  (lp#2039006, reported by fiddlerwoaroof)
      * bug fix: errors in SCALE-FLOAT on floating-point infinities. (lp#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.
    
  • sbcl-2.3.9
    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.  (lp#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.  (lp#2033695, reported by Patrick
        Dussud)
      * bug fix: compiler error when compiling signed- and unsigned 64-bit type
        checks in some cases.  (lp#2033997, reported by Eric Smith)
      * bug fix: compiler error when the :INITIAL-CONTENTS argument to MAKE-ARRAY
        is a constant non-sequence.  (lp#2037328)
      * bug fix: compiler error when constant-folding sequence functions with
        :TEST or :KEY functions erroring on the given sequence.  (lp#2037341)
      * bug fix: compiler error when arguments to array or sequence functions
        imply a very large sequence size.  (lp#2037443, lp#2037348)
      * bug fix: compiler error when the return value of ADJUST-ARRAY is not used.
        (lp#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.
    
  • upstream/2.3.8
    Upstream version 2.3.8
    
  • sbcl-2.3.8
    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.
           (lp#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.  (lp#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.  (lp#2029306)
      * bug fix: complex division returns the same value when evaluated inline and
        out-of-line.  (lp#2030097)
      * bug fix: the pretty-printer no longer deletes syntactically-significant
        whitespace immediately preceding a newline.  (lp#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.
    
  • archive/debian/2%2.3.7-2
    sbcl release 2:2.3.7-2 for unstable (sid) [dgit]
    
    [dgit distro=debian split --quilt=gbp]
    
  • debian/2%2.3.7-2
    sbcl release 2:2.3.7-2 for unstable (sid)
    
    (maintainer view tag generated by dgit --quilt=gbp)
    
    [dgit distro=debian split --quilt=gbp]
    
  • archive/debian/2%2.3.7-1
    sbcl release 2:2.3.7-1 for unstable (sid) [dgit]
    
    [dgit distro=debian split --quilt=gbp]
    
  • debian/2%2.3.7-1
    sbcl release 2:2.3.7-1 for unstable (sid)
    
    (maintainer view tag generated by dgit --quilt=gbp)
    
    [dgit distro=debian split --quilt=gbp]
    
  • upstream/2.3.7
    Upstream version 2.3.7
    
  • sbcl-2.3.7
    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.  (lp#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.
           (lp#2026809, thanks to Sebastien Marie)
        ** on OpenBSD, the data limit is now 1GB.  (lp#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.  (lp#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.
        (lp#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.