Commits on Jan 31, 2010
Commits on Jan 30, 2010
  1. Fix DERIVE-TYPE optimizer for %UNARY-ROUND

    pkhuong committed Jan 30, 2010
    Handle exclusive bounds conservatively by treating them as inclusive
    (instead of dying).
Commits on Jan 28, 2010
  1. fix permissions of directories of asdf-using contribs

    csrhodes committed Jan 28, 2010
    Report (lp #508485, sbcl-devel variously) and fix from Eugene Ossintsev
Commits on Jan 27, 2010
  1. add DERIVE-TYPE optimizer for %UNARY-ROUND

    Nathan Froyd committed Jan 27, 2010
    This change enables %UNARY-ROUND to be inlined on several platforms.
  2. slightly better code generation for x86-64 float conversions

    Nathan Froyd committed Jan 27, 2010
    %{SINGLE,DOUBLE}-FLOAT required an unnecessary temporary stack slot.
    Float->integer and float->float conversions also suffered from not being
    able to take arguments in stack SCs.
Commits on Jan 26, 2010

    Nathan Froyd committed Jan 26, 2010
    Add DERIVE-TYPE optimizers for them so the compiler can see that VOPs
    are applicable.  Add a testcase that should be valid everywhere.
Commits on Jan 25, 2010
  1. New chapter for internals manual.

    Alastair Bridgewater committed Jan 25, 2010
      * Chapter: Objects In Memory, describing type tags and heap object
Commits on Jan 21, 2010
  1. darwin/x86-64 sb-posix:stat fixes from Kei Suzuki

    Cyrus Harmon committed Jan 21, 2010
    * sb-unix:unix-stat/lstat/fstat return the 32bit inode with x86 and
      the 64bit inode with x86-64,
    * sb-posix:stat/lstat/fstat get stat values using the old stat calls
      with x86 and the new ones with x86-64
    * re-enable now-working sb-posix stat tests
Commits on Jan 20, 2010
  1. Cosmetic improvements to error output on compilation abort.

    Tobias C. Rittweiler committed Jan 20, 2010
    * Make sure that error output is printed on a fresh line.
    * Add mandatory newline before and after so the abortion
      stands out visually.
    * Make sure to report the actual condition (fatal-compiler-error
      is just an encapsulation.)
Commits on Jan 8, 2010
  1. improvements to SB-ROTATE-BYTE on x86-64

    Nathan Froyd committed Jan 8, 2010
    - Generate ROL/ROR instructions for 32-bit rotates, rather than shifts,
      ands, and ors;
    - Generate ROL/ROR instructions for 64-bit rotates.
    While we're here, we might as well fix the FIXME about the ordering of
    DEFTRANSFORMS to ensure we do the right thing for identity rotates.
Commits on Jan 6, 2010
  1. remove dead DATA-VECTOR-{REF,SET} transforms

    Nathan Froyd committed Jan 6, 2010
    The transforms for (SIMPLE-ARRAY (UNSIGNED-BYTE N)) where (< N 8) have
    never been used.  Consign them to the version control bitbucket.
  2. micro-optimize widetag checking on x86oids

    Nathan Froyd committed Jan 6, 2010
    If we are checking a range of widetags and there are no more widetags to
    check, we can tweak the widetag and do a single, unsigned comparison.
Commits on Jan 4, 2010
  1. Fix second return value of GET-MACRO-CHARACTER.

    Tobias C. Rittweiler committed Jan 4, 2010
    GET-MACRO-CHARACTER always refered to *READTABLE* when computing its
    second return value (the non-terminating-p flag) rather than to the
    readtable that may have been passed explicitly.
Commits on Dec 30, 2009
  1. Make threads.pure.lisp symbol-value-in-thread.[78] tests mo…

    Alastair Bridgewater committed Dec 30, 2009
    …re reliable.
      * Actually assert that an error occurred (setf won't signal an
    unbound-variable if the thread still lives).
      * Join the thread before attempting to access the value (no more race
  2. Kludge reduction in debug-int.

    Alastair Bridgewater committed Dec 30, 2009
      * We can't dump packages in the cross-compiler, but we can use
    load-time-value, which is sufficient.
Commits on Dec 24, 2009
  1. Fix sb-posix build on win32.

    Alastair Bridgewater committed Dec 24, 2009
      * This was entirely symbol-export issues between win32 and non-win32.
Commits on Dec 22, 2009
  1. Fix x86oid backtrace on sigaltstack in LDB.

    Alastair Bridgewater committed Dec 22, 2009
      * altstack_pointer_p() derives the location of the altstack from the
    value of arch_os_get_current_thread(), which returns a struct thread *.
    This caused the subsequent offset calculation to be off by a factor of
    sizeof(struct thread), thus completely overshooting the altstack area.
Commits on Dec 21, 2009
  1. Display descriptions for internal errors in the runtime.

    Alastair Bridgewater committed Dec 21, 2009
      * In genesis, output a define with the descriptions of internal
      * In interr.c, create an array with said descriptions and use it when
    describing an internal error.
  2. fix regressions in DESCRIBE from

    Gabor Melis committed Dec 21, 2009
Commits on Dec 18, 2009
  1. enabled threads by default on x86[-64] Linux

    nikodemus committed Dec 18, 2009
     I'll let FreeBSD folks make the judgement if threads should be
     default there as well.
     Also: update INSTALL documentation regarding *FEATURES* a bit, and
     make the documentation clear about availability of threads on
     different builds.
  2. switch SB-QUEUE into using ASDF

    nikodemus committed Dec 18, 2009 that other systems can :depends-on it.
  3. both .FASL and .fasl force fasl-loading

    nikodemus committed Dec 18, 2009
     Bug with case-insensitive filesystems cause other implementations
     .FASL files to be loaded as source reported by Willem Broekema.
  4. nuke trailing newline from error string

    nikodemus committed Dec 18, 2009
     Thanks to Stas Boukarev.
  5. fix WITH-MUTEX docstring

    Nathan Froyd committed Dec 18, 2009
    Noted on sbcl-devel 2009-12-17 by William Halliburton.
Commits on Dec 17, 2009

    nikodemus committed Dec 17, 2009
     Reported by Fare Rideau: POSIX putenv() puts the actual string it is
     passed into environ, which is definitely wrong for any lisp string.
     Since we don't want to leak memory either, implement our own putenv()
     on top of setenv() -- and the other way around on Windows which
     doesn't have setenv().
     Messed up is what this is -- to keep a semblance of sanity add

    Nathan Froyd committed Dec 17, 2009
    Use FIXNUM-TAG-MASK and N-FIXNUM-TAG-BITS where appropriate.
  3. post-fact correct commit log message

    nikodemus committed Dec 17, 2009
     Previous commit should have said:
     " termios additions to SB-POSIX
        Thanks to Jerry James"
     ...and the one before that should have called its version,
     but otherwise has the correct text.
     ...sorry about the noise.
  4. thread-safe FIND-PACKAGE & DEFPACKAGE

    nikodemus committed Dec 17, 2009
     * Must use WITH-PACKAGES around the GETHASH *PACKAGE-NAMES*.
  5. thread-safe FIND-PACKAGE & DEFPACKAGE

    nikodemus committed Dec 17, 2009
     * Must use WITH-PACKAGES around the GETHASH *PACKAGE-NAMES*.
Commits on Dec 16, 2009
  1. implement UTF external formats

    csrhodes committed Dec 16, 2009
    UTF-16 and UTF-32, being strict about handling of surrogates and noncharacters
    according to Unicode.
  2. preparation for UTF external formats

    csrhodes committed Dec 16, 2009
    On input, there are potentially two non-constant sizes of data that need
    to be read; for variable-width formats, there are both the number of bytes
    for a particular character, and the number of bytes that need to be read in
    order to know how many bytes need to be read for a character (previously
    hardwired to 1).  Separate out these two sizes in preparation for UTF-16 and
    UTF-32 external formats.
  3. improve UCS external formats

    csrhodes committed Dec 16, 2009
    Fix a simple bug in the CHAR->UCS-2BE error case.
    Fix error-handling UCS-2 cases, by actually being careful about using the
    return values of the encoding-error/decoding-error octet functions, and by
    using adjustable vectors.  Include tests for this.
    Implement UCS-4, as a straight-through 32-bit encoding of the char-code.
    Move external-formats/ucs-2.lisp to external-formats/enc-ucs.lisp, and include
    a comment header explaining the distinction in our terms between UCS and UTF
    external formats.