Commits on Oct 27, 2005
  1. 0.9.6:

    	release, tagged as sbcl_0_9_6
    William Harold Newman committed Oct 27, 2005
Commits on Oct 24, 2005
  1. @jsnell

            Here is +FASL-FILE-VERSION+, coming downstairs now, bump, bump, bump,
            on the back of his head, behind Christopher Robin.
    jsnell committed Oct 24, 2005
Commits on Oct 23, 2005
  1. fix PPC stack alignment problems in call_into_c on Darwin

       * Fix from Cyrus Harmon, 2005-10-19, "PPC alignment redux"
       * When calling into C, OS X expects the stack to be 16-byte aligned or
         else C functions which use AltiVec see strange corruption
    Brian Mastenbrook committed Oct 23, 2005
Commits on Oct 22, 2005
  1. @nikodemus almost fix COMPUTE-RESTARTS & FIND-RESTART

     * back out the previous change to COMPUTE-RESTARTS.
     * make FIND-RESTART check the activity, not applicability, of a restart object
       passed in as an argument.
     => now both the Helmut Eller's case and ansi-tests pass.
     Although: I dispute COMPUTE-RESTARTS.10 and RESTART-BIND.20. See emails to
     sbcl-devel around Sun, 16 Oct 2005 13:12. The more radical changes outlined there
     are not part of this yet.
    nikodemus committed Oct 22, 2005
Commits on Oct 21, 2005
  1. @csrhodes

    	Commit band-aid fix for compiler float / ROUND-NUMERIC-BOUND
    	problem, and document the real problem
    csrhodes committed Oct 21, 2005

    	Less copy&paste for the Linux sigsegv handler.
    Thiemo Seufer committed Oct 21, 2005

      * added cold init explanation (Xof, #lisp 2005-10-19) to internals
    Gabor Melis committed Oct 21, 2005
Commits on Oct 20, 2005
  1. @jsnell

    	Compact the global environment info even when saving a core without
            purifying. Shrinks the x86-64 core by about 2.5MB.
    jsnell committed Oct 20, 2005

      * be nicer to gdb: use SIGINT instead of SIGTRAP for the
        SA_NODEFER test (thanks to Cyrus Harmon)
    Gabor Melis committed Oct 20, 2005
Commits on Oct 19, 2005

    	Silence compiler warnings.
    Thiemo Seufer committed Oct 19, 2005
Commits on Oct 17, 2005

      * detect sigaction/sa_nodefer workingness at runtime instead of
        compile time
      * add sa_nodefer workaround to the high level interrupt handlers too
      * removed obsolote failing thread test
      * source consistency cosmetics
    Gabor Melis committed Oct 17, 2005

      * %halt on SIGABRT
    Gabor Melis committed Oct 17, 2005
Commits on Oct 16, 2005
  1. @jsnell

            * Fix a broken callback test
    	* Increment core file version number to reflect the new page table
    jsnell committed Oct 16, 2005
Commits on Oct 15, 2005
  1. @jsnell

    	* Fix x86/x86-64 build
            * Kill a gcc warning on unithreaded x86
    jsnell committed Oct 15, 2005

    	Improve ldb register output.
    Thiemo Seufer committed Oct 15, 2005

    	De-obfuscate pa_alloc implementation.
    Thiemo Seufer committed Oct 15, 2005
  4. @jsnell

    	Fix AVER on x86-64 when both the first argument and result of
            a MAKE-COMPLEX-FOO-FLOAT VOP occupy the same stack slot. Patch
            by Lutz Euler (sbcl-devel "Bug with complex float temporaries
            on x86-64 and fix" on 2005-10-15).
    jsnell committed Oct 15, 2005

    	Silence compiler warning.
    Thiemo Seufer committed Oct 15, 2005
  6. @jsnell

    	Use the C7 MOV instruction instead of the B8 one for loading
            small immediates to qword registers on x86-64. (Shaves about
            250k off the core.)
    jsnell committed Oct 15, 2005
  7. @jsnell

    	The CODE->FOO-MAPPER functions generated by DEFINE-UNIBYTE-MAPPER
            are very large, and inlined a lot. This caused both large
            slowdowns in SBCL builds and a lot of core file bloat (700k on
            x86-64). Remove the inlining.
    jsnell committed Oct 15, 2005
  8. @jsnell

    	Fix the umpteenth sign-extension problem on x86-64 (invalid
            types for SIGN-EXTEND VOP).
    jsnell committed Oct 15, 2005
  9. @jsnell

    	Oops, considered harmful. Move definition of *VALUES-TYPE-OKAY*
            to early-alieneval.lisp.
    jsnell committed Oct 15, 2005
  10. @jsnell

    	Support callbacks with void return types.
            * Export SB-ALIEN:ALIEN-VOID-TYPE-P
            * Bind *VALUES-TYPE-OKAY* to T when parsing of the return type
            * Add test (+ another test for a x86-64 sign extension failure)
    jsnell committed Oct 15, 2005
  11. @jsnell

    	Callbacks on x86-64.
    jsnell committed Oct 15, 2005
  12. @nikodemus trivial PCL cleanups

     * PARSE-FSPEC is a no-op -- kill it.
     * GBOUNDP and GMAKUNBOUND are null and useless wrappers -- kill them. Keep GDEFINITION
       and (SETF GDEFINITION) as they may become useful when FDEFINITION stops bypassing
    nikodemus committed Oct 15, 2005

      * threads don't inherit values of specials from their parents
        anymore because:
        1) dynamic-extent
        Suppose your package has a non-exported special, binds it,
        promises it's going to be dynamic extent and proceeds to call user
        code. The user code spawns a thread and the promise is broken.
        2) gc
        It's hard to control giving out references to objects. Yeah, it's
        similar to 1), but the colour of the smoke is different.
        3) scaling
        When starting up, a thread is given a snapshot of the parent
        thread's current values for dynamic variables. This means that the
        minimum memory required by a thread is proportional to the number
        of specials.
        1) and 2) are addressed by this change, 3) is not.
      * not having lisp objects in unstarted threads allowed undoing
        thread start vs gc recomplication and un-reinstating
    Gabor Melis committed Oct 15, 2005

    	Another documentation of MIPS ugliness.
    Thiemo Seufer committed Oct 15, 2005
Commits on Oct 14, 2005
  1. @nikodemus

      * nasty interrupt bug:
        1) sigalrm handler is deferred
        2) later it's run via sigtrap handler
        3) handler does pa_alloc while sigtrap is blocked
        4) gc is needed and another sigtrap is triggered by 3)
        5) stupid Linux kernel sees that sigtrap is blocked and invokes the
           default handler (see
        6) coredump
        Adding SA_NODEFER to sigaction is enough for sane systems to fix this.
        Not for buggy Linux 2.6. A compile time test was added for
        sigaction and SA_NODEFER allowing the runtime to work around this
        bug (see interrupt.c).
      * added missing sigemptysets
    Gabor Melis committed Oct 14, 2005
Commits on Oct 13, 2005

            New bug: strange PCL error message.
    Alexey Dejneka committed Oct 13, 2005
  2. @jsnell

            Oops, previous changes broke cheneygc builds.
    jsnell committed Oct 13, 2005
  3. hundred to ways to leave a thread

      * but don't call gc_alloc_update_page_tables on thread exit with gc
        running in another thread
    Gabor Melis committed Oct 13, 2005

      * exit properly on SIGTERM and coredump on SIGQUIT (according to the
        glibc docs)
    Gabor Melis committed Oct 13, 2005
  5. @jsnell

            More merging. SAVE-LISP-AND-DIE defaults to not purifying on
            GENCGC platforms.
    jsnell committed Oct 13, 2005
Commits on Oct 12, 2005
  1. @jsnell

            More merging. Make non-purified cores suck less.
            * Do a non-conservative GC when saving a core without purifying.
            * Save critical bits of the page table in the core, to allow
              picking up the core without walking through the whole core.
            * The dynamic section of a core is picked up into a special
              non-collected generation (currently called "pseudo static"
              in the source, but I'm not attached to that name).
            * #ifdef out some fixup code that's not needed on x86-64.
            * Refactor save.c a bit.
    jsnell committed Oct 12, 2005