-
sbcl-1.1.11a2d20601 · ·
changes in sbcl-1.1.11 relative to sbcl-1.1.10: * enhancement: support building the manual under texinfo version 5. (lp#1189146) * enhancement: Windows builds no longer display the "Kitten of Death" message. A warning is instead appended to the regular banner, and may be muted with --noinform. (lp#728247) * enhancement: support building under new linker handling of syscalls under NetBSD. (thanks to Robert Swindells) * bug fix: undefined function errors are now properly reported on PPC and MIPS. (regression since 1.1.9) * bug fix: (funcall (function X junk)) didn't causes an error when X had a compiler macro. (thanks to Douglas Katzman). * bug fix: signal a warning when defining a setf-function when a setf-expander is already present. (thanks to Douglas Katzman). * bug fix: improved threading on PPC. * bug fix: ROOM works again on Windows. (lp#1206456) * bug fix: Streams were flushed even when there was one byte still left in the buffer. (lp#910213) * bug fix: OPEN handles correctly when :if-exists and :if-does-not-exist are either NIL or :ERROR. (reported by Jan Moringen)
-
sbcl-1.1.109ff18d7d · ·
changes in sbcl-1.1.10 relative to sbcl-1.1.9: * enhancement: ASDF has been updated to 3.0.2. * optimization: stack frames are packed more efficiently on x86oids, which ought to reduce the frequency of Methuselahn conservative references (it certainly helps with gc.impure.lisp / BUG-936304 on x86). * optimization: on x86 and x86-64, integer negation forms like (- x) are now recognized in modular arithmetic contexts, and compile to native negate, rather than going through bignums only to keep the low bits. * bug fix: Compiling potential modularic arithmetic forms does not cause type errors when some integer types lack lower or upper bounds. (lp#1199127) * bug fix: Non-trivial modular arithmetic forms are always cut to the right bitwidth before being used in a non-modular context. (lp#1199428) * bug fix: Multiple catch/unwind blocks in a single function are now allocated in the right stack order on win32. (lp#1072739)
-
sbcl-1.1.9a20451dd · ·
changes in sbcl-1.1.9 relative to sbcl-1.1.8: * new feature: the contrib SB-GMP links with libgmp at runtime to speed up arithmetic on bignums and ratios. (contributed by Stephan Frank) * enhancement: disassemble now annotates some previously missing static functions, like LENGTH. * enhancement: clean.sh now also cleans doc/internals. * enhancement: SB-EXT:PRINT-SYMBOL-WITH-PREFIX can be used within ~// to print a symbol with a package prefix. * enhancement: The debugger and backtracing are more robust against buggy PRINT-OBJECT methods. * optimization: calls to static functions on x86-64 use less instructions. * optimization: compute encode-universal-time at compile time when possible. * optimization: when referencing internal functions as #'x, don't go through an indirect fdefn structure. * optimization: SLEEP doesn't cons on non-immediate floats and on ratios. * optimization: (mod fixnum) type-checks are performed using one unsigned comparison, instead of two. * optimization: enable more modular arithmetic transforms in the presence of conditionals. * optimization: bitwise OR forms can now trigger modular arithmetic as well, when the result is known to be negative. * optimization: recognize more cases of useless LOGAND/LOGIOR with constants. * optimization: comparisons between rationals and constant floats or between integers and constant ratios are now converted to rationals/integers at compile time. * optimization: Smaller and faster DOUBLE-FLOAT-LOW-BITS on x86-64. * bug fix: problems with NCONC type derivation (reported by Jerry James). * bug fix: EXPT type derivation no longer constructs bogus floating-point types. (reported by Vsevolod Dyomkin) * bug fix: sb-bsd-sockets has correct declaration of the canonname field of addrinfo. (lp#1187041, patch by Jerry James) * bug fix: uninitialized type-error conditions can now be printed. (lp#1184586) * bug fix: tests for sb-bsd-sockets no longer use a predefined port for listening, allowing several tests to run in parallel. * bug fix: during disassembly to *COMPILER-TRACE-OUTPUT* instruction prefixes as used on x86 and x86-64 no longer sometimes print incorrectly. (lp#1085729) * bug fix: Specialised SIMD-PACK types can be negated. * bug fix: Modular arithmetic is more robust. (incidentally fixes another bug reported by Eric Marsden) * bug fix: FP return values from foreign calls are always rounded to single or double float precision on x87. * bug fix: Known-safe vector access on x86oids should not fail spuriously when the index is of the form (+ x constant-positive-integer). * bug fix: Remove GPL-licensed files from source distribution. (lp#1185668) * bug fix: backtrace printer no longer tries to create very large lists when the arg-count register is clobberred by other code. (lp#1192929) * bug fix: x86 should never signal an FP exception while boxing an FP value, a situation that lands us into ldb.
-
sbcl-1.1.819cda10a · ·
changes in sbcl-1.1.8 relative to sbcl-1.1.7: * notice: The implementation of MAP-ALLOCATED-OBJECTS (the heart of ROOM, plus a few SB-INTROSPECT functions) has been completely rewritten; it may now exhibit different bugs than before. * new feature: minimal runtime/compiler intrastructure support for SSE SIMD values, as SB-EXT:SIMD-PACK. Enabled on x86-64 via the build-time feature :sb-simd-pack. This should enable intrinsics extensions as libraries, without patching SBCL itself. Thanks to Alexander Gavrilov for maintaining a branch for so long. * enhancement: RUN-PROGRAM supports a :DIRECTORY argument to set the working directory of the spawned process. (lp#791800) (patch by Matthias Benkard) * enhancement: boxed vectors (vectors of T or of FIXNUM) can now be stack-allocated on PPC. * enhancement: "fixed objects" can now be stack-allocated on PPC. * enhancement: WITH-PINNED-OBJECTS no longer conses on PPC/GENCGC. * enhancement: (sb-introspect:find-definition-sources-by-name x :vop) now also returns VOPs which do not translate any functions, and finds defoptimizer types ir2convert and stack-allocate-result. * enhancement: better type derivation for APPEND, NCONC, LIST. (lp#538957) * enhancement: MAP-ALLOCATED-OBJECTS (the heart of ROOM) now walks the heap in a manner similar to the GC rather than its previous ad-hoc scheme, and is therefore no less and possibly more accurate. * fixes and enhancements related to Unicode: ** the character database information has been updated to Unicode 6.2; ** support for canonical and compatibility decomposition of characters has been added, along with support for primary composition; ** support for Unicode normalization forms of strings (NFC, NFKC, NFD and NFKD) has been included; ** querying the character database for code points not defined by Unicode gives less wrong answers (lp#1178038, reported by Ken Harris) * enhancement: print intermediate evaluation results for some ASSERTed expressions. (lp#789497) (patch by Alexandra Barchunova) * enhancement: x86-64 disassemblies are annotated with unboxed constant values when there are references to (RIP-relative) unboxed constants. * bug fix: type derivation for LOG{AND,IOR,XOR} scales linearly instead of quadratically with the size of the input in the worst case. (lp#1096444) * bug fix: handle errors when initializing *default-pathname-defaults*, sb-ext:*runtime-pathname*, sb-ext:*posix-argv* on startup, like character decoding errors, or directories being deleted. * bug fix: Loading a core with a discontiguous dynamic space now correctly computes the amount of dynamic space used. * bug fix: disassembler missing ",8" on SHLD * bug fix: backtracing through INTERNAL-ERROR signal handlers on systems that provide an "invalid" stack frame link for the signal handler itself now use the saved-fp-and-pc mechanism to pick up from the stack frame in the interrupt (signal) context. This is known to affect threaded FreeBSD/x86-64. * bug fix: some LOOP statements couldn't be compiled. (lp#1178989) * bug fix: sb-sequence:dosequence works on literal vectors. * bug fix: errors in generic arithmetic show the assembly routine's caller on x86 and x86-64. (lp#800343) * bug fix: Compile-time type errors should never result in COMPILE-FILE failure. (lp#943953) * bug fix: Known bad local calls do not cause strange failures when emitting or dumping code. (lp#504121) * bug fix: Multiply-inlined structure constructor don't cause IR2-time codegen errors: type checks are inserted as necessary. (lp#1177703) * bug fix: Unsigned modular arithmetic is correctly converted into signed modular arithemtic (mostly to exploit fixnum-width VOPs). (lp#1026634) * bug fix: a combination of inlined local function with &optional and recursion no longer causes undescriptive compiler errors. (lp#1180992) * bug fix: sub-word BOOLEAN alien types now disregard higher order bits when testing for non-zero-ness. * bug fix: (CONCATENATE 'null ...) no longer fails for generic sequences. (lp#1162301) * bug fix: Type mismatch for the value of conditional expressions are correctly reported when detected at compile-time, instead of complaining about a constant NIL (similar for non-EQ-comparable catch tags). * bug fix: Referring to INLINE global functions as values should not result in a compilation failure. (lp#1035721) * optimization: faster ISQRT on fixnums and small bignums * optimization: faster and smaller INTEGER-LENGTH on fixnums on x86-64. * optimization: On x86-64, the number of multi-byte NOP instructions used for code alignment is now always minimal. * optimization: On 64-bit targets, the compiler generates much faster code for type checks for types known at compile time that are smaller than (SIGNED-BYTE 64) or (UNSIGNED-BYTE 64) and larger than FIXNUM, and their COMPLEX variants. * optimization: On x86 targets, more uses of ALIEN-FUNCALL during cross compilation now inline the INVOKE-WITH-SAVED-FP-AND-PC dance. * optimization: ROOM no longer conses so egregiously on non-x86oid systems. * optimization: associative bitwise operations reassociate patterns like (f (f x k1) k2) to expose (f x (f k1 k2)). Same for + and * of rational values. * optimization: quasiquote expressions now perform more constant folding, instead of consing equal lists at runtime. (lp#1026439) * optimization: local call analysis of inlined higher-order function should converge more quickly, resulting in better code for complex functions. * optimization: On x86-64, medium (word-sized but wider than 32 bits) integer constants are handled more cleverly, especially when they can be represented as sign-extended (signed-byte 32). (Based on a patch by Douglas Katzman) * optimization: IF/IF conversion should reliably result in sane code when (some of) the results of the inner IF are always false or always true. * optimization: On x86oids, variable right shifts of machine words are compiled into straight SAR/SHR, instead of going through the generic VOP. (lp#1066204)
-
sbcl-1.1.7aeb93070 · ·
changes in sbcl-1.1.7 relative to sbcl-1.1.6: * enhancement: TRACE :PRINT-ALL handles multiple-valued forms. (lp#457053) * bug fix: :allocation slot option works for condition slots (lp#1049404) * bug fix: redefining conditions does not lead to multiple evaluations of hairy slot initfunctions anymore (lp#1164969) * bug fix: CLASS-DIRECT-DEFAULT-INITARGS now works for condition classes (lp#1164970) * bug fix: function constants now work as initforms and default initarg values of conditions (lp#539517) * bug fix: svref/(setf svref) on symbol macros don't crash the compiler anymore. (Minimal test case provided by James M. Lawrence on sbcl-devel) * bug fix: no more bogus ## references when pretty printing backquoted forms with non-trivial structure sharing. (lp#1161218) * bug fix: Don't signal an error on (setf (documentation nil 'function) "doc"). Signal a style-warning instead when trying to set documentation of NIL for all other documentation types. (Reported by Zach Beane; regression since 2e52fa05.) * bug fix: modular arithmetic involving large constants and conditionals should no longer result in spurious dead code elimination. (Reported by Eric Marsden). * bug fix: our mach exception handler can seemingly called very early in the program execution process on OS X 10.8.0. Try and handle that case robustly, without potentially leaking mach ports too much. * optimization: LOGBITP and LOGTEST optimizations from x86 ported to x86_64.
-
-
sbcl-1.1.63c5581a2 · ·
changes in sbcl-1.1.6 relative to sbcl-1.1.5: * enhancement: the continuable error when defknown-ing over extant fndb entries can be ignored by passing :overwrite-fndb-silently t as a keyword argument to sb-c:defknown (after attributes). Useful to allow defknown to be re-loaded. Use with :allow-other-keys t for backward compatibility. * optimization: compiler is much faster in compiling SVREF and (SETF SVREF) forms. * bug fix: Prevent a make-array transform from modifying source forms causing problems for inlined code. Thanks to Bart Botta. (regression since 1.0.42.11-bis) * bug fix: clear-output calls the correct gray stream routine, sb-gray:stream-clear-output. (lp#1153257) * bug fix: an error is signalled for an invalid format modifier: ~<~@>. (lp#1153148) * bug fix: Better error messages for package operations (lp#1154776) * bug fix: delete-package on a nonexistent package should signal a cerror. (regression since 1.0.37.44). * bug fix: accessing &MORE (stack allocated &REST) arguments checks bounds. (lp#1154946, lp#1072112) * bug fix: compiling make-array no longer signals an error when the element-type is an uknown type, a warning is issued instead. Thanks to James Kalenius (lp#1156095) * bug fix: SEARCH on generic (non-VECTOR non-LIST) sequence types no longer produces wrong results for some inputs. (Thanks to Jan Moringen.) (lp#1153312)
-
sbcl-1.1.58f78db11 · ·
changes in sbcl-1.1.5 relative to sbcl-1.1.4: * minor incompatible change: SB-SPROF:WITH-PROFILING no longer loops by default. * new feature: package local nicknames. See manual for details. * new feature: SB-EXT:MAP-DIRECTORY provides a powerful interface for directory traversal: it is the backend used by SBCL for CL:DIRECTORY. * enhancement: easier to use restarts for resolving name-conflicts resulting from IMPORT, EXPORT, or USE-PACKAGE. * enhancement: variant DEFPACKAGE forms now signal a full error with restarts provided for resolving the situation. (lp#891351) * enhancement: by setting SB-EXT:*ON-PACKAGE-VARIANCE* appropriately variant DEFPACKAGE forms can now signal a full error with restarts provided for resolving the situation. See manual for details. (lp#891351) * enhancement: make-random-state now uses CryptGenRandom as a seed on Windows. (Thanks to Anton Kovalenko.) (lp#1102748) * enhancement: backtrace improvements ** secondary CLOS dispatch functions have better debug names (lp#503081) ** easier to read method names in backtraces. See SB-DEBUG:*METHOD-FRAME-STYLE*. ** SB-DEBUG:PRINT-BACKTRACE and SB-DEBUG:LIST-BACKTRACE are available as forwards-compatible replacements for SB-DEBUG:BACKTRACE and SB-DEBUG:BACKTRACE-AS-LIST. ** SB-DEBUG:*SHOW-ENTRY-POINT-DETAILS** has been deprecated, as the same information is available in less intrusive form as frame annotations. * enhancement: SB-POSIX now provides MAP-ANON. * enhancement: test-suite results are colorized, failures in red, unexpected success in green. Works on Windows and on terminals with ANSI escape code support. Can be disabled with --no-color. * optimization: SB-CONCURRENCY:QUEUE implementation is more efficient. (thanks to James M. Lawrence) * bug fix: no more unused variable style warnings from RESTART-CASE macroexpansion (lp#1113859) * bug fix: no more unused variable style warnings when loading sb-bsd-sockets.asd (lp#1114681) * bug fix: deleting a package removes it from implementation-package lists of other packages. * bug fix: SB-SPROF:WITH-PROFILING is now usable in the Slime REPL on Darwin. This does not fix the occasional "interrupt already pending" issue, though. * bug fix: (setf (documentation 'x 'function)) and (setf (documentation #'x t)) set documentation in different places. (regression since 1.0.43.63) * bug fix: build on newer glibc. (lp#1095036)
-
sbcl-1.1.443156bac · ·
changes in sbcl-1.1.4 relative to sbcl-1.1.3: * optimization: LOOP expressions using "of-type character" have slightly more efficient expansions. * bug fix: very long (or infinite) constant lists in DOLIST do not result in very long compile times or heap exhaustion anymore. (lp#1095488) * bug fix: `#3(1) is read as #(1 1 1), not as #(1). (lp#1095918) * bug fix: adjust-array ignored :initial-element for simple-vectors. (lp#1096359) * bug fix: optimizations to MAKE-INSTANCE with literal list initargs no longer cause infinite loops (on circular data) or violate eqlity constraints. (lp#1099708) * bug fix: FIRST was not being open coded. (regression from 1.1.0)
-
sbcl-1.1.3e31ed154 · ·
changes in sbcl-1.1.3 relative to sbcl-1.1.2: * enhancement: warnings about bad locale settings, LANG, LC_CTYPE, etc. (lp#727625) * enhancement: support for C-c to interrupt the foreground thread on Windows. (Thanks to Anton Kovalenko.) * enhancement: STDCALL alien callbacks. (Thanks to Anton Kovalenko.) * enhancement: Safepoint builds on POSIX platforms can now optionally be built without pseudo-atomic sequences and their run-time overhead. * enhancement: Threads created outside of Lisp can enter Lisp through alien callbacks and appear as Lisp threads for the duration of that function invocation. On safepoint builds only. * enhancement: Miscellaneous improvements to namestrings and underlying calls to OS functions for file system access on Windows. (Thanks to Anton Kovalenko.) * enhancement: The MSI installer support for Windows now uses Windows Installer XML at least version 3.5 and includes various usability improvements. (Thanks to Dmitry Kalyanov and Anton Kovalenko.) * enhancement: The sb-bsd-sockets contrib now supports non-blocking-mode on Windows. (Thanks to Anton Kovalenko.) * enhancement: The Windows backend now supports the x86-64 platform. (Thanks to Anton Kovalenko.) * bug fix: fasls are now once again directly executable (on platforms supporting shebang lines, with a suitably-installed sbcl). * bug fix: make.sh --help no longer runs clean.sh. (lp#937001) * bug fix: Fix CAS access to slots of direct instances of structure classes in the presence of subclasses sharing the same conc-name. * bug fix: Logical pathname namestrings on Windows have been changed to be lower-case, to minimize differences between POSIX and Windows.
-
-
sbcl-1.1.20df89145 · ·
changes in sbcl-1.1.2 relative to sbcl-1.1.1: * notice: System requirements for SBCL on Microsoft Windows: Windows NT 5.1 or newer (Windows XP, Server 2003) is required. Support for Windows 2000 (NT 5.0) is no longer being maintained. * notice: Starting with this version, SBCL on Windows no longer supports building with disabled thread support. * enhancement: frlocks have been added to SB-CONCURRENCY contrib module. * enhancement: New feature sb-dynamic-core allows the runtime to be rebuilt or relocated without requiring changes to the core file on all linkage table platforms. Required on Windows. (Thanks to Anton Kovalenko.) * enhancement: Console I/O streams use UCS-2. (Thanks to Anton Kovalenko.) * enhancement: I/O on Windows unnamed pipes is interruptible asynchronously using interrupt-thread, timers when running on Windows NT version 6.1 or newer (Windows 7, Server 2008 R2). (Thanks to Anton Kovalenko.) * enhancement: Support for the experimental safepoint-based stop-the-world protocol on the PowerPC platform. * bug fix: Non-blocking reads from the Windows console were not necessarily non-blocking. Thanks to Anton Kovalenko. (lp#308923) * bug fix: stability of threads on Windows has been improved upon through an updated stop-the-world protocol (thanks to Anton Kovalenko).
-
sbcl-1.1.10baeb07f · ·
changes in sbcl-1.1.1 relative to sbcl-1.1.0: * enhancement: WITH-COMPILATION-UNIT no longer grabs the world-lock. (COMPILE and COMPILE-FILE still do.) * optimization: the SPARC backend now supports the precise generational (GENCGC) garbage collection. Enabled by default on Solaris/SPARC and Linux/SPARC. Thanks to Raymond Toy (via CMUCL). * enhancement: add experimental support for the SB-THREAD feature and the timer facility on Windows. Thanks to Dmitry Kalyanov and Anton Kovalenko. Threads are enabled by default, and this version of SBCL is considered to be the last and final release to officially support building with threads disabled. * optimization: The compiler no longer rotates loops in some cases where this transformation actually lead to worse code being generated. * bug fix: SB-CLTL2:MACROEXPAND-ALL correctly handles shadowing of symbol-macros by lexical bindings. * bug fix: stack allocation was prevented by high DEBUG declaration in several cases. * bug fix: SB-EXT:GC-LOGFILE signaled an error when no logfile was set. (thanks to SANO Masatoshi) * bug fix: PARSE-NATIVE-NAMESTRING performed non-native parsing when :JUNK-ALLOWED was true. * bug fix: type derivation inferred overly conservative types for unions of array types. (lp#1050768)
-
sbcl-1.1.0bb0248a7 · ·
changes in sbcl-1.1.0 relative to sbcl-1.0.58: * enhancement: New variable, sb-ext:*disassemble-annotate* for controlling source annotation of DISASSEMBLE output. Defaults to T. * enhancement: TIMEOUT arguments added to WITH-MUTEX and WITH-RECURSIVE-LOCK, and WAIT-P argument added to WITH-RECURSIVE-LOCK. * enhancement: SB-EXT:ATOMIC-PUSH and SB-EXT:ATOMIC-POP allow atomic operations on list heads. * enhancement: Optional features (not enabled by default) allow the use of signals for inter-thread synchronization to be reduced on certain supported platforms (currently Linux, Solaris, and FreeBSD on x86 and x86-64). Set (and :sb-thread :sb-safepoint :sb-thruption :sb-wtimer) to test these experimental features. Known remaining bugs include minor thread safety issues, less timely freeing of memory by GC, and certain (not yet optimally low) runtime overhead. Thanks to Anton Kovalenko. * optimization: CL:SORT and CL:STABLE-SORT of lists are faster and use fewer comparisons, particularly on almost-sorted inputs. * bug fix: Reading floats with large exponents no longer takes too much time before reporting that the exponent is too large. * bug fix: SB-BSD-SOCKETS:SOCKET-RECEIVE with a UDP socket now works correctly when the received datagram is larger than the provided buffer. (lp#1023438, thanks to Robert Uhl) * bug fix: SB-EXT:GET-CAS-EXPANSION returned a bogus read-form when given a SYMBOL-VALUE form with a constant symbol argument. * bug fix: SB-EXT:GET-CAS-EXPANSION signaled an error when a macro expanding into a DEFCAS defined place was used as the place. * bug fix: FIND and POSITION signaled a type-error when non-bits where looked for from bit-vectors. * bug fix: a race condition around thread creation could (in SBCL 1.0.57) lead to internal errors or crashes (lp#1058799). * documentation: a section on random number generation has been added to the manual. (lp#656839)