-
sbcl-2.1.551962854 · ·
changes in sbcl-2.1.5 relative to sbcl-2.1.4: * minor incompatible change: on x86-64, the backend instruction encoders for movzx and for string opcodes have changed their semantics. * platform support: ** compatibility: support the latest MinGW on x86. (lp#1923325, thanks to Alexis Rivera) ** bug fix: on x86-64, fix instruction encoding for TEST on RIP-relative addresses. (lp#1925808, reported by Shinmera on #sbcl, thanks also to 3b) ** bug fix: on x86-64, loading all-1s into an AVX2 register no longer causes an error. (thanks to Marco Heisig) ** bug fix: on arm64, improve disassembly of ADD with constant 0 as MOV ** enhancement: on arm64, support debugger commands RETURN-FROM-FRAME and RESTART-FRAME more efficiently. ** enhancement: on x86-64, add support for vshuf* AVX2 instructions. (reported by Bela Pecsek) ** optimization: faster function calls on arm64. ** optimization: (SETF SBIT) is faster on x86-64. * bug fix: INTEGER-DECODE-FLOAT was computing the wrong answer for denormal double floats. (lp#1926383, reported by Stavros Macrakis) * bug fix: RANDOM on a floating point argument now does not cons. (reported by Tito Latini) * bug fix: fix a compiler crash in type derivation of LOGTEST. (lp#1928243) * bug fix: fix a compiler failure when a declared function type contains a literal structure with a valid MAKE-LOAD-FORM method. (lp#1929160, thanks to Yurii Hryhorenko) * optimization: FBOUNDP on a constant symbol is now faster. * optimization: file compilation now produces smaller fasls for files which reference package literals. * optimization: derive the type of calls to FLOAT-SIGN.
-
sbcl-2.1.4f8a57bcc · ·
changes in sbcl-2.1.4 relative to sbcl-2.1.3: * platform support: ** work around address-space randomization causing instability on new versions of MinGW. (lp#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.
-
sbcl-2.1.364003051 · ·
changes in sbcl-2.1.3 relative to sbcl-2.1.2: * 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. (lp#1916895) * bug fix: reduce the number of places where the system permissively accepts * as a type specifier where it should not be accepted. (lp#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.
-
sbcl-2.1.20ba5415f · ·
changes in sbcl-2.1.2 relative to sbcl-2.1.1: * 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. (lp#1912863, reported by James Kalenius) * bug fix: better understanding of array simplicity (or otherwise) in the type system. (lp#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. (lp#1916040) * bug fix: HANDLER-BIND evaluates the forms producing handler functions only once. (lp#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. (lp#1914094, thanks to Andrew Berkley)
-
-
-
-
sbcl-2.1.1d968217b · ·
changes in sbcl-2.1.1 relative to sbcl-2.1.0: * platform support: ** restore non-threaded NetBSD builds; ** adjust how the finalizer thread is started; (lp#1906571, lp#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. (lp#1908819, reported by Michael Fiano) * bug fix: detect 2 or 1 as an invalid number of arguments passed to optimized slot writing or reading effective method respectively. (lp#1909659, reported by Michal Herda) * bug fix: division by zero errors were in some cases not being signalled. (lp#1910098, reported by il71) * bug fix: erroneous coercions in the type system could lose precision. (lp#1910294) * bug fix: literal (read-time evaluated) NaNs in source code no longer cause compiler crashes. (lp#1909881, reported by Michal Herda) * bug fix: detect more erroneous syntax in method bodies. (lp#1912362, reported by Paul M. Rodriguez) * optimization: the compiler's understanding of EXPT is improved, reducing the introduction of COMPLEX types. (lp#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;
-
-
-
sbcl-2.1.046cb065f · ·
changes in sbcl-2.1.0 relative to sbcl-2.0.11: * minor incompatible change: the MAKE-EA internal function, used in the assembler, has been removed (affecting some libraries defining their own Virtual Operations) * new feature: SB-EXT:PRIMITIVE-OBJECT-SIZE can be used to interrogate the low-level size in memory of objects. (lp#1636910, reported by anquegi) * platform support: ** pass required -std argument to the compiler on Solaris (lp#1885751, thanks to Jesse Off) ** better treatment of non-ASCII program arguments on Windows (lp#1907970, reported by Timofei Shatrov) ** implement the improved TYPEP with structure types on all other supported platforms (32-bit PowerPC, ARM, ARM64, MIPS, SPARC, RISC-V) * enhancement: stream dispatch (to vanilla ANSI / Gray / Simple variants) has been rewritten and optimized, fixing a number of bugs including: ** performance of WRITE-SEQUENCE on composite streams (lp#309136) ** handling of CLOSE on SYNONYM-STREAM (lp#1904257, reported by Richard M Kreuter) ** handling of CLOSE on BROADCAST-STREAM with no components (lp#1904722, reported by Richard M Kreuter) ** loading SB-SIMPLE-STREAMS breaks functionality of other stream classes (lp#1908132) ** some excessive consing in READ-LINE * enhancements related to RUN-PROGRAM: ** improved the documentation related to the ARGS argument (lp#806733, reported by mon_key) ** added a PRESERVE-FDS argument * bug fix: ensure that TYPE-OF returns something even on internal instances, which may become visible in the debugger. (lp#1908261, reported by Philipp Marek) * bug fix: iteration variables established by standard forms should always be considered used by the compiler. (lp#719585, reported by Roman Marynchak) * bug fix: don't allow compiler transformations to weaken the requirement against extended (list-form) function names in FUNCALL and related operators. (lp#310069) * bug fix: improve automated version number generation in branches. (lp#897867, thanks to Martin Cracauer) * bug fix: add possibly-spurious futex wakes when unwinding from a call to futex-wait, to avoid deadlocks from interrupted waits. (lp#1038034) * bug fixes in the compiler: ** error on malformed DESTRUCTURING-BIND (lp#1738638) ** error on malformed SPECIAL declaration (lp#1740756) ** error from use of VALUES type in COERCE (lp#1887712) ** enforcement of FTYPE types involving &OPTIONAL (lp#1903932) ** checking for proper-list-ness before applying transforms (lp#1905512) ** compilation of LAMBDA form including a malformed DEFUN (lp#1906056) ** memory fault from VALUES-related handling in high DEBUG code (lp#1906563) ** transforms handle explicit NIL arguments in :END arguments to SEARCH (lp#1907924) * bug fix: return COMPILED-FUNCTION for TYPE-OF on compiled functions. (lp#1906583) * some bugs were also closed in this release cycle as obsolete, having been fixed by the passage of time or other change in the environment: ** floating point error reporting on OS X (lp#309454) ** load-shared-library not working from non-main threads on OS X (lp#592425) * optimization: CONSTANTLY on constant arguments returns a more efficient function. (lp#1852585) * optimization: perform fewer Lisp/Alien representation conversions in callbacks. * optimization: perform fewer redundant widetag tests when doing type tests of complicated union types. * optimization: signed-integer division on machine-word sized operands is now implemented using multiplication, affecting TRUNCATE, FLOOR, CEILING, MOD and REM. (This optimization was already performed on unsigned-integer division)
-
-
-
-
sbcl-2.0.1158d68fe6 · ·
changes in sbcl-2.0.11 relative to sbcl-2.0.10: * minor incompatible change: (ARRAY NIL (*)) is not a subtype of STRING, as is consistent with a majority of maintained CL implementations. * minor incompatible change: ARRAY-RANK-LIMIT is decreased from 65529 to 256 * optimization: TYPEP on structure types is faster and more compact on x86[-64] and ppc64. * optimization: LOGCOUNT is faster on arm64. * optimization: SIGNUM can be inlined if its argument type is known. (lp#1903533) * bug fix: compiler crash in tail call handling. (lp#1903938) * bug fix: crash in traceroot. (lp#1903419, reported by Michal Herda) * bug fix: DESCRIBE called with a string as second argument no longer mutates that string. (lp#1903901, reported by Michal Herda) * bug fix: stack clobbering by 256-bit SIMD packs on x86-64. (lp#1901685, reported by Marco Heisig)
-
-
-
sbcl-2.0.10badfc73b · ·
changes in sbcl-2.0.10 relative to sbcl-2.0.9: * minor incompatible change: the funarg given to SB-SPROF:MAP-TRACES does not receive a wallclock time with each trace. * minor incompatible change: INTERNAL-TIME-UNITS-PER-SECOND has been increased to 10^6 on 64-bit architectures. * minor incompatible change: SIGPIPE is ignored by default again. (lp#1897624) * minor incompatible change: the system code compiled under the :LINKAGE-TABLE feature is now unconditionally compiled in, and the corresponding entry in *FEATURES* has been removed. * enhancement: style-warnings are issued for variables which have an assignment but no "for-value reference" (per CLHS glossary entry) * bug fix: SB-CLTL2:MACROEXPAND-ALL did not expand MULTIPLE-VALUE-BIND and MULTIPLE-VALUE-SETQ * bug fix: CPUID-based feature detection had an index/mask confusion (lp#1899239) * bug fix: fix a deadlock on Windows (lp#1896802) * bug fix: eliminate type errors when wall clocks go back (lp#1028026, lp#1032111) * bug fix: fix EOF handling in read-char-no-hang on concatenenated streams (lp#690408, reported by Willem Broekema) * bug fix: fix MAP-INTO on extended sequences (lp#1855375, thanks to James Kalenius) * bug fix: SB-GMP can now raise -1, 0 and 1 to the power of a bignum. (thanks to Aaron Chen) * bug fixes in tests: ** add a C function declaration (lp#1897627, thanks to Bob Felts) ** parse vmmap output more liberally (lp#1897722, reported by Bob Felts)
-
-