Juho Snellman | 30 Jun 00:21
Picon
Picon
Favicon

sbcl 1.0.18 released


Source is available in SourceForge CVS and on the SourceForge File
Releases page.

changes in sbcl-1.0.18 relative to 1.0.17:
  * minor incompatible change: SB-SPROF:WITH-PROFILING now by default
    profiles only the current thread.
  * minor incompatible change: changes to SYMBOL-VALUE of constants
    defined with DEFCONSTANT now signal an error.
  * enhancement: SB-SPROF now has support for wallclock profiling,
    and is also able to profile specific threads. REPORT output
    has also additional sorting options.
  * enhancement: better pretty-printing of DEFPACKAGE forms.  (Thanks
    to Michael Weber)
  * optimization: structure allocation has been improved
    ** constructors created by non-toplevel DEFSTRUCTs are ~40% faster.
    ** out of line constructors are ~10% faster.
    ** inline constructors are ~15% faster.
    ** inline constructors are capable of dynamic extent allocation
       (generally on x86 and x86-64, in some cases on other platforms
       as well.)
  * optimization: simple uses of HANDLER-CASE and HANDLER-BIND no
    longer cons.
  * optimization: file compiler is now able to coalesce non-circular
    lists, non-base strings, and bit-vectors. Additionally, constants
    are never referenced through SYMBOL-VALUE at runtime.
  * optimization: code defining methods on PRINT-OBJECT (and other
    generic functions in the COMMON-LISP package) now loads faster.
  * bug fix: EAI_NODATA is deprecated since RFC 3493. Stop using it
    in sb-bsd-sockets.
(Continue reading)

Christophe Rhodes | 28 May 15:37

sbcl-1.0.17 has been released

Source is available in SourceForge CVS and on the SourceForge File
Releases page.

Under some conditions (as yet slightly uncertain; see sbcl-devel), the
a stress-test of times in SBCL's regression test suite can cause SBCL
to deadlock.  It is currently believed that this is not in fact a
regression, but it is possible that some rearrangement of code has
caused this failure mode to become more likely: if your code depends
on timers, proceed with care (and please report any failures you
observe to sbcl-devel, to help the diagnosis and cure).

Best,

Christophe

from the NEWS file in the distribution:

changes in sbcl-1.0.17 relative to 1.0.16:
  * temporary regression: user code can no longer allocate closure
    variable storage on stack, due to bug 419 without explicitly
    requesting it. Please consult sbcl-devel for advice if you need to
    use this feature in the meanwhile.
  * new feature: runtime argument --control-stack-size can be used to
    adjust thread default control stack size.
  * enhancement: improved TIME output
    ** all times are reported using the measured accuracy (milliseconds
       for real and GC times, microseconds for everything else.)
    ** processor cycle counts on x86 and x86-64.
    ** interpreted forms are counted for both evaluator modes.
    ** number of lambdas converted by the compiler is reported.
(Continue reading)

Gravatar

sbcl-1.0.16 has been released (not sbcl-1.1 after all)

This was originally intended as a particularly stable release. Now,
instead, it's back to being a (more belated than usual) timeboxed
release. There's an annoying ASDF misbehavior for which we don't have
a slamdunk fix; see sbcl-devel for discussion.

from the NEWS file in the distribution:
changes in sbcl-1.0.16 relative to 1.0.15:
  * minor incompatible change: revert the changes to sb-posix's error
    signaling added in 1.0.14.
  * minor incompatible change: change PROBE-FILE back to returning
    NIL whenever we can't get a truename, as was the case before 1.0.14.
  * minor incompatible change: SB-BSD-SOCKETS:NAME-SERVICE-ERROR now
    inherits from ERROR instead of just CONDITION.
  * new feature: SB-INTROSPECT can provide source locations for instances
    as well. (thanks to Tobian Ritterweiler)
  * optimization: binding special variables now generates smaller code
    on threaded platforms.
  * optimization: MEMBER and ASSOC are over 50% faster for :TEST #'EQ
    and cases where no :TEST is given but the compiler can infer that
    the element to search is of type (OR FIXNUM (NOT NUMBER)).
  * optimization: better LOGNOT on fixnums.
  * optimization: modular arithmetic for a particular requested width
    is implemented using a tagged representation unless a better 
    representation is available.
  * fixed bug 423: TRULY-THE and *CHECK-CONSISTENCY* interaction.
  * bug fix: SB-BSD-SOCKETS:MAKE-INET-ADDRESS checks the input string
    for wellformedness and returns a specialized vector. (reported by
    Francois-Rene Rideau)
  * bug fix: FIND-CLASS was not thread-safe. (reported by Attila Lendvai)
  * bug fix: ~R was broken for vigtillions. (thanks to Luis Oliveira)
(Continue reading)

Gravatar

1. sbcl-1.0.15 has been released, and 2. upcoming sbcl-1.1

sbcl-1.0.15 is in the SourceForge file release system now; enjoy.

In unrelated sbcl-announce - ish news, the next release is expected to
be called sbcl-1.1. For details, see sbcl-devel. The high level
summary is:
  * Its freeze period is expected to start at the customary
    20th-of-the-month-ish time, but instead of releasing it around the
    25th, we'll probably poke at it a little longer than usual.
  * There is some interest in using it (and then occasional successive
    future releases) as the base for more-stable less-patched branches, 
    something like the Linux stable branches.

>From the NEWS file in the distribution of sbcl-1.0.15:
changes in sbcl-1.0.15 relative to sbcl-1.0.14:
  * enhancement: cleaner backtraces for interactive interrupts, as
    well as other cases where the interesting frames used to be
    obscured by interrupt handling frames.
  * enhancement: untracing a whole package using (UNTRACE "FOO") is
    now supported, and tracing a whole package using (TRACE "FOO") now
    traces SETF-functions as well.
  * enhancement: implement SB-POSIX:MKTEMP and SB-POSIX:MKDTEMP.
  * SB-DEBUG:PRINT-FRAME-CALL now prints the entry-point kind even
    when SB-DEBUG:*SHOW-ENTRY-POINT-DETAILS* is NIL.
  * unreadably printed representation of hash-tables now includes
    weakness if any.
  * bug fix: partially fixed #188: type propagation from assignments
    is now more efficient.
  * bug fix: fixed #407: (COERCE X 'SINGLE-FLOAT) and (COERCE X
    'DOUBLE-FLOAT) are not flushable.
  * bug fix: on x86 and x86-64 pointer based EQ-hashing now uses the
(Continue reading)

Gravatar

SBCL 1.0.14 has been released.

Source is available in SourceForge CVS and on the SourceForge File
Releases page.

from the NEWS file in the distribution:
changes in sbcl-1.0.14 relative to sbcl-1.0.13:
  * new feature: SB-EXT:*EXIT-HOOKS* are called when the process exits
    (see documentation for details.)
  * revived support for OpenBSD (contributed by Josh Elsasser)
  * partially fixed bug #108: ROOM no longer suffers from occasional
    (AVER (SAP= CURRENT END)) failures .
  * fixed bug #402: proclaimed non-standard declarations in DEFMETHOD
    bodies no longer cause a WARNING to be signalled. (reported by
    Vincent Arkesteijn)
  * bug fix: (TRUNCATE X 0) when X is a bignum now correctly signals
    DIVISION-BY-ZERO. Similarly for MOD and REM (which suffered due to
    the bug in TRUNCATE.) (reported by Michael Weber)
  * bug fix: SB-SPROF:REPORT no longer signals an error if there are
    no samples. (reported by Andy Hefner)
  * bug fix: functions compiled using (COMPILE NIL '(LAMBDA ...))
    no longer appear as (NIL ...) frames in backtraces.
  * bug fix: RESOLVE-CONFLICT (and the other name conflict machinery)
    is now actually exported from SB-EXT as documented.  (reported by
    Maciej Katafiasz)
  * bug fix: sb-aclrepl now correctly understands how to inspect
    single-floats on 64-bit platforms where single-floats are not boxed.
  * bug fix: SB-MOP:CLASS-SLOTS now signals an error if the class has not
    yet been finalized. (reported by Levente Meszaros)
  * bug fix: CLOSE :ABORT T behaves more correctly on Windows.
  * DESCRIBE and (DOCUMENTATION ... 'OPTIMIZE) describe meaning of
    SBCL-specific optimize qualities.
(Continue reading)

Gravatar

SBCL 1.0.13 has been released.

Sources are in CVS and on the SourceForge File Releases page, ho ho
ho.

>From the NEWS file in the distribution:
changes in sbcl-1.0.13 relative to sbcl-1.0.12:
  * minor incompatible change: RUN-PROGRAM now uses execvp(3) to find
    an executable in the search path, and does so in the child
    process's PATH.  The function FIND-EXECUTABLE-IN-SEARCH-PATH has
    been removed; it can be found in the CVS history, for somebody who
    needs that search behavior (see the manual).
  * minor incompatible change: compiler policy re. weakening type
    checks has changed: now type checks are weakened on if SAFETY < 2
    and SAFETY < SPEED.
  * SB-EXT:NATIVE-NAMESTRING takes a new keyword AS-FILE, forcing
    unparsing of directory pathnames as files. Analogously,
    SB-EXT:PARSE-NATIVE-NAMESTRING takes an AS-DIRECTORY, forcing a
    filename to parse into a directory pathname.
  * enhancement: implicit generic function creation now signals a
    specific style-warning IMPLICIT-GENERIC-FUNCTION-WARNING, which
    users can bind handlers for and muffle around calls to LOAD.
  * enhancement: RUN-PROGRAM allows unicode arguments and environments
    to be used (using the default stream external format), and allows
    non-simple strings to be used. (thanks to Harald Hanche-Olsen)
  * optimization: COPY-SEQ, FILL, and SUBSEQ are 30-80% faster for
    strings and vectors whose element-type or simplicity is not fully
    known at compile-time.
  * optimization: STRING-TRIM and related functions no longer allocate
    a new string when no trimming needs to be performed. These functions
    are also faster than before when the input string has been declared
    as a simple-string.
(Continue reading)

Gravatar

SBCL 1.0.12 has been released.

It is in CVS and on the File Releases webpage at SourceForge now; enjoy.

>From the NEWS file in the distribution:
changes in sbcl-1.0.12 relative to sbcl-1.0.11:
  * new feature: MAKE-HASH-TABLE now experimentally accepts a
    :SYNCHRONIZED argument, which makes the hash-table safe for
    concurrent accesses (but not iteration.) See also:
    SB-EXT:WITH-LOCKED-HASH-TABLE, and
    SB-EXT:HASH-TABLE-SYNCHRONIZED-P.
  * optimization: CONCATENATE on strings is an order of magnitue faster
    in code compiled with (> SPEED SPACE).
  * optimization: SUBSEQ is ~50% faster on lists.
  * bug fix: bug 417 fixed -- source location reporting is now more robust.
  * bug fix: SUBSEQ on a list will now correctly signal an error if if
    END is smaller then START.
  * bug fix: SB-PROFILE will no longer report extra consing for nested
    calls to profiled functions.
  * bug fix: ROOM implementation had bogus fixnum declarations which
    could cause type-errors when calling ROOM on large images.
  * bug fix: if file compilation is aborted, the partial fasl is now
    deleted, and COMPILE-FILE returns NIL as the primary value.
  * bug fix: number of thread safety issues relating to SBCL's internal
    hash-table usage have been fixed.
  * bug fix: SB-SYS:WITH-PINNED-OBJECTS could cause garbage values to
    be returned from its body when the values were being returned
    using unknown-values return convection and the W-P-O was wrapped
    inside an UNWIND-PROTECT.
  * bug fix: sb-posix should now compile again under Windows, enabling
    slime to work again.

(Continue reading)

Gravatar

SBCL version 1.0.11 has been released.

sbcl-1.0.11 sources are in CVS and on the SourceForge File Releases
page now; enjoy.

from the NEWS file in the distribution:
changes in sbcl-1.0.11 relative to sbcl-1.0.10:
  * incompatible change: hash-table accessor functions are no longer
    automatically protected by locks. Concurrent accesses on the same hash-table
    from multiple threads can give inconsistent results or even corrupt the
    hash-table completely. Multi-threaded applications should do their own
    locking at the correct granularity. In the current implementation it is
    still safe to have multiple readers access the same table, but it's not
    guaranteed that this property will be maintained in future releases.
  * minor incompatible change: (SETF MUTEX-VALUE) is not longer supported,
    and will signal an error at runtime.
  * enhancement: SB-THREAD package now exports a semaphore interface.
  * enhancement: CONS can now stack-allocate on x86 and
    x86-64. (Earlier LIST and LIST* supported stack-allocation, but
    CONS did not.)
  * enhancement: nested lists can now be stack allocated on
    platforms providing stack allocation support.
  * enhancement: dynamic-extent support has been extended to support
    cases where there are multiple possible sources for the stack
    allocated value.
  * optimization: RELEASE-MUTEX no longer needs to perform a syscall
    if the mutex is uncontested on Linux.
  * bug fix: symbol-macro expansion now uses the *MACROEXPAND-HOOK*
    as specified by the CLHS. (thanks to Tobias Rittweiler)
  * bug fix: NaN comparison now works on x86-64.
  * bug fix: CLOSE :ABORT T on a stream with pending output now
    works.
(Continue reading)

Gravatar

sbcl-1.0.10 has been released.

It is available in SourceForge CVS and on the File Releases pages.

>From the NEWS file in the distribution:
changes in sbcl-1.0.10 relative to sbcl-1.0.9:
  * minor incompatible change: the MSI installer on Windows no longer
    associates .lisp and .fasl files with the installed SBCL.
  * minor incompatible change: :UNIX is no longer present in *FEATURES*
    on Windows. (thanks to Luis Oliviera)
  * new feature: SB-CLTL2 contrib module now implements
    FUNCTION-INFORMATION. (thanks to Larry D'Anna)
  * optimization: scavenging weak pointers is now more efficient,
    requiring O(1) instead of O(N) per weak pointer to identify
    scanvenged vs. unscavenged pointers. (thanks to Paul Khuong)
  * optimization: typechecking (SETF SLOT-VALUE) is now ~5x faster in
    method bodies using constant slot-names when the first argument is
    a specializer parameter for the method.
  * optimization: SLOT-VALUE &co are now ~50% faster for variable slot
    names, when the class of the instance is a direct instance
    STANDARD-CLASS or FUNCALLABLE-STANDARD-CLASS (making them only 3x
    as slow as the constant slot-name case.)
  * optimization: member type construction is now O(N) instead
    of O(N^2).
  * optimization: UNION and NUNION are now O(N+M) for large
    inputs as long as the :TEST function is one of EQ, EQL, EQUAL, or
    EQUALP.
  * enhancement: DEFINE-MODIFY-MACRO lambda-list information is
    now more readable in environments like Slime which display it.
    (thanks to Tobias C. Rittweiler)  
  * bug fix: SB-EXT:COMPARE-AND-SWAP was non-atomic unless the compiler
    was able to infer the correct argument type for the object on which
(Continue reading)

Gravatar

sbcl-1.0.9 has been released

and should be available on sf.net CVS repository and File Releases page.

from the NEWS file in the distribution:
changes in sbcl-1.0.9 relative to sbcl-1.0.8:
  * minor incompatible change: SB-SYS:OUTPUT-RAW-BYTES is deprecated.
  * enhancement: SB-EXT:FINALIZE accepts a :DONT-SAVE keyword argument,
    indicating the finalizer should be cancelled when SAVE-LISP-AND-DIE
    is called.
  * enhancement: default PRINT-OBJECT methods for classes, slot-definitions,
    and generic function now print the object identity for anonymous
    instances. (thanks to Attila Lendvai)
  * enhancement: as an extension to MOP, SBCL now supports SETF of
    STANDARD-INSTANCE-ACCESS and FUNCALLABLE-STANDARD-INSTANCE-ACCESS.
    (thanks to Attila Lendvai)
  * enhancement: sb-cover has an alternate annotation mode which puts
    the form annotations at the car of the form, instead of annotating
    it completely. The benefit of this mode is that it shows better
    which forms were instrumented by the compiler.
  * bug fix: new compiler transforms for MEMBER and ASSOC were affected
    by printer control variables. (reported by Dan Corkill)
  * bug fix: system leaked memory when delayed output was performed by
    the OS in smaller chunks then expected. (thanks to David Smith)
  * bug fix: system leaked memory when file streams were not closed 
    properly.
  * bug fix: large objects written to slow streams that were modified
    after the write could end up with the modified state written to
    the underlying file descriptor.
  * bug fix: multiple threads operating in parallel on the same stream
    could cause buffer-overflows.
  * bug fix: source location information is stored correctly 
(Continue reading)

Gravatar

sbcl-1.0.8 has been released

It should be available on your favorite SourceForge venue now.

>From the NEWS file in the distribution:
changes in sbcl-1.0.8 relative to sbcl-1.0.7:
  * enhancement: experimental macro SB-EXT:COMPARE-AND-SWAP provides
    atomic compare-and-swap operations on threaded platforms.
  * enhancement: experimental function SB-EXT:RESTRICT-COMPILER-POLICY
    allows assining a global minimum value to optimization qualities
    (overriding proclamations and declarations).
  * enhancement: closed over variables can be stack-allocated on x86
    and x86-64.
  * performance bug fix: GETHASH and (SETF GETHASH) are once again
    non-consing.
  * optimization: slot definition lookup is now O(1). This speeds up
    eg. SLOT-VALUE and (SETF SLOT-VALUE) with variable slot names.
  * optimization: STRING-TO-OCTETS is now up to 60% faster for UTF-8.
  * optimization: ASSOC and MEMBER can now be open-coded for all
    combinations of keyword arguments when second argument is constant
    and SPEED >= SPACE. In other cases a specialized version is
    selected.
  * bug fix: using obsoleted structure instances with TYPEP and
    generic functions now signals a sensible error.
  * bug fix: threads waiting on GET-FOREGROUND can be interrupted.
    (reported by Kristoffer Kvello)
  * bug fix: backtrace construction is now more careful when making
    lisp-objects from pointers on the stack, to avoid creating bogus
    objects that can be seen by the GC.
  * bug fix: defaulting of values in contexts expecting more than 7
    variables now works on x86-64.  (reported by Christopher Laux)
  * bug fix: modifications to packages (INTERN, EXPORT, etc) are now
(Continue reading)


Gmane