From: Christophe R. <cs...@ca...> - 2023-10-30 20:14:40
|
Dear all, I have released SBCL 2.3.10; sources and a binary are available for download, and the most significant changes are listed below. Note perhaps in particular the new tendency of the compiler to stack-allocate large vectors (if requested through a DYNAMIC-EXTENT declaration); this has the potential to trigger stack overflow, where previously such an allocation might well have happened on the heap. Best wishes, Christophe 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. |