Commits on Apr 30, 2010
  1. support NetBSD-current

    ... at least if I've done everything right.  Slushy freezes, don't you
    just love them?
    Also don't run the run-program inherit-stdin test, because it hangs.
    csrhodes committed Apr 30, 2010
Commits on Apr 27, 2010
  1. Remove the one place we assumed constant LVARs referred li…

     * Resulted in a type mismatch or subtle errors during compilation with
       singleton types.
       Reported by Chun Tian (binghe) on sbcl-devel
    pkhuong committed Apr 27, 2010
  2. Fix ugliness in PRINT-UNREADABLE-OBJECT

      * If one used :TYPE NIL on it, one could sometimes get printed
        representations that looked like #<\nFOO...> (notice the newline.)
      * Test case included.
      * Fix some WITH-TEST forms of previous commit.
    Tobias C. Rittweiler committed Apr 27, 2010
  3. Minor test suite tweaks.

      * Wrap WITH-TESTS around bare ASSERTS in pprint.impure.lisp.
      * Add #+sb-eval to test excercising the interpreter. (S.Boukarev)
    Tobias C. Rittweiler committed Apr 27, 2010
Commits on Apr 26, 2010

     * Discovered by Hans Hubner, reported by madnificient on #lisp.
    pkhuong committed Apr 26, 2010
  2. Avoid emitting instructions (LODS, MOVSXD) that confuse ot…

     * LODS is probably slow nowadays, and isn't supported by valgrind. Remove
       one use in calling VOPs.
     * Some disassemblers don't like useless (e.g. 32 bit to 32 bit) MOVSXD.
       Convert them to MOV.
    pkhuong committed Apr 26, 2010
  3. Downgrade WARNING to STYLE-WARNING for *possible* type errors

     * Detect some cases that might not lead to type errors, and signal
       a STYLE-WARNING instead of a WARNING then.
    pkhuong committed Apr 26, 2010
  4. Reset a toplevel INLINE declaration for READ-BYTE

     * It used to remain declaimed inline after load.lisp.
       Report and patch by Stas Boukarev.
    pkhuong committed Apr 26, 2010
  5. Fix the build on alpha

     * There was a type (SC!C) in a VOP definition...
    pkhuong committed Apr 26, 2010
  6. Perform range reduction on x87 transcendentals

      * ... instead of returning 0.0 arbitrarily.
    pkhuong committed Apr 26, 2010
  7. Fixtransforms for float TRUNCATE

     * Detect ignored secondary values correctly
     * Handle being unused (no result LVAR) without dying at compile-time
    pkhuong committed Apr 26, 2010
  8. Test for the correct range when eliding range reduction on…

    … x87
     * We now test for a maximal magnitude of 2^63, not 2^64.
    pkhuong committed Apr 26, 2010
  9. More robust reciprocal exactitude test

     * Trying to divide by tiny powers of 2 could result in compile-time
    pkhuong committed Apr 26, 2010
  10. Ensure GCD always returns positive values

     Fixes lp#413680.
    pkhuong committed Apr 26, 2010
Commits on Apr 23, 2010
  1. fix backtick problem breaking e.g. literal struct parsing.

    Fix a typo that sneaked in when committing a diff submitted by Stas
    Boukarev, version, launchpad bug #309093.
    This makes literal struct parsing work again.
    (defstruct foo (r nil :type (or null simple-vector)))
    #S(foo :r #(#x00 #x11 #x22 #x33 #x44 #x55 #x66 #x77))
    ==> now works again.
    cracauer committed Apr 23, 2010
Commits on Apr 18, 2010
  1. micro-optimize x86oid signed-word checking

    Combine MOV/CMP by using CMP with a memory operand.  Saves a byte.
    Nathan Froyd committed Apr 18, 2010
  2. micro-optimize x86 lowtag testing

    Instead of MOV/AND/CMP, use LEA/TEST, which is one byte shorter.
    Delete AL-LOADED in %TEST-LOWTAG and %TEST-HEADERS as well, since that
    parameter is unused and attempting to make the above optimization work
    in the face of that option would be tricky.
    Nathan Froyd committed Apr 18, 2010
Commits on Apr 8, 2010
  1. better DEFMETHOD pretty-printing

     No more #'FOO in lambda-lists.
    nikodemus committed Apr 8, 2010
Commits on Apr 7, 2010
  1. no more :NEW-OWNER in GRAB-MUTEX

     ...and I'm sorely tempted to make GET-MUTEX signal an error if the
     argument is anything but NIL or current thread...
    nikodemus committed Apr 7, 2010
  2. typo in src/runtime/sunos-os.c

     fault_addr where it should have been addr.
     Hopefully fixes lp#538689.
    nikodemus committed Apr 7, 2010
  3. more robust runtime executable path detection

     Patch by Josh Elsasser.
     * os_get_runtime_executable_path() extended with an argument to
       indicate if the returned path should be externally usable (which
       precludes paths such as /proc/curproc/file).
     * If os_get_runtime_executable_path() fails, use an argv[0] derived
       path instead.
     * Check build_id when saving executable cores to make sure we got
       the right runtime -- since using the argv[0] method can otherwise
       go wrong once in a blue moon.
     Fixes Launchpad #375549.
    nikodemus committed Apr 7, 2010
  4. better MAKE-HASH-TABLE :WEAKNESS documentation

     Thanks to Attila Lendvai and Nathan Froyd.
    nikodemus committed Apr 7, 2010
  5. make SB-INTROSPECT build on PPC/GENCGC, hopefully skipping the test which is too hard on the flaky combination.
     I'm really no enthused about purporting to support GENCGC on PPC,
     when we know it's flaky, but we don't have resources to fix it. :/
    nikodemus committed Apr 7, 2010
  6. check for unbound FORMAT-CONTROL for SIMPLE-CONDITIONs the default PRINT-OBJECT method.
    nikodemus committed Apr 7, 2010

     Also take care not to disassociate the stream from the socket if the
     close fails.
     Fixed launchpad bug #543951.
    nikodemus committed Apr 7, 2010
  8. nicer *PRINT-ESCAPE* printout for SIMPLE-CONDITIONs

     ...which is to say print the format control string to make them more
     identifiable form the escaped output.
    nikodemus committed Apr 7, 2010
  9. less pain for building threads on Darwin

     * Use RUN-PROGRAM for impure tests everywhere. Not only is it better
       to use the more-portable solution everywhere, we had a huge number
       of bogus failures on thread tests on Darwin due to interactions
       between fork() and thread stack cleanup.
       Addresses Launchpad bug #310208.
     * Make tests depending on mutex timeout punt on lutex platform, and
       make several test which are prone hang or crash into LDB punt on
       Darwin. ("Punt" here means "call ERROR" so we get a test failure.)
     * Disable mailbox tests prone to hang on Darwin.
 building threads on Darwin means one actually has a prayer or
     running the tests with useful results -- and the failures are real
     Darwin problems.
    nikodemus committed Apr 7, 2010
  10. SB-POSIX build fix when :SB-DOC is not in features

     * Even those who don't like documentation like working contribs:
       current SB-GROVEL design doesn't really work with #+sb-doc "doc"
     Fixes launchpad bug #552564.
    nikodemus committed Apr 7, 2010
  11. Remove bogus test (:CONDITION-VARIABLE :WAIT-MULTIPLE).

      * The test was introduced in to test against closely
        running waiters to cause spurious wakeups to each other.
        However, as has been shown in the thread "lost wakeup in
        condition-wait / condition-notify", feb 2010 on sbcl-devel, that
        optimization resulted in a possible lost wakeup case.
    contained a fix against that lost wakeup case but
        introduced back the pessimal behaviour of waiters interfering with
        each other.
        So the test was rendered bogus.
      * While I'm at it, also update NEWS to tag an entry with its LP#.
    Tobias C. Rittweiler committed Apr 7, 2010
Commits on Apr 6, 2010
  1. FIND-PACKAGE and FIND-SYMBOL deadlocks

     * Instead of linearizing purely on *PACKAGE-LOCK* split the
         1) *PACKAGE-GRAPH-LOCK* is responsible for package->package
         links, and package->symbol links.
         2) The hash-table lock on *PACKAGE-NAMES* is responsible for
         string->package associations. (%NAME and %NICKNAMES slots of
         package objects and the hash-table itself.)
       This is enough to allow FIND-SYMBOL and FIND-PACKAGE to always
       complete in finite time. INTERN, etc, can still block if eg.  the
       *PACKAGE-GRAPH-LOCK* is held by a thread waiting for the debugger,
       etc -- but the reader is at least able to read existing symbols.
     * Additionally, in cases where it is easy, signal some errors while
       *PACKAGE-GRAPH-LOCK* is not held.
    nikodemus committed Apr 6, 2010

    Nathan Froyd committed Apr 6, 2010
  3. Add DEFKNOWN for %FAILED-AVER... the compiler knows that it won't return.
    Tobias C. Rittweiler committed Apr 6, 2010
  4. Improved ASSERT-NO-CONSING reporting in test suite.

    An hooray to FORMAT:
      (assert-no-consing (sleep 0.0001)) results in
          Expected the form
              (SLEEP 1.e-4)
          NOT to cons, yet running it for 10000 times resulted in the
          allocation of 1290440 bytes (129.044 per run).
    Tobias C. Rittweiler committed Apr 6, 2010