Switch branches/tags
Commits on Apr 28, 2007
  1. 1.0.5:

    William Harold Newman
    William Harold Newman committed Apr 28, 2007
    	release, will be tagged as sbcl_1_0_5
Commits on Apr 25, 2007
  1. NEWS editing

    nikodemus committed Apr 25, 2007
     * Hash-table functions aren't quite interrupt safe yet, aka brutal honesty.
     * Missing dots.
Commits on Apr 24, 2007
  1. make -sb-unicode builds work again

    Nathan Froyd
    Nathan Froyd committed Apr 24, 2007
    	* SB!VM:COMPLEX-CHARACTER-STRING-WIDETAG is not bound when #!-sb-unicode
Commits on Apr 20, 2007
  1. rewrite source that mixed quasiquotes and circular lists

    jsnell committed Apr 20, 2007
             * CLisp didn't like the combination, use a macrolet instead
             * Patch by Luis Oliveira
  2. turn mach-exception-handler on for macos/x86 and x86_64

    Cyrus Harmon
    Cyrus Harmon committed Apr 20, 2007
     * have add mach-exception-handler to the features by
       default. This gets around the CrashReporter problems and enables
       debugging of SBCL processes with GDB.
Commits on Apr 19, 2007
  1. fix doc/ if "make" command is not GNU make.

    NIIMI Satoshi
    NIIMI Satoshi committed Apr 19, 2007
    First build problem found by James Knight's BuildBot. :-)
  2. refactoring FILE-POSITION on FD-STREAMS, some cleanups

    nikodemus committed Apr 19, 2007
     * Make the underlying FILE-POSITION on FD-STREAMs interrupt-safe.
       This is not enough to make FILE-POSITION on FD-STREAMs interrupt
       safe, as the ANSI-STREAM layer is not -- or at least I doesn't look
       like it to me.
     * Split FD-STREAM-FILE-POSITION into two parts for easier reading,
       and make the error behaviour more ANSI compliant.
       one-stop-shopping implementation of finish-output for FD-STREAMs.
     * New function: FD-STREAM-OUTPUT-FINISHED-P, which returns false if
       there is any pending output on the stream.
     * Add comments explaining why certain VECTOR-SAP usages are safe
       without pinning the vector -- at least on x86oids.
     * Instead of (IF #-WIN32 P #+WIN32 T #-WIN32 THEN #+WIN32 ELSE),
       let us use #-WIN32 ELSE #+WIN32 (IF P THEN ELSE)...
  3. remove clisp from the list of working build hosts

    jsnell committed Apr 19, 2007
             * It's not like it's actually worked for anyone in ages, but
               people keep trying to use it...
  4. don't mutate constant strings in genesis

    jsnell committed Apr 19, 2007
             * CLisp rightfully complains about this when used as a build host
  5. fix build with OpenMCL as the host

    jsnell committed Apr 19, 2007
             * OpenMCL doesn't do the right thing with #+foo #+foo bar bar
             * An invalid slot type declaration
Commits on Apr 18, 2007
  1. SB-SYS and stream cleanups

    nikodemus committed Apr 18, 2007
     * Factor out looping on SERVE-ALL-EVENTS to FINISH-FD-STREAM-OUTPUT.
     * Make IO-TIMEOUT a subclass of TIMEOUT.
     * Remove spurious SB!SYS: prefixes from src/code/stream.lisp and
     * Delete stale symbols ALLOCATE-SYSTEM-MEMORY-AT, C-PROCEDURE,
       WITH-ENABLED-INTERRUPTS from SB-SYS. (Also delete commented out
       implementation of W-E-I in target-signal.lisp.)
  2. new STRING-OUTPUT-STREAM implementation

    nikodemus committed Apr 18, 2007
     * Instead of copying the output string each time we need to expand
       it, maintain a chain of buffers. For large inputs the improvement
       is vast, for small inputs the performance characteristics are
       essentially the same. One the average seems to cons about 30% less.
  3. gray streams manual fixes

    jsnell committed Apr 18, 2007
             * From Richard Kreuter
  4. fix big-endian build

    jsnell committed Apr 18, 2007
             * Reported by Harald Hanche-Olsen
Commits on Apr 17, 2007
  1. Win32 build fix

    lisphacker committed Apr 17, 2007
      * Win32 doesn't do sigaltstack, and thus has no SIGSTKSZ.
  2. oops, missed one case in the HAIRY-DATA-VECTOR-REF changes

    jsnell committed Apr 17, 2007
            * SIMPLE-STRING is a special case in EXTRACT-UPGRADED-ELEMENT-TYPE
  3. small genesis cleanups

    nikodemus committed Apr 17, 2007
     * Factor most of the logic to munge lisp-names to C-names into C-NAME
       and C-SYMBOL-NAME.
       Also translate #\/ to #\_, fixing duplicate definition warnings for
  4. self-announcement

    rudi committed Apr 17, 2007
        * patch by Yaroslav Kavenchuk
  5. backtrace_from_fp

    jsnell committed Apr 17, 2007
            * Split the ldb x86oid backtrace into two parts (backtrace and
              backtrace_from_fp), to make debugging e.g. thread deadlocks
              from gdb easier. For example: call backtrace_from_fp($rbp, 10)
  6. faster generic array access

    jsnell committed Apr 17, 2007
            * Replace the typecase-based HAIRY-DATA-VECTOR-* with a table-driven
              dispatch on widetags
            * Move bounds checking of one-dimension AREFs into HAIRY-DATA-VECTOR-*
              from the caller, so that we can avoid doing a full ARRAY-DIMENSION
              in the common case.
            * 3-5x speedup on generic array accesses
Commits on Apr 16, 2007
  1. revert test changes

    nikodemus committed Apr 16, 2007
     ECHERRYPICK from commit
  2. revert changes to ROOM

    nikodemus committed Apr 16, 2007
     * Cleaned up version conses too much.
     * Record the bug .89 was supposed to fix.
Commits on Apr 14, 2007
  1. ROOM cleanups & type-declaration fixes

    nikodemus committed Apr 14, 2007
     * Eliminate TRULY-THE and THE from src/code/room.lisp.
     * Byte-counts don't necessarily fit into fixnums, so remove some
       of the fixnum declarations (reported by Faré on sbcl-devel.)
     * Test-case.
  2. x86 assembly-routine cleanups

    lisphacker committed Apr 14, 2007
      * More uses of make-ea-for-vector-data.
      * More uses of make-ea-for-object-slot.
  3. better EQUALP hash function for arrays

    jsnell committed Apr 14, 2007
            * Hashing on just the first 4 elements makes EQUALP tables essentially
              useless for many kinds of data due to collisions. Hash all the
            * Optimize a couple of other cases that are probably common
              (u-b 8 vectors, fixnum vectors).
            * Change EQUALP-HASH to punt to EQ-HASH when appropriate
  4. correct type declaration for SAP+

    nikodemus committed Apr 14, 2007
     * The OFFSET argument is a (SIGNED-BYTE #.N-WORD-BITS), not a FIXNUM.
  5. small PCL cleanups and thread-safety notes

    nikodemus committed Apr 14, 2007
       equivalent to LAYOUT-CLOS-HASH. Use only the latter for easier
     * *PREVIOUS-NWRAPPERS* is protected by the PCL lock, so ok.
     * The whole of dlisp2.lisp is currently dead code.
  6. better EQUAL hash-tables, revert (non-compliant S…

    jsnell committed Apr 14, 2007
            * The value of SXHASH on non-string/bitvector arrays should not
              change when the contents of the array change (clhs sxhash,
              clhs So the commit in is invalid.
            * But luckily nothing requires us to use SXHASH for our own
              tables. Change the definition of EQUAL-HASH to punt to EQ-HASH
              for data types where EQUAL == EQL
Commits on Apr 13, 2007
  1. fix SXHASH for bignums

    jsnell committed Apr 13, 2007
            * (logAND x (ash x -7)) doesn't give a very good hash...
            * Reported by Far� Rideau on #lisp
  2. more x86 backend cleanups

    lisphacker committed Apr 13, 2007
      * optimized callback code slightly (use load-symbol-value (one
        instruction) instead of two discrete instructions)
      * cleaned up pseudo-atomic by adding an optional width to
  3. more x86 backend cleanups

    lisphacker committed Apr 13, 2007
      * make-ea-for-vector-data macro and use where appropriate.
  4. make ADJUST-ARRAY interrupt-safe

    nikodemus committed Apr 13, 2007
     * WITHOUT-INTERRUPTS while using the temp-vector that is also bound
       to the thread-local *ZAP-ARRAY-DATA-TEMP*, so that interrupt handlers
       calling ADJUST-ARRAY cannot stomp on the data.
       Also zero out the temp-vector immediately, and be a bit more sensible
       about filling it.
     * STABLE-SORT has been audited for interrupt-safety vrt. its cached
       temporary vector, and is already OK.
     * Squeeze a mighty 1050 words out of the core by using empty vectors
       for both of the above to start with.
  5. remove lock from *descriptor-handlers*

    nikodemus committed Apr 13, 2007
     * Each thread binds it, so no locking required. WITHOUT-INTERRUPTS still
       needed, however.
Commits on Apr 12, 2007
  1. shrink package hash-tables to an optimal size when saving a…

    jsnell committed Apr 12, 2007
    … core
            * Also shrink the table if sufficiently many symbols are uninterned
              from the package
    	* Shrinks the core by 800k
            * Patch by Lutz Euler on sbcl-devel 2007-04-01