Skip to content
changes in sbcl-2.3.2 relative to sbcl-2.3.1:
  * incompatible change: the :ORDER long-form-option in
    DEFINE-METHOD-COMBINATION accepts NIL as well as :MOST-SPECIFIC-FIRST and
    :MOST-SPECIFIC-LAST.  A value of NIL implies no particular ordering of the
    methods, and so disables checks of multiple methods with the same
    specializers in that group.
  * bug fix: evaluate the :ORDER long-form-option in DEFINE-METHOD-COMBINATION
    properly, avoiding an infinite loop in DEFINE-METHOD-COMBINATION if the
    :ORDER argument leads to a cycle of compile-time constants.
  * bug fix: better compile time on chains of conditionals which have gaps in
    integer ranges.  (lp#1992349, reported by Mykola Matvyeyev)
  * bug fix: type derivation of VECTOR-LENGTH leading to wrong type handling
    for MEMBER types involving vectors.  (lp#2004094)
  * bug fix: equality constraint propagation in the presence of constants
    could cause code to be not deleted when it should have been.  (lp#2006487)
  * bug fix: better compile time when the compiler needs to perform checks to
    see if fixnum or word computations result in overflow.  (lp#2007741)
  * bug fix: miscompilation on ARM64.  (lp#2007758, reported by Stephen
    Westfold)
  * optimization: on x86-64, use SIMD instructions for UTF-8 buffer decoding;
  * various type-driven optimizations:
    ** comparisons of rationals with constant ratios or floats;
    ** comparisons of unsigned-bytes with fixnums;
    ** comparisons of fixnums with constant powers of two;
    ** equality of numbers with integers too large to be exactly represented
       as floats;
    ** arithmetic operations on a mixture of signed and unsigned word-sized
       quantities;