Skip to content
changes in sbcl-2.5.8 relative to sbcl-2.5.7:
  * minor incompatible change: SB-THREAD:MAIN-THREAD-P can only be applied to
    threads, not arbitrary lisp objects.
  * minor incompatible change: the instruction-combining (peephole)
    optimization pass does not run if COMPILATION-SPEED has a higher value
    than SPEED.
  * platform support:
    ** on arm64, provide better backtraces in the statistical profiler's
       reporting, along with better detection of assembly routines, local
       functions and callers of foreign code.
    ** on ppc64le, make --dynamic-space-size behave as documented.
       (lp#2121255)
    ** on x86-64, handle more cases in the ALU+TEST peephole optimization.
  * bug fix: for file-streams with :DIRECTION :IO, input and output file
    positions should no longer get out of sync.  (lp#1600610, reported by
    Guillaume le Vaillant, test cases by Brent Benson)
  * bug fix: an infinite loop in SUBTYPEP for types involving negations of
    CONS of specialized ARRAY types.  (lp#2114755)
  * bug fix: miscompilation of a CASE form with small numeric keys.
    (lp#2119035)
  * bug fix: anonymous alien structs definitions are deduplicated, making it
    harder to overflow internal data structures.  (lp#2114943, reported by
    Brooke Tilley)
  * bug fix: allow ALU+TEST peephole optimizations to fire on x86-64.
    (lp#2120547, reported by Christoph Breitkopf)
  * bug fix: miscompilation of a LOOP form with rational arithmetic on
    variables involved in termination tests.  (lp#2121178, reported by 3b)
  * bug fix: the compiler is better able to associate some forms in a
    macroexpanion with the original sources.
  * optimization: improve array construction with LIST or SEQUENCE
    :INITIAL-CONTENTS.