Commits on Jan 26, 2006
  1. 0.9.9:

    William Harold Newman
    William Harold Newman committed Jan 26, 2006
    	release, tagged as sbcl_0_9_9
Commits on Jan 22, 2006

    jsnell committed Jan 22, 2006
    	Disable fast_bzero_sse for FreeBSD systems with kernels that
            don't have SSE support. Patch by NIIMI Satoshi on sbcl-devel,
            "Re: upcoming sbcl-0.9.9 release".
Commits on Jan 20, 2006

    jsnell committed Jan 20, 2006
            Clear the direction flag on Lisp -> C transitions, as
            required by the x86-64 ABI. Fixes mysterious GC crashes on
            SuSE. (reported by Andrej Grozin and Hendrik Maryns)
Commits on Jan 19, 2006

    rudi committed Jan 19, 2006
        Merge patch "Charsets: latin-N, N=2,...,8" from Ivan Boldyrev,
        sbcl-devel 2006-01-17

    rudi committed Jan 19, 2006
      Briefly document bivalent streams.
Commits on Jan 18, 2006

    csrhodes committed Jan 18, 2006
    	Fix for (truename #p"/") (reported by tomppa on #lisp)

    csrhodes committed Jan 18, 2006
    	Commit patch from Luis Oliveira for alignment on #!+win32
Commits on Jan 16, 2006

    csrhodes committed Jan 16, 2006
    	Merge "first round of i/o fixes" (sbcl-devel 2006-01-13
    	from James Bielman)
    	... some extended horribleness, mostly isolated horribleness.

    csrhodes committed Jan 16, 2006
    	Fix the mop/sb-posix/interface.pure.lisp/PCL metacircularity
    	... treat GF-DFUN-STATE and (SETF GF-DFUN-STATE) specially.
    	... thanks to everyone who thought very hard about it!
    	... also make interface.pure.lisp actually pure.

    csrhodes committed Jan 16, 2006
    	Merge patch from Luis Oliveira "stdcall support for alien-funcall"
    	sbcl-devel 2006-01-12
    	... factor set-fpu-word-for-{c,lisp} out from number-stack-space
    		manipulating vops.
    	... magic to adjust for calling convention.
Commits on Jan 14, 2006

    antifuchs committed Jan 14, 2006
            make sb-posix's asd file load sb-grovel with asdf
            This change should make it possible to run tests even
            if sb-grovel is not in $SBCL_HOME.
Commits on Jan 13, 2006

    jsnell committed Jan 13, 2006
            Log a BUG.
Commits on Jan 12, 2006

    antifuchs committed Jan 12, 2006
            Make asdf-install use bivalent streams
            * Fix warnings and style-warnings when compiling a-i/installer.lisp:
              remove undefined variables / exported symbols *verify-gpg-signatures*
              and *safe-url-prefixes*, add a few ignored declarations.
            * Add :element-type :default to stream opening forms that need it
            * Allow sb-executable's copy-stream to deal with bivalent streams:
              Add an element-type &key argument that should be passed when copying
              bivalent streams

    csrhodes committed Jan 12, 2006
    	->pure, not ->slots[15] in purify
    	... independent of whether 7 clos-hash slots get deleted, this
    		might prevent future maintainers making the same kind of
    		fool of themselves as I did with my "inconsequential
    		modifications" error...
Commits on Jan 11, 2006

    Nathan Froyd
    Nathan Froyd committed Jan 11, 2006
    	Add getpwnam and getpwuid to SB-POSIX...
    	* a fit of frustration ("why does this work in sb-bsd-sockets
    	  and the exact same thing not work here?"), remove the
    	  SB-POSIX-INTERNAL package and throw everything into SB-POSIX.
    	  No more lurking issues with packages.

    csrhodes committed Jan 11, 2006
    	Merge patch from nyef for load-shared-object on win32.
    	... there's a scary amount of duplication between
    		win32-foreign-load and foreign-load; hope some
    		gardening takes place at some point.
    	... attempt to make put the relevant target
    		features in place.

    csrhodes committed Jan 11, 2006
    	From James Bielman: dirname() for win32.

    csrhodes committed Jan 11, 2006
    	Sucks to be me.
    	... insert missing semicolon in win32-os.c.  Why?  Why why why?
Commits on Jan 10, 2006

    csrhodes committed Jan 10, 2006
    	Implement (following James Bielman) unix-access for windows.
    	... use access() not _access(); no, I have no idea why this
    		makes sense (in either direction).

    csrhodes committed Jan 10, 2006
    	Fix for --load on Win32 (patch from James Bielman)
Commits on Jan 9, 2006

    jsnell committed Jan 9, 2006
            Kill a couple of obsolete x86 instructions (illegal in 64-bit
            mode).  Patch from sbcl-devel "Tidying up
            src/compiler/x86-64/insts.lisp" by Lutz Euler on 2006-01-08.

    jsnell committed Jan 9, 2006
            Oh, the embarrassment. x86-64 was using full calls to GENERIC-< and
            GENERIC-> for (UN)SIGNED-BYTE-64-P and CHECK-(UN)SIGNED-BYTE-64.
            Fix it.
            * Conditionalize type predicate, type predicate wrapper and
              typecheckfun creation on N-WORD-BITS. Add missing 64-bit
            * Add missing SIGNED-BYTE-64 VOPs.
            * Nuke the now-unused 32-bit VOPs.

    csrhodes committed Jan 9, 2006
    	Merge patch from James Bielman fixing self-build under Win32.
    	... a little bit of an accident ensued; I ran
    		canonicalize-whitespace on .sh files, which seemed to
    		work (except on until it scribbled all over, confusing the shell interpreter utterly.
    	... the resulting files have built the system, nevertheless.

    csrhodes committed Jan 9, 2006
    	Merge patch from James Bielman fixing use of GNAME on
    	fast_bzero* assembly functions.
Commits on Jan 8, 2006

    csrhodes committed Jan 8, 2006
    	Merge patch from Luis Oliviera (sbcl-devel 2006-01-08) fixing
    	probe-file on Win32.

    jsnell committed Jan 8, 2006
            It's x86-64 sign-extension time, once again. The
            SB!VM:SIGN-EXTEND VOP wasn't getting selected, causing a full
            call for every use. Luckily it's only used only for alien
            calls whose return value is declared as a signed byte of 32 or
            fewer bits.

    jsnell committed Jan 8, 2006
            Add x86-64 support for passing alien callback parameters on the stack.

    jsnell committed Jan 8, 2006
            Some x86-64 SAP-REF setter VOPs for floats were trying to use
            the MOVE macro on float registers, causing compile errors in
            rare circumstances. Extend x86-64 MOVE to also handle
            SINGLE-REG and DOUBLE-REG SCs.

    jsnell committed Jan 8, 2006

    jsnell committed Jan 8, 2006
            Final batch from sbcl-devel "Changes to GENCGC memory zeroing"
    	in 2005-12).  Use hand-coded assembly for zeroing memory in
    	GENCGC instead of the platform memset/bzero.
            * Use MOVNTDQ on x86-64
            * Use MOVNTDQ on x86 that supports SSE2 (basically Pentium 4 and
            * Difference to the version posted on sbcl-devel: Do *not* use
              the MMX MOVNTQ for x86 that supports MMX but not
              SSE2. MOVNTQ apparently had very bad performance on K7
            * Use REP STOSL on remaining x86.
Commits on Jan 7, 2006

    jsnell committed Jan 7, 2006
            Changes to GENCGC memory zeroing behaviour that give a big
            performance boost, especially on modern processors.
            * Instead of zeroing memory by remapping memory with
              munmap/mmap at GC time, pages are just marked as needing
              zeroing and zeroed with memset when they're added to a new
              allocation region. This reduces GC latency both for the
              common and worst cases.
            * To keep the memory footprint down, clear the pages by
              remapping after major GCs (arbitrarily defined as a
              collection of generation 2 or older).  The memory freed from
              a minor GC is just going to get used again immediately , so
              releasing them back to the OS would make little sense.
            * Add a GENCGC mode (#define READ_PROTECT_FREE_PAGES) for
              catching attempts to read unallocated pages
            * See sbcl-devel "Changes to GENCGC memory zeroing" in 2005-12
              for more details and performance measurements. (Note
              that many parts of this patch have already been committed
              piecemeal over the last month, this is just the most
              significant chunk).
            * Performance effect on BSDs (which used a different zeroing
              strategy than Linux before this) is unknown.

    jsnell committed Jan 7, 2006
            Rearrange the GENCGC "struct page" a bit to for a more compact
            memory representation. Saves memory (about 15MB on x86-64
            where the page table is large, a couple of MB on x86). Also
            a minor performance improvement thanks to cache issues.
            TODO: The size could be still improved by another 15MB on x86-64
            by defining the ill-named first_object_offset as an int
            instead of long (4 bytes less data and 4 bytes less of padding).
            The naive implementation would then limit the maximum region size
            to 4GB. Since some low bits in the field are guaranteed to be
            zero, a smart implementation could do some shifts and store even
            more data. It remains to be seen whether this would be worthwhile.
Commits on Jan 6, 2006

    csrhodes committed Jan 6, 2006
    	Fix a bug in ENSURE-DIRECTORIES-EXIST: merge in
    	... this fix may also include a mostly-working set of pathname
    		functions for Win32.  Or it may not.  You have been

    jsnell committed Jan 6, 2006
            Merge sbcl-devel "Some assembler improvements for x86-64" by
            Lutz Euler on 2006-01-05.
            Quote from the email:
              1. a reduction in core size of 190 KB due to shorter encodings
                 for common forms of the MOV instruction, and
              2. for robustness, better checking of dword-sized immediate
                 arguments in the assembler with respect to their implicit

    jsnell committed Jan 6, 2006
            More with-testage. Merge sbcl-devel "[PATCH] callback tests"
            by Cyrus Harmon on 2006-01-06.