The annotated tag "sbcl-1.0.57" has been created in SBCL:
at 7b43d06665a7c122d0017dc1babfe1aab60df079 (tag)
tagging 77d8891494a0de35a6095e1ddb0a0a71361efce8 (commit)
tagged by Juho Snellman
on Sun May 20 20:55:37 2012 +0200
- Log -----------------------------------------------------------------
changes in sbcl-1.0.57 relative to sbcl-1.0.56:
* RANDOM enhancements and bug fixes:
** bug fix: the range and distribution of random integers could be
catastrophically wrong when the compiler derived the type of its
argument as a disjoint set of small integers.
** bug fix: the distribution of random integers is now completely
uniform even when the specified limit is not a power of two.
(Previously some values could be about 0.1 % more probable than
others in the worst case.)
** RANDOM on large integer arguments is generally faster and conses
less than before; this is visible for fixnums above a length of
about 24 bits, but extremely so for bignums: the old implementation
used time and space quadratical in the size of the argument there,
the new one is linear.
* enhancement: redesigned protocol for quitting SBCL. SB-EXT:EXIT is the new
main entry point, SB-EXT:QUIT is deprecated.
* enhancement: additions to the SB-THREAD API: RETURN-FROM-THREAD,
ABORT-THREAD, MAIN-THREAD-P, and MAIN-THREAD.
* enhancement: FASL loading no longer grabs the world-lock.
* enhancement: GENCGC reclaims space more aggressively when objects being
allocated are a large fraction of the total available heap space.
* enhancement: backtraces show the correct number of arguments for frames
called with too many arguments.
* enhancement: support for abort(3), exit(3), and _exit(2) has been added to
* enhancement: ASDF has been updated 2.21.
* optimization: fewer uses of full calls to signed modular functions.
* optimization: typechecking alien values is typically 5 x faster.
* optimization: FDEFINITION, SYMBOL-FUNCTION, MACRO-FUNCTION, and FBOUNDP
are 20% faster.
* bug fix: file compilation performance issues when dumping subtypes
of CHARACTER (lp#994487)
* bug fix: fixed disassembly of some SSE instructions on x86-64.
* bug fix: SB-SIMPLE-STREAMS signals an error for bogus :CLASS arguments in
OPEN. (lp#969352, thanks to Kambiz Darabi)
* bug fix: CASE normal-clauses do not allow T and OTHERWISE as keys.
* bug fix: (SETF (FIND-CLASS X) NIL) removed proper name of the underlying
classoid even if X was not the proper name of the class. (lp#941102)
* bug fix: declaration leakage between lexical environments due to careless
use of NCONC in MAKE-LEXENV. (lp#924276)
* bug fix: ENSURE-DIRECTORIES-EXIST now works when
*default-pathname-defaults* contains NAME or TYPE components.
* bug fix: PPRINT couldn't print improper lists with CARs being some symbols
from CL package, e.g. (loop . 10).
* bug fix: run-program with existent or non-existent files for :output or
:input when :if-output-exists or :if-input-does-not-exist are NIL properly
returns NIL instead of signalling an obscure error.
* bug fix: fix miscompilation of some logand forms with large constant
* bug fix: account for funcallable-instance objects properly in ROOM.
* bug fix: incorrect octets reported for c-string decoding errors.
* bug fix: miscompilation of LDB on the PowerPC platform. (thanks to Bruce
* bug fix: better input error reporting for COMPILE-FILE. (lp#493380)
* bug fix: default size of non-nursery generations has been shrunk on GENCGC,
allowing faster release of memory back to the OS. (lp#991293)
* bug fix: WITH-DEADLINE (:SECONDS NIL :OVERRIDE T) now drops any
existing deadline for the dynamic scope of its body.
* bug fix: compiler-internal interval arithmetic needed to be more
conservative about open intervals when operated on by monotonic but not
strictly-monotonic functions. (lp#975528)
* bug fix: copy-tree caused stack exhaustion on long linear lists, and now
it's also slightly faster. (lp#998926)
* bug fix: better error messages for malformed declarations.
* bug fix: define-condition didn't return the name of the defined condition.
** improved docstrings: REPLACE (lp#965592)
Christophe Rhodes (5):
minor fix to alien.impure.lisp test
Fix bug in unsigned modular arithmetic using a signed implementation
support funcallable-instances in ROOM/map-allocated-objects
Fix ldb / %%ldb / rlwinm on PowerPC
open intervals and type derivation
Juho Snellman (1):
1.0.57: will be tagged as "sbcl-1.0.57"
Kambiz Darabi (1):
sb-simple-streams: signal an error for bad stream classes in OPEN
Lutz Euler (13):
Correct disassembly of some SSE instructions on x86-64.
Micro-optimize type tests using widetag on x86-64.
Micro-optimize LENGTH/LIST and VALUES-LIST on x86-64 for code size.
Micro-optimize some type tests on x86-64 for code size.
Micro-optimization: Shorter encoding of MOVZX in more cases on x86-64
Micro-optimize machine code for some register tests on x86[-64].
Fix typos in docstrings.
Typo fixes in comments
Allow larger immediate values in fixnum arithmetic on x86-64.
Micro-optimizations in MOVE-IMMEDIATE and MOVE-ARG on x86-64
Fix the DEFTRANSFORM of RANDOM for hairy integer types.
Add some tests for basic RANDOM functionality.
Better equidistributed and faster/less consing integer RANDOM.
Nathan Froyd (5):
use LEA Y, [X+X] instead of LEA Y, [X*2] where appropriate on x86-64
micro-optimize FIXNUMP on known (signed-byte 64) quantities on x86-64
s/8/n-word-bytes/ in x86-64's macros.lisp where appropriate
micro-optimize allocation sequences, special variable binding on x86-64
use fixnums for x86-64 array accessor VOPs when possible
Nikodemus Siivola (34):
better REPLACE docstring
don't refer to unix namestrings on windows
plain T and OTHERWISE not allowed in CASE normal-clauses
more conservative classoid-name clearing
MAKE-LEXENV used NCONC on its arguments, which callers did not expect
gencgc: reclaim space more aggressively
cleanup: use size_t for new_areas_index and max_new_areas
cleanup: gencgc copy_unboxed_object and shared gc_general_copy_object
cleanup: partial long cleanup in sniff_code_object and gencgc_apply_code_fixups
cleanup: remove cast to (unsigned long) from print_ptr()
robustify (deadlock-detection interrupts) test
gencgc: tune the recent "more aggressive GC" changes
correct octets in c-string decoding errors
associate stream decoding and encoding errors with their restarts
wrap a couple of long lines
prettier encoding/decoding error messages
sanitize one of the recent c-string decoding tests
show correct number of arguments for arg-count error frames
teach IR1-TRANSFORM-TYPE-PREDICATE about alien types
better reader-errors for COMPILE-FILE
move ABOUT-TO-MODIFY-SYMBOL-VALUE to symbol.lisp
globaldb: add source-transforms for INFO functions on host
globaldb: remove ENV-LIST arguments from INFO functions
remove world-lock from around FASL loading
fix compiler reader error reporting
gencgc: i in add_new_area needs to be signed
gencgc: scale generation.bytes_consed_between_gc to number of gens
tune bug-981106 test based on the heap size
redesign exiting SBCL
add SB-UNIX:UNIX-EXIT back, use the deprecation framwork for it and SB-EXT:QUIT
sb-posix: abort(3), exit(3), and _exit(2)
better timeout handling in EXIT and %EXIT-OTHER-THREADS
don't unconditionally unparse CHARACTER-SET types into MEMBER types
Stas Boukarev (15):
ensure-directory-exists: didn't work when *d-p-d* had NAME or TYPE components.
pprint: Make sure that lists like (loop . 10) can be printed.
run-program: proper handling of :if-input-does-not-exist NIL.
format: Signal errors when colinc and mincol are not positive integers.
Better arglists for some package accessors.
Better error messages to condition signalling functions.
runtime clean up.
Update ASDF to 2.21.
Optimize truncate, ceiling and friends when divisor is 1 or -1.
Fix --dynamic-space-size 1GB on x86.
Better error message for malformed IGNORE declarations.
Better error for malformed type declarations.
define-condition: return the name of the defined condition.
Fix build on windows.