Switch branches/tags
Commits on Feb 26, 2008
  1. 1.0.15: release, will be tagged as sbcl_1_0_15

    William Harold Newman
    William Harold Newman committed Feb 26, 2008
Commits on Feb 22, 2008
  1. record bug 423

    nikodemus committed Feb 22, 2008
     * TRULY-THE interacts badly with *CHECK-CONSISTENCY*.
  2. make deftransforms for UB<N>-BASH-COPY have consistent ret…

    nikodemus committed Feb 22, 2008
    …urn type
     * Make REPLACE *CHECK-CONSISTENCY* happy: the transforms used to have
       return type (VALUES NULL &OPTIONAL), whereas the out-of-line
       definitions had return type (VALUES &OPTIONAL).
Commits on Feb 19, 2008
  1. make GENCGC gencgc_zero_check=1 proof again

    nikodemus committed Feb 19, 2008
     * moved zeroing from GC time to allocation time, but after
       the point where the check was done -- thus causing the check to
       fail immediately if it was turned on. This commit moves the check
       after the zeroing, so we're good again.
       ...which also means that gencgc_zero_check=1 is not very
       interesting anymore, since the zeroing happens in the immediate
       vicinity of the check.
  2. build runtime with -Wsign-compare, and clean warnings on x…

    nikodemus committed Feb 19, 2008
     * Nothing serious seemed to be going on, though, but since C has nasty
       signed vs unsigned comparison semantics, it is better to be clear
       about what is going on.
  3. detect the Windows codepage at runtime

    nikodemus committed Feb 19, 2008
     * Using the value from the saved core is wrong. Fix by Suzuki Kei on
Commits on Feb 18, 2008

    nikodemus committed Feb 18, 2008
     20-25% improvement for the test-case in bug 188.
     * New slot in LAMBDA-VAR: LAST-INITIAL-TYPE, which holds the last
       initial-type for that variable seen by PROPAGATE-FROM-SETS.
     * Be lazy, and don't PROPAGATE-TO-REFS unless something of
       interest has happened, to wit:
        -- One of the CSET nodes has a new, more specific type.
        -- INITIAL-TYPE has become more specific.
       This also allows us elide TYPE-UNION computation in the
       uninteresting cases.
     * Requires having NODE-REOPTIMIZE set when IR1-OPTIMIZE-SET
       is called.
  2. lift MAKE-SINGLE-VALUE-TYPE calls from loops

    nikodemus committed Feb 18, 2008
     * Multiple places can use the same type, no need to cons
       a new one each time through the loop.
  3. slightly less and slightly faster constraint propagation

    nikodemus committed Feb 18, 2008
     * For negated EQL constaints, don't cons up multiple MEMBER-TYPE
       instances during a single pass through CONSTRAIN-REF-TYPE:
       accumulate a single XSET, and turn it into a MEMBER-TYPE only at
       the end.
     * Don't construct (NOT (MEMBER ...TON-OF-SYMBOLS...)) types at all,
       unless SPEED > COMPILATION speed. Knowing that a variable is not
       in a set of symbols is seldom useful, and compiling large CASE
       statements with symbols as keys can end up spending huge amounts
       of time just building these sets.
     * Adjust FD-STREAMS to use an ECASE in the single place in SBCL where
       without the aforementioned constraint propagation the compiler is
       not able to determine sufficiently constrain the result type.  (Not
       needed since the build has SPEED > COMPILATION-SPEED, but keeps
       things non-brittle.)
Commits on Feb 17, 2008
  1. Resurrexit Alpha

    csrhodes committed Feb 17, 2008
    	Sort out accumulated bitrot on the Alpha:
    	* xrefs slot for simple_fun: a couple of places in alpha-assem.S
    	* arch_skip_instruction(): compilers more careful about lvalues;
    	* arch_handle_single_step_trap(): implement it.  (Untested)
    	* ld-script.alpha-linux: update for newer systems.
    	Works For Me.  Other systems may vary.
  2. fix bug 407

    nikodemus committed Feb 17, 2008
     * %SINGLE-FLOAT and %DOUBLE-FLOAT should not be flushable.
     * BUGS entry remains: should (COERCE (EXPT 2 1024) 'SINGLE-FLOAT)
       really signal a TYPE-ERROR?

    nikodemus committed Feb 17, 2008
     * Instead of searching for the external-format object to obtain
       the character-width function, store the function (or its result
       for fixed-width external formats) directly into the FD-STREAM
       object. Non-FD-STREAM ANSI-STREAMS use the old strategy.
Commits on Feb 16, 2008
  1. don't construct obsolete instances

    csrhodes committed Feb 16, 2008
    	The CTOR make-instance optimization machinery closes over the
    	class wrapper of the class in question; however, there are
    	code paths that cause wrappers to be invalidated without causing
    	all constructors to be recomputed: for instance, the
    	redefinition of a superclass, or calling
    	MAKE-INSTANCES-OBSOLETE.  This would mean that the CTORs would
    	create obsolete instances, which would instantly trap, showing
    	up as slowness in CLOS-heavy code.
    	Problem and fix largely identified by Andy Hefner in
Commits on Feb 15, 2008
  1. update ASDF again

    nikodemus committed Feb 15, 2008
     * a version that has correct *asdf-revision*.
Commits on Feb 14, 2008
  1. small FGEN improvements

    nikodemus committed Feb 14, 2008
     * Use a DEFSTRUCT instead of a vector for clarity. Also eliminate the
       unused mystery slot.
     * Inline code of GET-NEW-FUN-GENERATOR-INTERNAL in
     * Store in a hash-table for O(1) goodness instead of a list.
     * When lifting constants out of code in FGEN construction, leave
       constant lists in place: several of the functions we generate FGENs
       for have ETYPECASE forms, which will otherwise cause us to close
       over the :EXPECTED-TYPE and :POSSIBILITIES arguments to ERROR for
       no good reason.

    nikodemus committed Feb 14, 2008
     * Use VOP translation instead of %PRIMITIVE.
     * On x86 and x86-64 improve the pointer-hash slightly: use the whole
       address, but none of the tag bits in the hash.
     * Fix type in INDEX-FOR-HASHING: the first argument is a HASH, not an
       INDEX. Given the better quality of low bits on x86oids (and
       hopefully soon on others as well), adjust the mixing a bit.
Commits on Feb 8, 2008
  1. tweak COND slightly

    nikodemus committed Feb 8, 2008
     * Don't expand into a final (COND), but directly to NIL (easier to
       read macroexpansion.)
     * Check for the common case of final T, so that the last clause can be
       unconditional instead of generating redundant IF.
  2. trivial WHEN & UNLESS change

    nikodemus committed Feb 8, 2008
     * Implement directly on top of IF & PROGN instead of COND: clearer
       macroexpansion, and slightly less work to compile to boot.
  3. spell-check and proofread NEWS a bit

    nikodemus committed Feb 8, 2008
     * ...and add the "reported by" left out from the last commit.
  4. hash-table printing improvements

    nikodemus committed Feb 8, 2008
     * Respect printer-control variables when printing readably.
     * Print non-null weakness when printing unreadably.
Commits on Feb 6, 2008
  1. more backtrace verbosity, for a change

    nikodemus committed Feb 6, 2008
     * Revert part of the *SHOW-ENTRY-POINT-DETAILS* functionality: always
       return the DEBUG-FUN-KIND from FRAME-CALL, so that instead of the
       rather confusing
       a slightly mysterious but hopefully less confusing
       appears in backtraces where the XEP hasn't been tail-merged.
  2. debugger refactoring: MAP-BACKTRACE and MAP-FRAME-ARGS

    nikodemus committed Feb 6, 2008
     * Thanks to Attila Lendvai.
Commits on Feb 5, 2008
  1. XSET used EQ instead of EQL for comparison

    nikodemus committed Feb 5, 2008
     * Fix it, and add a test specifically for MEMBER using EQL.
Commits on Feb 4, 2008
  1. Fix SB-SHOW, broken for a while.

    Richard M Kreuter
    Richard M Kreuter committed Feb 4, 2008
    * Optimization in CONCATENATE broke SB-SHOW in the cross compiler.
      Disable this optimization in SB-SHOW.

    nikodemus committed Feb 4, 2008
     * Also fix a bit of totally broken indentation in the
       hash-table code.
     * Cautionary comment about a potential type-error in parallel code.
     * More threaded hash-table tests.
  3. treat (NAMED-LAMBDA NIL ...) like (LAMBDA ...)

    nikodemus committed Feb 4, 2008
     * Getting NIL as the source-name of a functional is pretty bogus, and
       getting it as the debug-name messes with our careful debug-name
       sanity checks. So don't do it then.
  4. add explicit CHECK-CONSTANT-MODIFICATION policy

    nikodemus committed Feb 4, 2008
  5. fix typo in inline declaration for SOURCE-FORM-HAS-PATH-P

    nikodemus committed Feb 4, 2008
     * Thanks to Peter Graves.
Commits on Feb 3, 2008
  1. fix SB-POSIX:MK*TEMP() tests

    nikodemus committed Feb 3, 2008
     * BSD may be happy with just three Xs in the template, but Linux at
       least wants six.
  2. Rewrite non-standard LOOP syntax

    jsnell committed Feb 3, 2008
            * Using XCL as the host compiler did not work due to a FOR/WHILE/FOR
              sequence (which is not defined in the spec, though supported by
              most implementations). Reported by Peter Graves.

    nikodemus committed Feb 3, 2008
     * Remove the alien struct consing from the calls -- just use the SAP
     * Automagic unsupportedness handling for platforms that miss any of
     * Rudimentary tests.
     * #-win32 for now.
  4. update ASDF to 1.114 from CCLAN

    nikodemus committed Feb 3, 2008
     * On the ASDF side of the wall merge the empty SBCL_HOME handling to
       upstream, and canonicalize the whitespace there.
Commits on Feb 1, 2008
  1. friendly CHECK-TYPE error message for quoted type-specifiers

    nikodemus committed Feb 1, 2008
     * (QUOTE ...) is never a valid type-specifier.
     * When printing the macro-form responsible for an error, increase
       *PRINT-LEVEL* from 1 to 3, for a slightly better compiler-log
       reading experience.
Commits on Jan 31, 2008
  1. Fix regression in RUN-PROGRAM when :INPUT et al. are pathna…

    Richard M Kreuter
    Richard M Kreuter committed Jan 31, 2008
    * GET-DESCRIPTOR-FOR is defined with &rest, &key, and
      &allow-other-keys, and one pathway passes the &rest list to OPEN.  A
      recent addition of a keyword argument to GET-DESCRIPTOR-FOR that
      OPEN didn't recognize created a problem.
    * Add test for the correct behavior.
  2. small TRACE and UNTRACE interface improvements

    nikodemus committed Jan 31, 2008
     * (TRACE "FOO") now traces SETF-functions as well.
     * (UNTRACE "FOO") is now supported.