Permalink
Switch branches/tags
Commits on Oct 8, 2012
  1. allow SB-CONTRIB operation without explicitly set CC

      Fall back to "cc" with a style-warning.
    nikodemus committed Oct 8, 2012
Commits on Oct 7, 2012
  1. don't close runtime dlhandle on Darwin

      On newish Darwin it works, but some people still run old enough
      version that it won't work. As long as we're not explicitly checking
      for "Darwin new enough?", let's try not to break...
    
      Fixes lp#957385
    nikodemus committed Oct 7, 2012
  2. make it possible to run tests on an installed SBCL

     Allow override of SBCL location via TEST_SBCL_HOME,
     TEST_SBCL_RUNTIME, and TEST_SBCL_CORE.
    
     Allow override of temporary file location via TEST_DIRECTORY. (Some
     tests still write to /tmp, though -- so user beware!)
    
     Small unrelated whitespace / style-warning fixes.
    fare committed with nikodemus Apr 14, 2012
  3. teach NODE-CONSERVATIVE-TYPE about union types

      Conservative type of STRING is STRING -- and this makes it so.
    
      Fixes lp#1050768 (but also future-proof ARRAY-IN-BOUNDS-P against
      '*) explicitly.
    nikodemus committed Oct 7, 2012
Commits on Oct 6, 2012
  1. Kill a build warning about unreachable code in MAKE-SEQUENCE.

    Drop the T clause in a TYPECASE testing for ATOM, CONS and T as ATOM is
    specified to be (NOT CONS) which the compiler well knows.
    
    Break some overly long lines.
    leuler committed Oct 6, 2012
  2. Fix some tests for builds without sb-eval.

    Conditionalize on #+SB-EVAL test parts that bind *EVALUATOR-MODE* to
    :INTERPRET. The affected tests are:
    - compiler.pure.lisp / :multiple-args-to-function
    - eval.impure.lisp / (eval :empty-let-is-not-toplevel)
    leuler committed Oct 6, 2012
  3. untangle WITH-IR1-NAMESPACE and WITH-COMPILATION-VALUES

     * Move the first out from the latter, and put parts of the first that
       belong in the latter there. They're sufficiently unrelated that
       it's just confusing. Also clarify why some stuff is in W-C-V and
       not W-IR1-N.
    
     * Places that need W-IR1-N: %COMPILE, COMPILE-LOAD-TIME-STUFF,
       CONVERT-AND-MAYBE-COMPILE. These are our topmost entry points into
       the convert & compile dance.
    
       ...and PROCESS-TOPLEVEL-LOCALLY, which needs to process
       declarations. We really should separate environment handling and
       compiler.
    
     * This also removes the unsightly (REMHASH NAME *FREE-FUNS*) hack
       from couple of places.
    
     * Move *SOURCE-PATHS* binding to WITH-SOURCE-PATHS (new), also
       sufficiently unrelated to be confusing.
    
     (This fixes the compiler.test.sh regression I managed to introduce.)
    nikodemus committed Oct 5, 2012
  4. fix PARSE-NATIVE-NAMESTRING :JUNK-ALLOWED T

     (and word-wrap NEWS)
    nikodemus committed Oct 4, 2012
  5. fix GC-LOGFILE when none has been set

      ...and the return value from (SETF GC-LOGFILE).
    snmsts committed with nikodemus Oct 3, 2012
  6. make walker tests happier

      Our improved handling of specials in the walker broke a few tests,
      investigation of which revealed a few further bogosities -- patch
      over the worst of them, partially in the walker, partially by fixing
      tests which expected bogus results.
    
      LET* walking is still slightly broken when it comes to specials,
      since it isn't properly recursive the way it has to be. Mark the
      test as expected to fail for now -- fixing it ASAP properly.
    
      (I must have managed to run tests in the wrong tree once again,
      since I didn't catch this before the last push. Sorry!)
    nikodemus committed Oct 3, 2012
  7. fix structure stack allocation for high-debug code

      * Allow values to flow through casts in good-for-dx analysis.
    
      * Let-convert main-entry points for already inlined optional
        dispatches.
    
      * Don't preserve single-use debug vars in system-lambdas, no
        matter what the policy says.
    
      * Don't add INDEFINITE-EXTENT declarations to hairy entries without
        &REST arguments.
    
      * SB-C::REST-CONVERSION optimization declaration was pretty
        pointless, take it out.
    
      * Test our DX stuff in high-debug code as well.
    nikodemus committed Sep 27, 2012
  8. x86-64: micro-optimize LEA DWORD-REG,EA

    If we are loading a DWORD EA into a DWORD register, we may not need the
    REX prefix.  Unlikely to occur in current SBCL code, but does come up
    when you're writing your own VOPs for 32-bit operations.
    froydnj committed Oct 6, 2012
Commits on Oct 5, 2012
  1. Update tests for threaded windows builds

    As with previous changes to the test keywords, some tests are marked
    as expected failures or skipped, but merely to keep test suite
    output clean; these failures are not expected to be permament and
    shall be improved upon later.
    lichtblau committed Sep 18, 2012
  2. Use futexes on windows

    lichtblau committed Sep 18, 2012
  3. Preliminary work towards threads on win32

      * Implement SB-THREAD
    
      * Support WITH-TIMEOUT, etc.
    
    Implementation details:
    
      * Implement pthreads, futex API on top of Win32.
      * Adds support for the timer facility using sb-wtimer.
      * Implement an interruptable `nanosleep' using waitable timers.
      * Threading on Windows uses safepoints to stop the world.
        On this platform, either all or none of :SB-THREAD, :SB-SAFEPOINT,
        :SB-THRUPT, and :SB-WTIMER need to be enabled together.
      * On this platform, INTERRUPT-THREAD will not run interruptions
        in a target thread that is executing foreign code, even though
        the POSIX version of sb-thrupt still allows this (potentially
        unsafe) form of signalling by default.
    
    Does not yet include interruptible I/O, which will be made available
    separately.  Slime users are requested to build SBCL without threads
    until then.
    
    Note that these changes alone are not yet sufficient to make SBCL on
    Windows an ideal backend.  Users looking for a particularly stable
    or thread-enabled version of SBCL for Windows are still advised to
    use the well-known Windows branch instead.
    
    This is a merge of features developed earlier by Dmitry Kalyanov and
    Anton Kovalenko.
    lichtblau committed Sep 18, 2012
  4. Port WITH-TLS-EA and other remaining FS prefix uses to Windows.

    - current-thread-offset-sap
    
    - emit-single-step-test
    
    - Allocation routines
    
    - Disable PSEUDO-ATOMIC on threaded Windows entirely instead of
      changing TLS uses of pseudo-atomic-bits.  We would need a
      temporary register for those changes, and Windows threading is all
      safepoint-based, without the need to support asynchronous signals.
    
    Thanks to Dmitry Kalyanov and Anton Kovalenko.
    lichtblau committed Jul 13, 2011
  5. Run sb-bsd-sockets tests on windows

    Previously, we did not attempt tests for this contrib on Windows at
    all, presumably because this (otherwise functional) contrib would
    have failed some tests and hence would not have been installed.
    
    Instead, mark the remaining failures as expected, so that they get
    reported without preventing installation of the contrib.
    lichtblau committed Oct 5, 2012
  6. Reenable ALLOCATION-INFORMATION.4, mark as known failure

    It seems unlikely to me that the combination of features currently
    identified as problematic is truly accurate.  More plausible seems
    that ALLOCATION-INFORMATION is broken and needs a bug fix.  Yet the
    warning now given should be clear enough and allow users to report
    this issue.
    lichtblau committed Oct 5, 2012
  7. Allow use of SB-RT's mechanism for expected test failures in contribs

    ... In RT, use the list of expected test failures not just for
        debugging output, but return as a primary result only whether
        there are unexpected failures, with additional result values for
        details on expected failures.
    
    ... Tweak make-target-contrib.sh so that the `test-passed' file, if
        non-empty, can indicate a `successful' build of the contrib with
        only known failures.
    
    This mechanism is meant to follow in the footsteps of SBCL's main
    test suite's mechanism for known failures, and is arguably not in
    the original spirit of contribs as user contributions that must
    build perfectly or fail to install entirely.  However, for parts of
    contrib/ which are very commonly used as a part of SBCL, it is hoped
    that this new mechanism will aid work toward bug fixes in those
    contribs rather than de-emphasize it.
    lichtblau committed Sep 24, 2012
  8. SPARC gencgc

    Based on Raymond Toy's work.
    lichtblau committed Sep 28, 2012
  9. PPC, SPARC cross-type build fix

    Thanks to Christophe Rhodes.
    lichtblau committed Oct 5, 2012
Commits on Oct 3, 2012
  1. update NEWS

    nikodemus committed Oct 3, 2012
  2. fix walker handling of LET* bindings shadowing symbol macros

      Don't remove variable bindings from lexenv, which would cause
      symbol-macros to be unshadowed.
    
      Also treat special bindings correctly -- this comes mostly down to
      processing declarations from the body before processing variable
      bindings.
    nikodemus committed Sep 30, 2012
  3. more debug output for the once-in-a-blue-moon cache flushing problem

      ...was stupidly printing only 1/3rd of the intended amount of
      information. *sigh*
    nikodemus committed Sep 30, 2012
  4. bind and clear *CONTINUATION-NUMBERS* &co in WITH-COMPILATION-VALUES

      This leaves CLEAR-STUFF empty, so delete it. \o/
    nikodemus committed Sep 25, 2012
  5. remove world-lock from WITH-COMPILATION-UNIT

       Add it to SUB-COMPILE-FILE and ACTUALLY-COMPILE instead.
    nikodemus committed Sep 25, 2012
Commits on Oct 2, 2012