e003829adc
New in version 2.1.4 * platform support: * work around address-space randomization causing instability on new versions of MinGW. (#1921141) * bug fix: RANDOM on floats returns values strictly less than the float argument. * bug fix: compiler error on x86-64 resulting from attempting to zero a memory location with xor. (reported by Eric Marsden) * optimization: extended loops updating iteration variables with THEN can perform specialized arithmetic for those updates. * optimization: in some cases, the jump table resulting from a compilation of TYPECASE is simpler. * optimization: on x86-64, IF BOUNDP followed by SYMBOL-VALUE can elide some memory loads and tests. New in version 2.1.3 * minor incompatible change: support for the :SB-SAFEPOINT-STRICTLY, :SB-THRUPTION, and :SB-WTIMER build features has been removed * platform support: * support for :SB-CORE-COMPRESSION on Darwin/ARM64 * support ARM v8.1 atomic and compare-and-swap instructions * x86, x86-64: microoptimizations in multiple type-checking routines * bug fix: structures and conditions are now TYPEP all classes in the class precedence list of their class. (reported by Luis Oliveira) * bug fix: derivation of the result type from subtraction sometimes erroneously excluded zero. (#1916895) * bug fix: reduce the number of places where the system permissively accepts the symbol * as a type specifier where it should not be accepted. (#1860919) * bug fix: the code-walker used by the system's implementation of CLOS can handle defuns declared inline. (reported by Don Cohen) * optimization: EQUALP on specialized vectors and arrays is faster. * optimization: support routines for EQUALP hash tables generate less garbage. New in version 2.1.2 * platform support: * support for ARM64 macOS; * improvement in coverage mark implementation on non-x86oid backends, approaching the existing x86oid support; * more empirically-robust retrieval of the program counter from illegal instruction traps on SPARC; * retain fewer dead objects when saving cores with precise collectors. * incompatible change: MAP-ALL-SAMPLES and MAP-TRACE-SAMPLES are no longer present in the SB-SPROF contrib module. * minor incompatible change: SB-SPROF:WITH-PROFILING defaults to all threads. SB-SPROF:START-PROFILING no longer accepts a :SAMPLING keyword. * enhancement: the sb-introspect contrib now supports finding the lambda lists of method combinations. (thanks to Didier Verna) * enhancement: short-form DEFSETF now stores a source-location. * bug fix: canonical unions of CONS types were being incorrectly computed. (#1912863, reported by James Kalenius) * bug fix: better understanding of array simplicity (or otherwise) in the type system. (#1903241) * bug fix: unions of rational and integer types now have a single canonical form, allowing more correct reasoning about them in the type system. * bug fix: less likely to overclaim certainty about type equality of union types. (#1916040) * bug fix: HANDLER-BIND evaluates the forms producing handler functions only once. (#1916302, reported by Christophe Junke) * optimization: FIND on constant sequences can be compiled into a jump table, in a similar manner to POSITION * optimization: the compiler's awareness of numeric contagion rules for operations on pairs of floating point numbers is improved. (#1914094, thanks to Andrew Berkley) New in version 2.1.1 * platform support: * restore non-threaded NetBSD builds; * adjust how the finalizer thread is started; (#1906571, #1907872) * fix the encoding of PEXTR on x86-64; * minor incompatible change: emit warnings for list iteration forms when the object being iterated over is known not to be a list. (#1908819, reported by Michael Fiano) * bug fix: detect 2 or 1 as an invalid number of arguments passed to optimized slot reading or writing effective method respectively. (#1909659, reported by Michal Herda) * bug fix: division by zero errors were in some cases not being signalled. (#1910098, reported by il71) * bug fix: erroneous coercions in the type system could lose precision. (#1910294) * bug fix: literal (read-time evaluated) NaNs in source code no longer cause compiler crashes. (#1909881, reported by Michal Herda) * bug fix: detect more erroneous syntax in method bodies. (#1912362, reported by Paul M. Rodriguez) * optimization: the compiler's understanding of EXPT is improved, reducing the introduction of COMPLEX types. (#1908830, reported by Michael Fiano) * optimization: the compiler is better at computing numeric contagion when (COMPLEX FLOAT) types are involved. * micro-optimizations: * moving from slightly-bigger-than-fixnum ranges is more efficient on x86-64; * encode character comparisons with smaller operands on x86-64; * truncating (and related operations) on floats can be inlined in more cases on 64-bit platforms; * rounding can use specialized instructions on ARM64 and on x86-64 when SSE4 is available; |
||
---|---|---|
.. | ||
patches | ||
DESCR | ||
distinfo | ||
Makefile | ||
PLIST |