changes in sbcl-2.5.4 relative to sbcl-2.5.3:
* enhancement: :FUN-END breakpoints now support the known values return
convention when DEBUG > 0. This means that tracing local functions works
in more situations.
* platform support:
** on x86-64, relocation of static space is always enabled.
** save-lisp-and-die with :callable-exports can be used for sbcl.dll on
Windows.
** Building with UCRT64 on Windows is now fully supported.
* bug fix: :FUN-END breakpoints work on PowerPC, SPARC, and MIPS again.
* bug fix: incorrect rounding when converting some bignums to floats.
* bug fix: the second value of the truncation functions is more consistently
computed for bignum floats.
* bug fix: fix code generation for constants being considered from
conflicting type propagation information. (lp#2107652)
* bug fix: fix 32-bit range check code generation on x86-64. (lp#2106432)
* bug fix: types are correctly propagated from the keyword argument
processor to their uses. (lp#2106358, reported by Vasily Postnicov)
* bug fix: fix compilation error from CHECK-TYPE when the value checked is a
keyword argument and the type specifier argument is not a valid type
specifier. (lp#2104089)
* bug fix: generate stack-manipulation code in the presence of non-local
exits and dynamic-extent declarations even more carefully. (lp#2043242)
* optimization: (LOGIOR A (- (MASK-FIELD (BYTE 1 constantN) A))), or its
equivalent (LOGIOR A (- (LOGAND (ASH 1 constantN) A))), is recognized as
an idiom for sign-extending the N+1-bit field in A, and can be used for
signed modular arithmetic.
* optimization: ROUND is faster for floats.
* optimization: TRUNCATE/FLOOR/etc. are faster on ratios.
* optimization: MAKE-SEQUENCE does not invoke the full type algebra when the
provided type specifier is simple.
* optimization: don't attempt to align branch targets if the SPACE
optimization quality is greater than 1.
* optimization: circularity detection for printing now places its temporary
data structures on the stack.
* optimization: faster GCD on fixnums, especially when the difference in
magnitude is large.
* optimization: the implementation of ISQRT has been replaced with the
(faster) algorithm currently implemented in CPython.