Commits on Sep 8, 2003

    	Fix bug 285
    	... %MULTIPLY vop was feeling free to scribble over its inputs
    	... add :FROM and :TO clauses to try to prevent this
    	... %MULTIPLY-AND-ADD vops are unchanged, but could quite easily be
    	OK, OK, I give in
    	... relax the type declaration on signed-immediate instructions
    		to allow (unsigned-byte 16)s through
    csrhodes committed Sep 8, 2003

    	... as reported on #lisp IRC by pfdietz, FILL would on occasion
    		consume all available CPU and RAM...
    	... unbreak the new vectorized transform by returning the
    		sequence argument rather than NIL.
    csrhodes committed Sep 8, 2003

    	No functional changes
    	... update the PPC instruction descriptions to mostly describe
    		their constraints (probably missing some :writes :lr)
    	... don't turn the scheduler on, though, because the assembler
    		wants to fill unschedulable areas with NOPs, which is
    		probably not a win
    csrhodes committed Sep 8, 2003
Commits on Sep 7, 2003
  1. sb-posix: define msync and its constants

            ... use it in sb-simple-streams
    rudi committed Sep 7, 2003
  2. Merge cmucl simple-streams

    ... major code shifting: simple-streams.lisp is no more; its contents
        have moved into several  files, each for a specific kind of stream
    ... file layout is now the same as cmucl pcl/simple-streams directory
        for easier trading of fixes / functionality
    ... new functionality: external formats (need some work still, but
        infractructure is there), string-streams
    ... Some functionality still missing (see TODO file)
    rudi committed Sep 7, 2003

       * Apply Nikodemus's patch for cl-linedit
       * Minor changes to inspect.lisp
    kevinrosenberg committed Sep 7, 2003
Commits on Sep 6, 2003

    	Fix the ASH bugs for mips (I think)
    	... just one vop to fix
    	While I'm at it, delete unused or bogus SXHASH assembly
    	Add mips to INSTALL as suggested by Lars Brinkhoff.
    csrhodes committed Sep 6, 2003
Commits on Sep 5, 2003

    	Confirming what we already knew, part LXXVI
    	... the coverage of the compiler in the test suite isn't complete
    	... the coverage of the compiler in compiling the compiler is
    		at least different
    	... so fix the operand to ADDIS in %SINGLE-FLOAT/SIGNED sufficiently
    		to allow the compiler to compile
    csrhodes committed Sep 5, 2003
Commits on Sep 4, 2003

    	Some more love and kisses to the ppc backend
    	... the strength reduction we perform on sparc multiplications
    		is going to be common to most architectures, so
    	... factor out the reduction itself into a routine
    	... use it in a PPC deftransform for *, with suitable cutoffs
    	... some appropriate * vops, too
    	Incidental cleanups in the ppc backend
    	... declare D-SI instructions' operands to have the appropriate type
    	... fix the shady dodgy dealing going on in the %LR macrofunction
    csrhodes committed Sep 4, 2003

            * Fix bug reported by Paul Dietz: (GCD 0 X) returned X instead
              of (ABS X).
    Alexey Dejneka committed Sep 4, 2003

    	Since we're playing with backends...
    	... add the x86 CMOV instruction
    	... and a (disabled by default) VOP that uses it for ASH
    	No, it's not noticeably faster; why do you ask?  *sigh*
    csrhodes committed Sep 4, 2003

    	Love and tenderness to the SPARC arithmetic instructions
    	... fix the ASH bug, I think
    csrhodes committed Sep 4, 2003

            * Fix bug reported by Paul Dietz: (GCD 0 X) returned X instead
              of (ABS X).
    Alexey Dejneka committed Sep 4, 2003
Commits on Sep 3, 2003

    	Fix the ASH issues on x86.
    	... it seemed to me crying out for a CMOV optimization along the
    		lines of the sparc case, but to my dismay it seems that
    		x86's conditional move instruction does not allow
    		immediate arguments.  Maybe some bright young spark
    		nevertheless has a neat way of using modern instructions
    		to save a branch or two?
    csrhodes committed Sep 3, 2003

    	Fix ASH bug on PPC
    	... add a test for it, which will probably fail on most if not all
    		other architectures.  To be continued...
    csrhodes committed Sep 3, 2003

    	Stylistic change in COERCE-TO-COMPLEX-TYPE:
    	... (subtypep (type-of ...) 'double-float)???
    		Change it to (typep ... 'double-float).
    	... adjust some comments for reality.
    csrhodes committed Sep 3, 2003

            * Fix bug reported by Paul Dietz in optimizer for (EXPT ...
            ... different treating of integer and complex arguments;
            ... SOURCE-TRANSFORM-NUMERIC-TYPEP: be accurate with (COMPLEX
            * SB-BSD-SOCKETS: really grovel SO_NO_CHECK.
    Alexey Dejneka committed Sep 3, 2003

    	Some fixes from our most compliant platform(!)
    	... fix the tests to DWIMeant, even under Bourne sh
    	... adjust the signal conditionals to reflect what I think is
    		the truth about their availability
    csrhodes committed Sep 3, 2003
Commits on Sep 2, 2003

    	Promising a vectorizing Lisp compiler since, oh, 2001...
    	... hand-vectorize FILL on simple-base-strings.
    csrhodes committed Sep 2, 2003

    	PPC/Linux bandaid
    	... compile the runtime without optimization: log it as a workaround
    		for an underlying problem in BUGS
    csrhodes committed Sep 2, 2003

            * Fix bug 277: IGNORE/IGNORABLE declarations should work for
              symbol macros;
            * fix bug in CERROR recognition inside RESTART-CASE.
    Alexey Dejneka committed Sep 2, 2003

    	Duh.  A working version of socket-accept would be an improvement
    telent committed Sep 2, 2003

    	Exciting gencgc hacking: SB-SYS:WITH-PINNED-OBJECTS
    	When passing Lisp objects to foreign code, it is important
    	that GC doesn't change the object's address as the foreign
    	code's pointers to it won't be updated.  Traditionally this is
    	done using WITHOUT-GCING, but that's not ideal in a threaded
    	system where one thread may be doing a blocking alien call and
    	other threads would like to continue as normal.
    	So, instead we shove pointers to the important objects on the
    	C stack where they will cause the pages pointed to to be
    	pinned in place using preserve_pointers.  Additionally we make
    	a small change to gencgc to ensure that they _stay_ pinned in
    	subsequent GCs
    	On ports that use cheneygc we can't do this, so
    	WITH-PINNED-OBJECTS is just an alias for WITHOUT-GCING.  As
    	these ports don't have threads anyway, that's not a major
    	Small updates to doc/internals-notes/threading-specials,
    	slightly larger updates to comments regarding ALLOCATION
    	and PSEUDO-ATOMIC macros
    	Documentation update to the FFI chapter
    telent committed Sep 2, 2003
Commits on Sep 1, 2003

    	Contrib frobs
    	... add a safeguard to sb-grovel:
     		issue a STYLE-WARNING when a constant can not be
    	... grovel SIG* names in sb-posix; this includes SIGRT* names
    		on platforms where they are defined.
    antifuchs committed Sep 1, 2003

    	Fix PPC floating point backend bugs
    	... STFD moves a doubleword to the effective address.  Better not
    		have that effective address be a 32-bit area
    		(e.g. SINGLE-STACK) then
    csrhodes committed Sep 1, 2003

    	Fixed bug revealed by PFD in *.26:
    	... (FLOAT X) should be transformed to guard against X already
    		being a float, in which case no coercion should occur.
    	Minor adjustments:
    	... tighten up the type of RANDOM;
    	... textual frobs around RANDOM area.
    	(there's an extremely strange bug in RANDOM on the powerpc,
    	which I haven't yet logged but will do if I can't figure out
    	what's going on)
    csrhodes committed Sep 1, 2003

    	Fix bug in ROUND/FROUND revealed by PFD
    	... after cmucl-imp/sbcl-devel 2003-08-xx
    	Remove last vestiges of *GC-NOTIFY-STREAM*
    csrhodes committed Sep 1, 2003

    	Allow RUN-PROGRAM to work even when something in $PATH is not
    	an existent directory:
    	... patch from Andreas Fuchs sbcl-devel 2003-08-26;
    	... add a test case;
    	Also, need in binary distributions:
    	... make it so!
    csrhodes committed Sep 1, 2003

            * Take signal numbers from C land;
            * use numeric constants instead of keywords to identify
              signals (as per DB and WHN mails to sbcl-devel 2003-08-31);
    Alexey Dejneka committed Sep 1, 2003
Commits on Aug 30, 2003

    	Clean up BUGS file
    	.. deleted last remaining traces of bug categories, as the
    	   only remain category was "NO SPECIAL CLASS"
    	.. bug 46 doesn't (any longer?) apply to FILE-STREAMs
    	.. 162 and 216 are probably the same bug
    	.. 272 was fixed in
    	.. added 282 and 283 to cover various kinds of thread lossage
    telent committed Aug 30, 2003

            * New function MAP-COMBINATION-ARGS-AND-TYPES;
            ... use it in ASSERT-CALL-TYPE and
                ... C-E-C-T now works for &KEYS;
            * factor out check for full-like calls;
            * maybe flush C-E-C-T in local call conversion.
    Alexey Dejneka committed Aug 30, 2003
Commits on Aug 29, 2003

    	Fix backtrace on non-x86 platforms:
    	... don't try to work out the RA, it's too complicated.
    	Remove last SB-SLOT-ACCESSOR-NAME, and associated (fixed) FIXME
    csrhodes committed Aug 29, 2003

    	Implement better constant multiply routines
    	... have a cutoff on Sparc, as measured by Raymond Toy
    	... use LEA more on x86, as per cited paper
    	... don't do anything at all (yet) on other architectures.  This
    		needs to be fixed before 0.8.4, at least for PPC and
    csrhodes committed Aug 29, 2003

            * Fix bug in RETURN clause of LOOP
            ... make RETURN be equivalent to DO (RETURN ...)
            * cosmetic changes in constraint propagator;
            * fix EVAL-WHEN and package problem in
              compiler.impure-cload.test from the last commit.
    Alexey Dejneka committed Aug 29, 2003