Commits on Mar 1, 2005
  1. 0.8.20:

    William Harold Newman committed Mar 1, 2005
    	release, tagged as sbcl_0_8_20
Commits on Feb 23, 2005

    csrhodes committed Feb 23, 2005
    	Whoops.  NEWS asserts that LOAD copes with :external-format
    	arguments.  Better make sure that the compiler is aware of that

    Alexey Dejneka committed Feb 23, 2005
            * Fix MISC.535: CONSTANT-LVAR-P looks through CASTs.
            * Workaround lack of recursion recognition in XC for
Commits on Feb 22, 2005

    jsnell committed Feb 22, 2005
            Increment +fasl-file-version+. It just wouldn't feel like a real
            SBCL release without invalidating the fasls.
            * Some FFI-related fasls became incompatible at about
              Probable cause: "lazy alien resolution improvements".

    csrhodes committed Feb 22, 2005
Commits on Feb 21, 2005

    Alexey Dejneka committed Feb 21, 2005
            * Fix bug, found by Paul F. Dietz in
              (CTYPE-OF (COMPLEX <integer> <ratio>)).
Commits on Feb 20, 2005

    Alexey Dejneka committed Feb 20, 2005
            * Fix MISC.527: DEFTRANSFORM for BIT-AND and similar for
              vectors use (ARRAY-DIMENSION v 0) instead if LENGTH to get
              the full vector size.
  2. fix inspection of specialized arrays

    nikodemus committed Feb 20, 2005
               Patch by Simon Alexander on sbcl-devel 2005-02-19.
               Note to self: it seems that we don't currently have
               _any_ tests for the inspector. Make it not so, someday
               soon for preference.
Commits on Feb 18, 2005

    csrhodes committed Feb 18, 2005
    	In response to a question on #lisp IRC...
    	... make the style-warning for #S(FOO #\A 1) include a reference
    		to the relevant section in CLtS.
Commits on Feb 17, 2005

    jsnell committed Feb 17, 2005
    	x86-64 floating point improvements:
            * Optimization: fewer moves on floating point add/sub/mul/div.
              Only use a temporary xmm register if absolutely needed.
    	* Optimization: When restoring xmm15 to zero after a c-call,
              use xorpd instead of a temporary register and movq.
            * Replace broken x87 FLOATING-POINT-MODES and SET-FLOATING-POINT-MODES
              with SSE code that uses the mxcsr control register.
            * Fix movd / movq from a xmm register to a gp register.
            * Add new instructions: ldmxcsr, stmxcsr
  2. less COMPILE-FILE verbosity

    nikodemus committed Feb 17, 2005
               First stab at fixing bug #7. To get output approximately as
               verbose as the old behaviour use :TOP-LEVEL-FORMS as the
               value of the :PRINT option to COMPILE-FILE.
               Note: Giving users control over the way things are printed
               via *COMPILER-PRINT-VARIABLE-ALIST* is OTOH a good thing,
               but it also seems to be used for ratheer diverse things,
               and people could reasonably want to customize them
               separately. Gah.
               Also list x86/FreeBSD4 as "expected to pass tests" in
      output, as that seems to be the case.

    csrhodes committed Feb 17, 2005
    	Add (untested, so sue me) getenv and putenv to sb-posix
Commits on Feb 16, 2005
  1. fix loading of multiply forward-refrenced layouts

    nikodemus committed Feb 16, 2005
               Bug orginally reported and fix provided by Cheuksan Wang,
               basis for test-case provided by Jason Dagit.
Commits on Feb 13, 2005
  1. fix bignum printing:

    nikodemus committed Feb 13, 2005
                * algorithm by Harald Hanche-Olsen.
                * good: less memory-intensive, faster for smallish
                * bad: more CPU-intensive for large eg. 2^1000000)
                   bignums, around order of 2^10000000 becoming essentially
               lazy alien resolution improvement:
                * resolve undefined functions to the address of
                   undefined_alien_function instead of the guard
                   page to work around the bus error on ppc/darwin.
                * also buys us discrimination between undefined alien
                   variables and functions (on all platforms).
               note ppc/darwin problems revealed by tests/ in BUGS, and disable
               those tests:
                * floating-point overflow not signalled
                * type-error from sb-profile:report
                * bit-and with huge bit-vectors fails with a lost
                   gc-invariant (maybe a general cheney-gc problem?)
                => All tests now pass on ppc/darwin, note this in the message
                   at the end of, marking x86/Linux and ppc/Darwin
                   as platforms where all tests are supposed to pass.
  2. message

    nikodemus committed Feb 13, 2005
Commits on Feb 11, 2005

    William Harold Newman committed Feb 11, 2005
    	Protect condition printers from errors which might be
    		signalled by FILE-POSITION.

    jsnell committed Feb 11, 2005
            Fix ansi-test failures related to pretty-printing backquoted forms
            when *PRINT-CIRCLE* is true. Print the ",@" and ",." tokens with
            WRITE-STRING instead of PRINC to prevent circularity detection
            from applying to them.

    jsnell committed Feb 11, 2005
            Optimize float/fixnum comparisons, primarily for the benefit
            of McCLIM. If the fixnum's value is in a range where it's
            guaranteed to have an exact float representation, coerce it to
            a float and do a float comparison. Otherwise fall back to the
            old behaviour of rationalizing the float.
Commits on Feb 10, 2005

    Alexey Dejneka committed Feb 10, 2005
            * Reduce consing for out-of-line AREF: declare SUBSCRIPTS
              argument for %ARRAY-ROW-MAYOR-INDEX be DYNAMIC-EXTENT.
              (reported by Baughn on #lisp)

    jsnell committed Feb 10, 2005
    	x86-64 disassembler improvements.
            * Detect RIP-relative addressing in SB-VM::PREFILTER-REG/MEM.
            * Add constant notes (e.g. ; #<FDEFINITION object for OPEN>)
              for instructions that use RIP-relative addressing.
Commits on Feb 9, 2005

    jsnell committed Feb 9, 2005
    	Declaim the type of *CHARACTER-DATABASE*. Decreases the total
            runtime of the ansi-test suite by about 3-5%.
  2. Added optimization opportunity #25: improved type-based optimization

    Paul F. Dietz committed Feb 9, 2005
    of EQL forms.
Commits on Feb 7, 2005

    csrhodes committed Feb 7, 2005
    	Fix bug in WITH-INPUT-FROM-STRING (PFD ansi-tests)
    	... only update INDEX on normal exit.  (Fix from Bryan O'Connor)

    csrhodes committed Feb 7, 2005
    	Fix bug from PCL depessimization -- it is possible to get :DEFINED for
    	:TYPE :KIND, but probably only for built-in-classes.
    	(Hm, actually, it might be possible to get there through some bizarre
    	combination of DEFTYPE and DEFCLASS.)

    Alexey Dejneka committed Feb 7, 2005
            * Fix bug: ANNOTATE-FIXED-VALUES-LVAR can be called on a DX
              LVAR (through CAST). (reported by Timmy Douglas).
Commits on Feb 6, 2005

    jsnell committed Feb 6, 2005
    	Various x86-64 improvements.
            * Fix some SB-ALIEN:INT / SB-ALIEN:INTEGER confusion in tests.
              (Patch by Vincent Arkesteijn on sbcl-devel, "Re: x86-64 (aka
              AMD64, EMT-64) support" on 2005-02-05).
            * Align the stack to 16-byte boundaries for c-calls, as required
              by the ABI. (Patch by Cheuksan Edward Wang).
            * Omit unneccessary rex-prefix on indirect JMP. (Patch by Cheuksan
              Edward Wang).
            * Disassembler improvements. (Patch by Cheuksan Edward Wang).
Commits on Feb 4, 2005

    csrhodes committed Feb 4, 2005
    	Maybe speed up PCL a tiny bit more
    	... make the slot positioning a little less confusing, so that
    		the 'same' slot tends to be in the same location;
    	... this should help the clever DFUN mechanism to keep neat ones
    		like ONE-INDEX around;
    	... (also this puts slots in objects in the 'expected' order --
    		frob sb-aclrepl's dealing with the unexpected

    csrhodes committed Feb 4, 2005
    	Merge "PCL depessimization" as in sbcl-devel 2005-02-03

    csrhodes committed Feb 4, 2005
    	Repetitive code is the enemy of comprehension
    	... refactor %COERCE-CALLABLE-TO-FUN use in REDUCE and other
    		sequence functions into DEFINE-SEQUENCE-TRAVERSER.
  4. Certain Aarguments to sequence functions that can be functions or

    Paul F. Dietz committed Feb 4, 2005
    function names.  Coerce them to functions once instead of each time
    they are applied (similar to an earlier enhancement of REDUCE).
Commits on Feb 1, 2005

    csrhodes committed Feb 1, 2005
    	Maybe fix compile-file performance regression
    	... only bind restarts for output where there is a possibility
    		of an encoding error.  In particular, do not bind the
    		OUTPUT-NOTHING restart for binary IO.

    jsnell committed Feb 1, 2005
    	Refactor sign-extension of signed c-call return values on x86-64:
            * Also sign extend short ints (fixes bug reported by Kevin Rosenberg
              on sbcl-devel, "FFI size error in sbcl-amd64").
            * Move the sign-extension to a :naturalize-gen alien-type-method.
            * Remove signed-byte-32 ptype (used only for some sign-extension
              hacks, which have now been removed).
            * Add some tests.
Commits on Jan 31, 2005

    csrhodes committed Jan 31, 2005
    	Merge patch (Teemu Kalvas "bad encoding skipper for comments"
    	sbcl-devel 2005-01-31)
    	... mcclim should compile out of the box now.

    csrhodes committed Jan 31, 2005
    	Fix bugs in COUNT and EQUAL on bit-vectors with round lengths
    	(Lutz Euler 'Bug in "count" on bit-vectors' sbcl-devel 2005-01-29)
    	... off by one, sigh;
    	... tests, but FIXME: haven't tested whether the new code is

    csrhodes committed Jan 31, 2005
    	... SET-SYNTAX-FROM-CHAR now copies the dispatch table if necessary.
    	Customizeable reader fixes (PFD SYNTAX.FOO ansi-tests)
    	... Better delineation between character syntax and character
    		constituent trait;
    	... renumber +char-attr-multiple-escape+ to below
    	... rename ESCAPE to SINGLE-ESCAPE;
    	... in token reader helper macros CHAR-CLASS<n>, get
    		CONSTITUENT-TRAIT only if the character is a constituent.