Features Download

From: Nikodemus Siivola <nikodemus <at> random-state.net>
Subject: SBCL 1.0.29 released
Newsgroups: gmane.lisp.steel-bank.announce
Date: Thursday 4th June 2009 17:38:59 UTC (over 9 years ago)
NOTE: There is a known bug that affects behaviour of FILL on 64 bit
platforms when the first argument is a specialized array of element
type (COMPLEX SINGLE-FLOAT). If this affects you, you can either
download the file fill-patch-for-1.0.29.lisp from the Sourceforge
release area, or wait the CVS version or thereabouts, where
the fix will be included.

changes in sbcl-1.0.29 relative to 1.0.28:
  * IMPORTANT: bug database has moved from the BUGS file to Launchpad
    Bugs can be reported directly there, or by sending email to
        [email protected]
    (no subscription required.)
  * minor incompatible change: under weak type checking policy integer
    types are weakened less aggressively.
  * minor incompatible change: SAVE-LISP-AND-DIE :TOPLEVEL function is now
    allowed to return, which causes SBCL to quit with exit status 0.
    if the function returned with a small integer return value, that value
    was accidentally reused as the exit status.
  * new feature: SB-EXT:DEFINE-HASH-TABLE-TEST allows defining new
    to MAKE-HASH-TABLE :TEST, and MAKE-HASH-TABLE has been extended with
    :HASH-FUNCTION argument. Refer to user manual for details.
  * new feature: SB-EXT:DEFGLOBAL macro allows defining global non-special
  * new feature: SB-EXT:GET-TIME-OF-DAY provides access to seconds and
    microseconds since the Unix epoch on all platforms.
  * new feature: SB-EXT:ALWAYS-BOUND proclamation inhibits MAKUNBOUND, and
    allows the compiler to safely elide boundedness checks for special
  * new feature: SB-EXT:GLOBAL proclamation inhibits SPECIAL proclamations
    the symbol, prohibits both lexical and dynamic binding. This is mainly
    efficiency measure for threaded platforms, but also valueable in
    expressing intent.
  * new feature: UNC pathnames are now understood by the system on Windows.
  * optimization: the compiler uses a specialized version of FILL when the
    element type is know in more cases, making eg. (UNSIGNED-BYTE 8) case
    almost 90% faster.
  * optimization: accesses to potentially non-simple arrays where element
    is known are 50% faster.
  * optimization: compiler now generates faster array typechecking code.
  * optimization: ARRAY-DIMENSION is now faster for multidimensional and
    non-simple arrays.
  * optimization: multidimensional array accesses in the absence of type
    information regarding array rank are approximately 10% faster due to
    open coding of ARRAY-RANK.
  * optimization: result of (FILL (MAKE-ARRAY ...) ...) and (REPLACE
    (MAKE-ARRAY ...) ...) can be stack allocated if the result of
    form can be.
  * optimization: result of call to VECTOR can now be stack allocated.
  * optimization: MAKE-ARRAY with :INITIAL-CONTENTS is now vastly faster
    as long as the resulting array is one-dimensional and has a known
    element type. In particular, :INITIAL-CONTENTS (LIST ...) where the
    length of the list matches the known length of the vector does not
    allocate the list as an intermediate step. Ditto for VECTOR and simple
    backquoted forms.
  * optimization: MAKE-ARRAY can now stack allocate in the presence of
    :INITIAL-CONTENTS and :INITIAL-ELEMENT as long as the result has a
    known element type, and is known to be simple and one dimensional.
  * improvement: SBCL now emits a compiler note where stack allocation was
    requested but could not be provided (not in all cases, unfortunately)
  * improvement: better MACHINE-VERSION responses. (thanks to Josh
  * improvement: pretty-printing loop has been implemented properly.
    to Tobias Rittweiler)
  * documentation: CLOS slot typechecing policy has been documented.
  * bug fix: FILE-AUTHOR no longer signals an error on Windows.
  * bug fix: SB-SPROF could be foiled by foreign code not have a frame
    pointer, leading to memory faults. (thanks to Bart Botta)
  * bug fix: better floating point exception handling on x86/OpenBSD.
    (thanks to Josh Elsasser)
  * bug fix: exit status from QUIT when called under --script was lost
    (reported by Hubert Kauker)
  * bug fix: MAKE-ARRAY for non-zero :INITIAL-ELEMENT always used the
    same implementation of FILL to initialize the array, even if a more
    efficient one was available (reported by Stas Boukarev, thanks to
    Paul Khuong)
  * bug fix: potential miscompilation of array stack allocation on x86 and
    x86-64. (reported by Time Tossavainen)
  * bug fix: some forms of AND, OR, and COND resulted in expansions that
    result in their subforms being treated as top level forms. (reported by
    James Knight)
  * bug fix: On x86/x86-64 alien functions declared to return integers
    than a machine register could leave garbage in the high bits of the
    result register (bug 316325).
  * bug fix: disable address space randomization Linux/x86-64 as well,
    not just x86-64. (reported by Ken Olum)
  * bug fix: Attempting to DEREF an (ALIEN (* T)) would produce a WARNING
    generate incorrect code.
  * bug fix: #201; type inference for CONS and ARRAY types could derive
    wrong results in the presence of eg. RPLACA or ADJUST-ARRAY.
  * bug fix: special variables with a proclaimed specific subtype of
    could not be assigned to or bound with PROGV. (reported by Lorenz
  * bug fix: the value of CL:- in the inspector was the previous expression
    evaluated rather than the expression being evaluated.
  * bug fix: constants can no longer be locally declared special.
  * bug fix: signals delivered to threads started from foreign land (read:
    directly by pthread_create, not by MAKE-THREAD) are redirected to a
    thread by blocking all signals and resignalling.
  * bug fix: SHARED-INITIALIZE initialized unbound :ALLOCATION :CLASS slots
    from :INITFORM, if any.

OpenSolaris 2009.06 is a cutting edge operating system for enterprises 
looking to deploy the next generation of Solaris that includes the latest 
innovations from Sun and the OpenSource community. Download a copy and 
enjoy capabilities such as Networking, Storage and Virtualization. 
Go to: http://p.sf.net/sfu/opensolaris-get
Sbcl-announce mailing list
[email protected]
CD: 33ms