Tags give the ability to mark specific points in history as being important
-
sbcl-2.1.10
73c8c9f2 · ·changes in sbcl-2.1.10 relative to sbcl-2.1.9: * incompatible change: simd-pack without a specific element-type is no longer treated as containing integers. A type must be supplied for VOPs to work on such values. * minor incompatible change: the list form of the FUNCTION type specifier does not allow * as any argument type, but does allow * as a placeholder for wholly unspecified arguments when specifying the value(s) type. * minor incompatible change: the default (Lisp) toplevel option parser throws an error if it encounters an option which was intended to be used and removed by the C runtime. (lp#1945081, reported by Luke Gorrie) * new feature: there is now a defined interface for defining foreign callable functions, which can be used for passing callbacks to foreign functions or for calling Lisp code from the foreign world as a shared library (preliminary support). See the revised manual section "Calling into Lisp From C" for more details. * enhancement: arg-count mismatches in self-calls in defmethod are reported. (lp#1912436, reported by 3b) * enhancement: the SB-CLTL2 contrib now returns type information for generated structure accessors. (lp#1934859, reported by SATO shinichi) * optimization: code generation is improved for modular arithmetic involving signed operations. * platform support: ** x86-64 machine code emitter crash when attempting to assemble some vector instructions. (lp#1945975, thanks to Marco Heisig) ** conditional move instructions are now supported on arm64. ** a number of new peephole optimizations have been implemented on arm64. ** arm64 on Darwin now uses gcc-compatible thread-local storage. * bug fix: compiler notes are no longer emitted when compiling FORMATTER forms, including when implicitly triggered on a constant string argument to FORMAT. (lp#1946246, reported by SATO shinichi) * bug fix: a compiler error when attempting to compile a call to AREF with too many dimensions. (lp#1902985) * bug fix: harmonize the behaviour of SLOT-BOUNDP on non-standard-objects between the various ways in which it can be called. (lp#732229, reported by Zach Beane) * bug fix: FTRUNCATE and similar functions are now more careful about deriving facts about the sign of zero they might return. (lp#1732009, reported by Paul Dietz) -
-
-
sbcl-2.1.9
4a1da77f · ·changes in sbcl-2.1.9 relative to sbcl-2.1.8: * minor incompatible change: the experimental DEFCAS macro has been removed. * minor incompatible change: finalizing classes with slots with duplicate symbol-names will only emit a warning if either slot name is an exported symbol. (lp#1943559) * platform support: ** the debugger is better able to display SIMD packs. (thanks to Marco Heisig) ** fix a bug in zeroing YMM registers. (thanks to Marco Heisig) ** fix instruction definitions for SSE blend and shuffle vector instructions. (thanks to Marco Heisig) ** handle heap corruption exceptions in our exception handler on win64. ** improve WAIT-UNTIL-FD-USABLE on Windows, reducing busy-looping. (thanks to Fabio Almeida) * bug fix: EQUALP hash tables whose keys contain arrays containing floats should behave correctly. (lp#1942424, reported by Nicolas Neuss) -
-
-
sbcl-2.1.8
9fd4c01d · ·changes in sbcl-2.1.8 relative to sbcl-2.1.7: * minor incompatible change: the experimental DEFINE-CAS-EXPANDER macro has been removed. * minor incompatible change: the hooks in *INIT-HOOKS* are called before starting the finalizer or other non-user threads. (thanks to Sean Whitton) * platform support: ** many improvements to code generation on arm64. ** avoid slow forms of the bit test instructions BT, BTS, BTR on x86-64. ** fix a bug in loading large core files on the Apple M1/arm64. (thanks to Mayank Manjrekar) ** fix a bug in loading core loading on the Apple M1/arm64. (reported by Eric Timmons) * enhancement: the block-compiler is more robust to files with intermingled compile-time and load-time effects. The semantics of the block-compiler remain not-entirely ANSI compatible. (thanks to Sean Maher) * enhancement: (CAS SAP-REF-<x>) and CAS on alien integers is implemented on ppc64 and x86-64, working towards fixing lp#1894057 * bug fix: fix OPEN-STREAM-P on streams closed by saving a core. (lp#1938433, reported by Guillaume LE VAILLANT) * bug fix: remove a spurious warning from COERCE. (lp#1920931, reported by Andrew Berkley) * bug fix: remove a warning from inlining SET-EXCLUSIVE-OR. (lp#1936470, reported by Jerome Abela) -
-
-
sbcl-2.1.7
f3618d28 · ·changes in sbcl-2.1.7 relative to sbcl-2.1.6: * incompatible change: on certain platforms (currently just x86-64), dynamic-extent arrays specialized on character and numeric types and created without either :INITIAL-ELEMENT or :INITIAL-CONTENTS will reflect previous contents of the stack instead of #\null (or 0) in all elements. * minor incompatible change: SB-SPROF:START-PROFILING no longer silently does nothing if the clock is already running. It instead stop and restarts with the newly provided options, and warns. * minor incompatible change: the system attempts to refer to the supplied pathname in compiler diagnostics, if relevant, rather than the truename. * enhancement: new contrib module sb-graph producing graphical visualizations of Intermediate Representations of SBCL compilation data structures. * platform support: ** improved code generation for unary minus in modular contexts on arm64. ** make the disassembler annotations slightly more robust on arm64. ** release space back to the Operating System on Windows. ** improve the test for whether pages need to be committed on Windows. ** fix a bug in the use of the VPCMPEQD opcode on x86-64. (lp#1928516, thanks to Marco Heisig) * optimization: the type of (LOOP ... COLLECT ...), and the type of COLLECT INTO variables, is derived as LIST. (lp#1934577, reported by SATO shinichi) -
sbcl-2.1.6
dfcb7ede · ·changes in sbcl-2.1.6 relative to sbcl-2.1.5: * minor incompatible change: COMPILE-FILE does not merge the input file's pathname-directory into the output path if :OUTPUT-FILE was specified and has a directory that is not :UNSPECIFIC. * platform support: ** improvements to unwind code generation on arm64. ** on x86-64, accept three operands for vshufpd. (reported by Bela Pecsek) ** on x86-64, improvements to use of popcount ** improve exception handling on 64-bit Windows. (thanks to Luis Borges de Oliveira) * bug fix: allow use of macros with improper argument list. (lp#1929623, thanks to Sean Maher) * bug fix: COERCE no longer attempts to guess what the user meant if they provide a type specifier of a union of types other than STRING. (lp#1929614) * bug fix: print a single trailing zero after the decimal point for FORMAT ~E if there are no digits remaining to be printed and the width allows it. (lp#883520) -
sbcl-2.1.5
51962854 · ·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.4
f8a57bcc · ·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.3
64003051 · ·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.2
0ba5415f · ·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.1
d968217b · ·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; -