Switch branches/tags
Commits on Sep 1, 2008
Commits on Aug 22, 2008
  1. Fix PARSE-, NATIVE-NAMESTRING for logical pathnames.

    * Whereas these used to error erroneously, now they error properly.
    Richard M Kreuter committed Aug 22, 2008
Commits on Aug 21, 2008
  1. Fix minor bug in TIME.

    * Don't print infinitely many zeroes in %FORMAT-DECIMAL when the last
      several digits of the first argument are zero.  Contributed by Bart Botta.
    Richard M Kreuter committed Aug 21, 2008
Commits on Aug 20, 2008
  1. Improved interrupt handling on darwin/x86[-64]

     * Remove an obsolete race condition check in SIGBUS handling
       on x86. Accesses to unmapped addresses should no longer result
       in infinite loops.
     * Now reserve a 256 byte (slightly more than that is actually safe
       to use) zone just below SP for signal handlers to safely push
       data in.
    pkhuong committed Aug 20, 2008
  2. Small bugfixes

     * Modify a couple number functions to avoid silently executing
       the default case even when the argument isn't a number.
     * Fix an obscure bug in MERGE-LETS.
    pkhuong committed Aug 20, 2008
Commits on Aug 17, 2008
  1. correct shadowing-import of NIL in NAME-CONFLICT

     * Was missing the surrounding LIST -- NIL alone is a designator for
       the empty list.
       Patch by Michael Weber.
    nikodemus committed Aug 17, 2008
  2. muffle code deletion note from destructuring-bind

     * Was emitted when destructuring constant lists.
    nikodemus committed Aug 17, 2008
Commits on Aug 15, 2008
  1. new function: page_region_start()

     ...and use where appropriate.
    nikodemus committed Aug 15, 2008
  2. new function: is_lisp_immediate()

     * Use where appropriate in the runtime.
     * Since runtime.h now includes fixnum.h, remove a few includes as well.
    nikodemus committed Aug 15, 2008
Commits on Aug 10, 2008
  1. more ir1 transforms for REPLACE

    Supplying START1 or START2 does not inhibit ir1 transforms for
    specialized array types.
    Gabor Melis committed Aug 10, 2008
Commits on Aug 7, 2008

     * Slightly less catastrophic.
    nikodemus committed Aug 7, 2008
Commits on Aug 5, 2008
  1. refactor global muffling slightly

     * Move TYPEP *MUFFLED-WARNINGS* into a separate function for easier
       debugging. (Too hard to replace the inital handler cluster while
       running, whereas redefining MUFFLED-WARNING-P is easy.)
    nikodemus committed Aug 5, 2008
  2. incorrect function type canonicalization

     * If the signature has both &KEY and &OPTIONAL arguments, the
       canonicalization cannot merge &OPTIONAL into &REST. (Not that I am sure why
       we should be merging &OPTIONAL into &REST in *any* case, but this caused
       bogus warning.)
     * Add &KEY SILENT to PARSE-LAMBDA-LIST-LIKE-THING, which silences any
       style-warnings from it: we don't want SPECIFIER-TYPE to complain about the
       lambda-lists it parses.
    nikodemus committed Aug 5, 2008
  3. COMPILER-WARN accepts conditions

     * Accidentally left out from
    nikodemus committed Aug 5, 2008
  4. fix bug #425

     * Make CLOSE drop input buffers from ANSI-STREAMs. Reported by Damien
       Cassou on sbcl-devel.
     * Signal SB-INT:CLOSED-STREAM-ERROR instead of a SIMPLE-ERROR -- good
       for clarity, enables a proper test.
    nikodemus committed Aug 5, 2008
Commits on Aug 4, 2008
  1. delete stale symbol SB-DI:DO-BLOCKS

     * Reported by Tobias C. Rittweiler.
    nikodemus committed Aug 4, 2008
  2. fast CLRHASH on empty hash-tables

     * Patch by Alec Berryman.
    nikodemus committed Aug 4, 2008
  3. manual updates

     * Four patches from Xan Lopez on sbcl-devel, one slightly adjusted.
     * Document slot access efficiency issues.
    nikodemus committed Aug 4, 2008
  4. transform ADJOIN, ASSOC, MEMBER, and RASSOC to -EQ version…

    …s more often
     * Add transforms from %FOO and %FOO-KEY to %FOO-EQ and %FOO-KEY-EQ,
       so that propagated type information has a chance to work its magic.
    nikodemus committed Aug 4, 2008
Commits on Aug 3, 2008
  1. DOLIST variable type on constant lists

     * When DOLIST list is a (LIST ...) form where every argument is a
       constant, constant-fold it during macro-expansion. (User has no
       direct access to the list itself, so this is safe.)
     * When DOLIST list ia a constant, add an extra binding,
       and annotate its type as (MEMBER ...).
       This means that the compiler knows that in
        (dolist (x (list 1 2 3)) ...)
       X is (INTEGER 1 3).
     * Also add a STYLE-WARNING for constant dotted lists in DOLIST.
    nikodemus committed Aug 3, 2008
  2. derive the type of (AREF (THE STRING X) Y) as CHARACTER

     * Even though we don't know the exact upgraded array element type, we
       do know the result is a character.
     * Noticed while wondering why C-ESCAPE had a call to %MEMBER instead
       of %MEMBER-EQ.
    nikodemus committed Aug 3, 2008
Commits on Aug 2, 2008
  1. package name conflict patched from Michael Weber

     * Tests for package system name conflict resolution.
     * Fixed EXPORT bug which left symbol unexported in conflict
     * Unbreak RESOLVE-CONFLICT restart:
        ** USEing packages with conflicting symbols
        ** Correctly handle conflicts involving CL:NIL by passing (list
           symbol) to package frobbing functions which take a list
     * Removed commented-out version of NAME-CONFLICT.
    nikodemus committed Aug 2, 2008
Commits on Aug 1, 2008
  1. Immediate SAP bug fix & grab bag of small changes

     * SAPs can't actually be emitted as immediates. Only a problem now that
       constants are treated more cleverly.
       Fixes the "#.(SB-SYS:INT-SAP #X00000000) fell through ETYPECASE expression"
       bug associated with CFFI's NULL-POINTER. Reported by Ingo Bormuth on
       sbcl-devel, and by several others on #lisp.
     * EAs can still only fit 32 bit displacements on x86-64.
     * Make SAP-INT foldable, thus improving code generation for expressions
       like (sap= +null-pointer+ sap).
    pkhuong committed Aug 1, 2008
  2. Fix WITH-ALIEN for non-x86oids.

    Richard M Kreuter committed Aug 1, 2008
  3. give a warning for newly deprecated stack-allcation optimi…

    …zation policies
     * Most importantly, keep the symbols around for a while, since otherwise reading
       code that tries to twiddle them causes a package-lock violation.
     * Make it a refence condition for good measure.
     * Prettify the output in from other policy-related warnings while at it.
    nikodemus committed Aug 1, 2008
  4. SB-SYS spring cleaning

     * Delete a bunch of unused symbols (and one from SB-KERNEL too.)
    nikodemus committed Aug 1, 2008
Commits on Jul 31, 2008
  1. additional list seeking transformations

     * Implement TRANSFORM-LIST-PRED-SEEK, very much akin to
       TRANSFORM-LIST-ITEM-SEEK, and use it to optimize MEMBER-IF[-NOT],
       ASSOC-IF[-NOT], and RASSOC-IF[-NOT].
     * Implement full versions of list seeking functions in terms of the
       specialized versions: in some cases this is a win, in some cases a
       loss -- but the number of places where functionality is duplicated
       is reduced, which should be easier on the maintenance and less
     * Add a TRANSFORM-LIST-ITEM-SEEK transform for RASSOC.
     * LVAR-FOR-NAMED-FUNCTION was a restricted form of LVAR-FUN-IS.  Do
       away with the former, and move the latter to ir1util.lisp.
    nikodemus committed Jul 31, 2008
  2. elide runtime calls to %COERCE-CALLABLE-TO-FUN in more cases

     * Core change: %COERCE-CALLABLE-TO-FUN can now convert to
     * While at it, refactor the whole "make up a form that returns a
       function to use instead of this lvar or source form" thing for
     * Record slightly crazy OPTIMIZATION possibility.
    nikodemus committed Jul 31, 2008
  3. SB-COVER:REPORT signals an error for non-directory pathnames

     * Based on patch by Pierre Mai.
    nikodemus committed Jul 31, 2008
Commits on Jul 30, 2008
  1. refactor stack allocation decisions

     * Remove SB-C::STACK-ALLOCATE-* policies.
       is true (the default), with the following exceptions:
        ** Value cells are not stack allocated.
        ** Vectors that may be longer then a single page are stack
           allocated only in SAFETY 0 policies.
     * New declaration: SB-INT:TRULY-DYNAMIC-EXTENT. Always stack-allocates,
       regardless of SB-EXT:*STACK-ALLOCATE-DYNAMIC-EXTENT*. Also causes stack
       allocation of value cells and potentially large vectors.
       Used exclusively inside SBCL.
     * Move STACK-ALLOCATE-RESULT optimizers from backends to
     * Documentation.
    nikodemus committed Jul 30, 2008
  2. fix SB-SHOW build

     * Patch by Josh Elsasser for STYLE-WARN.
     * Make COLD-PRINT able to print improper lists -- early source
       locations are conses with the TLF number in the CDR.
    nikodemus committed Jul 30, 2008
  3. minor wording fix

     * Patch by Zach Beane.
    nikodemus committed Jul 30, 2008
  4. recursive restart computation

     * A call to COMPUTE-RESTARTS from restart test function caused
       infinite recursion. Fix with a stack.
     * Test-case.
    nikodemus committed Jul 30, 2008
  5. more careful PROGV and SET

     * Don't bind constants in PROGV.
     * Check variable types before binding / assignment.
     * When un-binding, PROGV doesn't temporarily bind a variable to NIL
       anymore, but directly to the unbound marker, so that an interrupt
       handler cannot see a bogus value.
     * Based on patch by Richard Kreuter.
    nikodemus committed Jul 30, 2008
  6. fix alien stack leak

     * On x86oids bind *ALIEN-STACK* once for the entire WITH-ALIEN, obviating the need
       to release local aliens one-by-one.
     * On other platforms protect the cleanup with UWP.
     * :STATIC option has been disabled in WITH-ALIEN for a while now --
       not sure why, but remove the corresponding bit from docstring as
     * Test-case by Andy Hefner.
    nikodemus committed Jul 30, 2008