Alexey Dejneka [Fri, 19 Sep 2003 03:49:28 +0000 (03:49 +0000)]
0.8.3.80:
* FROB-DO-BODY: wrap a body in an additional TAGBODY.
Daniel Barlow [Thu, 18 Sep 2003 23:15:56 +0000 (23:15 +0000)]
0.8.3.79
GC fix fixes
Rearrange the sigcontext GCing a bit and add commentary
describing what's going on
Delete debugging message accidentally committed in .76
tests/threads.impure.lisp now works (but don't worry, I
have another test locally which still kills sbcl sometimes)
Kevin Rosenberg [Thu, 18 Sep 2003 21:09:08 +0000 (21:09 +0000)]
0.8.3.78:
* Initial changes to build on SuSE AMD64. Still need to port sb-bsd-sockets.
Christophe Rhodes [Thu, 18 Sep 2003 16:43:56 +0000 (16:43 +0000)]
0.8.3.77:
Implement FILE-POSITION on string streams
... patch from Nikodemus Siivola sbcl-devel 2003-09-15
Daniel Barlow [Thu, 18 Sep 2003 13:06:31 +0000 (13:06 +0000)]
0.8.3.76
GC fixes and miscellaneous commentary:
Frob VOP attributes for {push-words-on,pop-words-from}-c-stack,
per APD comment
Comment: why WITH-PINNED-OBJECTS doesn't need an UNWIND-PROTECT
In x86 pseudo-atomic start, clear interrupted bit _before_
setting atomic bit, to eliminate window where a pa section might
be interrupted immediately after starting then have the evidence
of interruption erased
When scavenging thread control stacks on gencgc, also look at live
interrupt contexts that might not be on the current stack (e.g.
alternate signal stacks).
When stopping a thread so it may be GCed, save the signal context
_before_ decrementing countdown_to_gc
In lose(), send SIGSTOP to all threads other than the currently
losing one, so we have a chance to examine what went wrong before
they stomp all over memory
Alexey Dejneka [Thu, 18 Sep 2003 06:26:57 +0000 (06:26 +0000)]
0.8.3.75:
* Do not let-convert into a deleted function.
Alexey Dejneka [Wed, 17 Sep 2003 17:11:46 +0000 (17:11 +0000)]
0.8.3.74:
* Change transformers for </>/>=/<= to work with unions of
intervals;
* CONSTRAIN-REF-TYPE: ignore constraints of form (EQL val
<unreferenced-var>).
Alexey Dejneka [Wed, 17 Sep 2003 06:45:45 +0000 (06:45 +0000)]
0.8.3.73:
* DELETE-LAMBDA: delete also contained lambdas.
Christophe Rhodes [Tue, 16 Sep 2003 12:07:39 +0000 (12:07 +0000)]
0.8.3.72:
Merge modular_arithmetic_branch
... include untested modular arithmetic implementation for hppa
... unkludge sb-md5: now implemented using natural, high-level
lisp. (and as a bonus, compiles to shorter code on x86
at least).
... passes self-tests and pfdietz-tests on x86 at least.
More exhaustive testing on other platforms is probably
needed, maybe with the torturer
Alexey Dejneka [Tue, 16 Sep 2003 09:45:15 +0000 (09:45 +0000)]
0.8.3.71:
* Update consistency checking;
* fix bug found by Paul Dietz ("NIL is not of type LVAR") in
IMMEDIATELY-USED-P: component tail block does not have a
start CTRAN.
Alexey Dejneka [Tue, 16 Sep 2003 07:45:06 +0000 (07:45 +0000)]
0.8.3.70:
* Update comments to the change of "continuation"
representation;
* fix bug reported by WHN: IR1-translator for TRULY-THE does
nothing if its value is unused;
* describe bug reported by Nikodemus Siivola on sbcl-devel
2003-09-15;
* rewrite test of restoring floating point modes on Alpha: old
version failed due to the absence of ABORT restart.
Christophe Rhodes [Mon, 15 Sep 2003 17:10:36 +0000 (17:10 +0000)]
0.8.3.45.modular7:
Implement slightly less stupid 32bit-logical-foo on the alpha
... including fixing the ORNOT/LOGNOR bug, natch.
... also, we implement a hack: converting (logand ... #xffffffff)
to a one-instruction mskll rather than several instructions
of load and an and instruction. This could be extended
to more masks.
Christophe Rhodes [Mon, 15 Sep 2003 16:56:13 +0000 (16:56 +0000)]
0.8.3.69:
Cosmetic fixes
... document MacOS X's stack size limitation in README
... annoying placement of a close quote in asdf-module.mk
Christophe Rhodes [Mon, 15 Sep 2003 15:09:01 +0000 (15:09 +0000)]
0.8.3.68:
Kludge around an apparent problem in hardware/kernel/somewhere
to do with denormalized float traps...
... explicitly clear that bit in os_restore_fp_control();
... document in BUGS;
... handle ARITHMETIC-ERROR, not just DIVISION-BY-ZERO, so that
ports without fp words in sigcontext pass the test
Christophe Rhodes [Mon, 15 Sep 2003 13:45:16 +0000 (13:45 +0000)]
0.8.3.67:
Somewhat amazingly, fixing the floating point issue described in
"Alpha aargh" (CSR sbcl-devel 2003-09-12) wasn't too hard to fix.
... so fix it :-)
Christophe Rhodes [Mon, 15 Sep 2003 13:14:54 +0000 (13:14 +0000)]
0.8.3.66:
Fix Alpha data corruption bug
... as with MIPS case a couple of months ago, index goes
forwards through a string, not backwards.
... include a test case (how did that happen?)
Christophe Rhodes [Mon, 15 Sep 2003 11:31:56 +0000 (11:31 +0000)]
0.8.3.65:
More alpha backend stuff
... fix ASH ... -31 bug;
... fix LOGCOUNT bug found while investigating ASH bug.
Kevin Rosenberg [Mon, 15 Sep 2003 10:12:44 +0000 (10:12 +0000)]
0.8.3.64:
* Add more description for the array describe-object method
* Eliminate warnings from sbcl-asdf-install when asdf is present
in the core file
Christophe Rhodes [Mon, 15 Sep 2003 09:59:11 +0000 (09:59 +0000)]
0.8.3.63:
Bignum multiplication on the Alpha...
... when creating notionally unsigned 32-bit quantities from
notionally unsigned 64-bit quantities, it's quite
important to do a logical and not an arithmetic shift.
Alexey Dejneka [Mon, 15 Sep 2003 09:21:37 +0000 (09:21 +0000)]
0.8.3.62:
* Split CONTINUATION into CTRAN (control part) and LVAR (value
part);
... remove :DELETED and :DELETED-BLOCK-START continuation
kinds;
... remove bug reported by Paul Dietz on sbcl-devel
2003-09-14.
Christophe Rhodes [Sun, 14 Sep 2003 16:14:54 +0000 (16:14 +0000)]
0.8.3.61:
Fix for compiler "cannot convert to SINGLE-FLOAT: <largenum>" in
type inference, as reported PFD sbcl-devel 2003-09-13:
... a slight rewrite to the SIGNED-ZERO-OP methods in
src/compiler/srctran.lisp
... not correct in the presence of one integer and one float argument,
as coercion could still occur. Break me if you can.
Alexey Dejneka [Sun, 14 Sep 2003 07:44:45 +0000 (07:44 +0000)]
0.8.3.60:
* Fix bug reported by Doug McNaught: COMPILE-FILE should bind
*READTABLE* (we bind it in SUB-COMPILE-FILE).
Alexey Dejneka [Sun, 14 Sep 2003 05:02:45 +0000 (05:02 +0000)]
0.8.3.59:
* Fixed compier failure reported by Paul Dietz to sbcl-devel
in <
3F630474.6070301@dls.net>.
"APD, continuations do not represent control transfers, is it
so hard to remember?!"
Alexey Dejneka [Sat, 13 Sep 2003 10:39:27 +0000 (10:39 +0000)]
0.8.3.58:
* Describe problems with source transformation of assotiative
functions.
William Harold Newman [Sat, 13 Sep 2003 01:19:37 +0000 (01:19 +0000)]
0.8.3.57:
redid the implementation of --disable-debugger so that it won't
get bewildered when BREAK is called (thanks to Dan and
Christophe for bug reporting and guidance)
deleted unused DEFUN PRINT-CODE-LOCATIONS
deleted UGLINESS, reexpressing some of the issues as BUGS and
just dropping others ("That's the way it is.":-)
Christophe Rhodes [Fri, 12 Sep 2003 16:53:39 +0000 (16:53 +0000)]
0.8.3.45.modular6:
Implement 64-bit modular arithmetic for alpha.
... can't simplify BIGNUM-LOGNOT or 32BIT-LOGICAL-FOO here,
because modular arithmetic is 64-bit, duh :-)
... it would be nice to compile (logand ... (1- (ash 1 32)))
more efficiently than we currently do; currently we
load up a 32-bit quantity into a register, followed
by an and instruction; however, we should be able
simply to do mskll reg, 4, reg.
I think this works. Simple testing shows that it seems to work.
But see also CSR sbcl-devel 2003-09-12, because there are a number
of nasty surprises lurking in the depths of this backend.
Christophe Rhodes [Fri, 12 Sep 2003 15:23:07 +0000 (15:23 +0000)]
0.8.3.56:
Fix (BYTE 0 0)
... again, in the %LDB-and-friends DERIVE-TYPE methods, but this
time the failure seemed more justifiable, because...
... (UNSIGNED-BYTE 0) is quite naturally interpreted as
(INTEGER 0 0), and that's what we wrote, but ...
... ANSI saith "s---a positive integer". Ugh. So ...
... implement SB!INT:UNSIGNED-BYTE* that does the right thing,
and use it to simplify derive-type logic.
Christophe Rhodes [Fri, 12 Sep 2003 11:27:39 +0000 (11:27 +0000)]
0.8.3.55:
Tweak the %DPB fix:
... on Alpha, currently N-WORD-BITS = 32 while register
arithmetic is 64-bits. Extend and document the cutoff
in %DEPOSIT-FIELD DERIVE-TYPE.
Alexey Dejneka [Fri, 12 Sep 2003 09:16:53 +0000 (09:16 +0000)]
0.8.3.54:
* Fix type derivers for %DPB and %DEPOSIT-FIELD: SIGNED-BYTE
representation requires extra sign bit. (reported by Paul
Dietz)
Christophe Rhodes [Thu, 11 Sep 2003 16:04:24 +0000 (16:04 +0000)]
0.8.3.45.modular5:
Implement (I think) modular arithmetic for mips.
... factoring out the common bits might be tricky, because mips
in its oddness provides AND, OR, XOR and NOR machine
instructions. Still...
Christophe Rhodes [Thu, 11 Sep 2003 15:49:43 +0000 (15:49 +0000)]
0.8.3.53:
LOGBITP fixes
... correctness fix: INDEX can be any UNSIGNED-BYTE, not just a
positive fixnum or an INDEX;
... efficiency fix: don't cons up a bignum as large as memory
when given large INDEX numbers; instead, be efficient
and grab just the relevant word of the INTEGER
argument.
Christophe Rhodes [Thu, 11 Sep 2003 12:38:38 +0000 (12:38 +0000)]
0.8.3.52:
Fix treatment of effective addresses for arithmetic
... somewhat similar to the PPC problems, ironically. We want
to be able to pun signed constants as unsigned
constants, which we could do were it not for those
pesky type declarations...
... so relax the type declarations sufficiently to allow
it to work.
Christophe Rhodes [Thu, 11 Sep 2003 11:27:56 +0000 (11:27 +0000)]
0.8.3.51:
Fix (LCM 0 0)
Alexey Dejneka [Thu, 11 Sep 2003 10:31:56 +0000 (10:31 +0000)]
0.8.3.50:
* Fix compiler failures reported by Paul Dietz: be more
accurate with BLOCK-LAST treating in CONSTANT-FOLD-CALL and
DO-NODES.
Alexey Dejneka [Wed, 10 Sep 2003 14:50:05 +0000 (14:50 +0000)]
0.8.3.49:
* Fix bogus test for [absence of] function type inference.
Christophe Rhodes [Wed, 10 Sep 2003 13:21:29 +0000 (13:21 +0000)]
0.8.3.48:
(SIGNED-BYTE 1) = (INTEGER -1 0)
... detected by random input from pfdietz, noted on #lisp
2003-09-10
Christophe Rhodes [Wed, 10 Sep 2003 09:23:22 +0000 (09:23 +0000)]
0.8.3.45.modular4:
Just move the source transforms to a more logical place on x86
Christophe Rhodes [Tue, 9 Sep 2003 16:57:46 +0000 (16:57 +0000)]
0.8.3.45.modular3:
Implement (I think) modular functions on sparc
... as usual in this kind of thing, an untested last-minute
modification creeps in, because I broke LOGEQV in
an obvious way. Will test the modification before this
branch gets near HEAD.
Christophe Rhodes [Tue, 9 Sep 2003 16:49:05 +0000 (16:49 +0000)]
0.8.3.45.modular2:
Restore buildability on x86
... define essentially the same source transforms as were
deleted to make the PPC version efficient.
... KLUDGE: the full call version of LOGEQV is now inefficient;
first the arguments get associated into logeqv pairs;
then (LOGNOT (LOGXOR .. ..)) is done on each pair.
Since user code gets transformed to efficiency, this
isn't so bad... only (funcall #'logeqv .. .. ..)
exhibits this problem.
Alexey Dejneka [Tue, 9 Sep 2003 07:09:48 +0000 (07:09 +0000)]
0.8.3.47:
* Fix bugs in PARSE-INTEGER related to the index in
:JUNK-ALLOWED NIL case and to displaced string processing
reported by Paul Dietz;
* fix bug 145b: in CONVERT-MEMBER-TYPE bail out to (TYPE-OF
MEMBER) in difficult cases.
Christophe Rhodes [Mon, 8 Sep 2003 16:57:56 +0000 (16:57 +0000)]
0.8.3.46:
Really really really really fix the ASH bug on MIPS
... really. Even for constant shifts.
Christophe Rhodes [Mon, 8 Sep 2003 15:47:45 +0000 (15:47 +0000)]
0.8.3.45.modular1:
Implement modular function optimization for PPC.
... Haven't implemented modular - or *; they could be TODO.
... probably doesn't build on anything but PPC currently, so
onto a branch it goes.
Christophe Rhodes [Mon, 8 Sep 2003 13:42:12 +0000 (13:42 +0000)]
0.8.3.45:
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
wrong
OK, OK, I give in
... relax the type declaration on signed-immediate instructions
to allow (unsigned-byte 16)s through
Christophe Rhodes [Mon, 8 Sep 2003 09:00:17 +0000 (09:00 +0000)]
0.8.3.44:
"Oops"
... 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.
Christophe Rhodes [Mon, 8 Sep 2003 08:52:14 +0000 (08:52 +0000)]
0.8.3.43:
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
Rudi Schlatte [Sun, 7 Sep 2003 15:24:00 +0000 (15:24 +0000)]
sb-posix: define msync and its constants
... use it in sb-simple-streams
Rudi Schlatte [Sun, 7 Sep 2003 14:19:08 +0000 (14:19 +0000)]
Remove files (cl.lisp superseded by impl.lisp, simple-streams.lisp
broken in parts)
Rudi Schlatte [Sun, 7 Sep 2003 14:10:26 +0000 (14:10 +0000)]
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)
Kevin Rosenberg [Sun, 7 Sep 2003 05:21:59 +0000 (05:21 +0000)]
0.8.3.40:
* Apply Nikodemus's patch for cl-linedit
* Minor changes to inspect.lisp
Christophe Rhodes [Sat, 6 Sep 2003 11:03:20 +0000 (11:03 +0000)]
0.8.3.39:
Fix the ASH bugs for mips (I think)
... just one vop to fix
While I'm at it, delete unused or bogus SXHASH assembly
routines;
Add mips to INSTALL as suggested by Lars Brinkhoff.
Christophe Rhodes [Fri, 5 Sep 2003 08:15:44 +0000 (08:15 +0000)]
0.8.3.38:
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
Christophe Rhodes [Thu, 4 Sep 2003 16:52:07 +0000 (16:52 +0000)]
0.8.3.37:
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
Alexey Dejneka [Thu, 4 Sep 2003 16:09:11 +0000 (16:09 +0000)]
0.8.3.36:
* Fix bug reported by Paul Dietz: (GCD 0 X) returned X instead
of (ABS X).
Christophe Rhodes [Thu, 4 Sep 2003 15:05:34 +0000 (15:05 +0000)]
0.8.3.35:
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*
Christophe Rhodes [Thu, 4 Sep 2003 13:35:07 +0000 (13:35 +0000)]
0.8.3.34:
Love and tenderness to the SPARC arithmetic instructions
... fix the ASH bug, I think
Alexey Dejneka [Thu, 4 Sep 2003 05:56:08 +0000 (05:56 +0000)]
0.8.3.33:
* Fix bug reported by Paul Dietz: (GCD 0 X) returned X instead
of (ABS X).
Christophe Rhodes [Wed, 3 Sep 2003 16:52:23 +0000 (16:52 +0000)]
0.8.3.32:
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?
Christophe Rhodes [Wed, 3 Sep 2003 14:13:35 +0000 (14:13 +0000)]
0.8.3.31:
Fix ASH bug on PPC
... add a test for it, which will probably fail on most if not all
other architectures. To be continued...
Christophe Rhodes [Wed, 3 Sep 2003 09:52:04 +0000 (09:52 +0000)]
0.8.3.30:
Stylistic change in COERCE-TO-COMPLEX-TYPE:
... (subtypep (type-of ...) 'double-float)???
Change it to (typep ... 'double-float).
... adjust some comments for reality.
Alexey Dejneka [Wed, 3 Sep 2003 09:05:02 +0000 (09:05 +0000)]
0.8.3.28:
* Fix bug reported by Paul Dietz in optimizer for (EXPT ...
<zero>)
... different treating of integer and complex arguments;
... SOURCE-TRANSFORM-NUMERIC-TYPEP: be accurate with (COMPLEX
INTEGER);
* SB-BSD-SOCKETS: really grovel SO_NO_CHECK.
Christophe Rhodes [Wed, 3 Sep 2003 08:41:53 +0000 (08:41 +0000)]
0.8.3.28:
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
Christophe Rhodes [Tue, 2 Sep 2003 12:33:23 +0000 (12:33 +0000)]
0.8.3.27:
Promising a vectorizing Lisp compiler since, oh, 2001...
... hand-vectorize FILL on simple-base-strings.
Christophe Rhodes [Tue, 2 Sep 2003 11:25:39 +0000 (11:25 +0000)]
0.8.3.26:
PPC/Linux bandaid
... compile the runtime without optimization: log it as a workaround
for an underlying problem in BUGS
Alexey Dejneka [Tue, 2 Sep 2003 11:11:46 +0000 (11:11 +0000)]
0.8.3.25:
* Fix bug 277: IGNORE/IGNORABLE declarations should work for
symbol macros;
* fix bug in CERROR recognition inside RESTART-CASE.
Daniel Barlow [Tue, 2 Sep 2003 02:39:02 +0000 (02:39 +0000)]
0.8.3.24
Duh. A working version of socket-accept would be an improvement
Daniel Barlow [Tue, 2 Sep 2003 00:08:14 +0000 (00:08 +0000)]
0.8.3.23
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
inconvenience.
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
Andreas Fuchs [Mon, 1 Sep 2003 21:22:14 +0000 (21:22 +0000)]
0.8.3.22:
Contrib frobs
... add a safeguard to sb-grovel:
issue a STYLE-WARNING when a constant can not be
groveled;
... grovel SIG* names in sb-posix; this includes SIGRT* names
on platforms where they are defined.
Christophe Rhodes [Mon, 1 Sep 2003 15:29:34 +0000 (15:29 +0000)]
0.8.3.21:
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
Christophe Rhodes [Mon, 1 Sep 2003 14:44:44 +0000 (14:44 +0000)]
0.8.3.20:
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)
Christophe Rhodes [Mon, 1 Sep 2003 12:51:08 +0000 (12:51 +0000)]
0.8.3.19:
Fix bug in ROUND/FROUND revealed by PFD
... after cmucl-imp/sbcl-devel 2003-08-xx
Remove last vestiges of *GC-NOTIFY-STREAM*
Christophe Rhodes [Mon, 1 Sep 2003 10:41:24 +0000 (10:41 +0000)]
0.8.3.18:
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 find-gnumake.sh in binary distributions:
... make it so!
Alexey Dejneka [Mon, 1 Sep 2003 07:55:42 +0000 (07:55 +0000)]
0.8.3.17:
* 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);
... remove SB-UNIX:UNIX-SIGNAL-NUMBER and UNIX-SIGNAL-NAME.
Daniel Barlow [Sat, 30 Aug 2003 19:57:57 +0000 (19:57 +0000)]
0.8.3.16
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 0.8.3.10
.. added 282 and 283 to cover various kinds of thread lossage
Alexey Dejneka [Sat, 30 Aug 2003 06:44:45 +0000 (06:44 +0000)]
0.8.3.15:
* New function MAP-COMBINATION-ARGS-AND-TYPES;
... use it in ASSERT-CALL-TYPE and
%continuation-%externally-checkable-type;
... 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.
Christophe Rhodes [Fri, 29 Aug 2003 18:07:15 +0000 (18:07 +0000)]
0.3.8.14:
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
comment.
Christophe Rhodes [Fri, 29 Aug 2003 17:59:08 +0000 (17:59 +0000)]
0.8.3.13:
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
Alpha
Alexey Dejneka [Fri, 29 Aug 2003 12:45:46 +0000 (12:45 +0000)]
0.8.3.12:
* 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 [Fri, 29 Aug 2003 08:45:38 +0000 (08:45 +0000)]
0.8.3.11:
* New bug 282;
* remove bug entry 233a;
... add a test for it.
Daniel Barlow [Thu, 28 Aug 2003 15:32:28 +0000 (15:32 +0000)]
0.8.3.10
Restore the GC hooks. *BEFORE-GC-HOOKS* and *AFTER-GC-HOOKS*
are run with interrupts disabled and all other threads
paused. They should take no arguments. This means that
finalization works again: three cheers.
Remove all trace of *GC-NOTIFY-{BEFORE,AFTER,STREAM}* : if you
want to notify the user that G is being C, use a hook.
test/threads.impure.lisp contains a new test which is known
to fail. Don't feel bad about deleting it
Fix asdf-install to actually chase dependencies recursively
instead of just finding the first one then stopping. Now it
seems to be able to install Araneida
Restore inadvertently chopped line to version.lisp-expr
Christophe Rhodes [Thu, 28 Aug 2003 12:11:48 +0000 (12:11 +0000)]
0.8.3.9:
Faster compiler! Wheeeeeeeeeeeeeeee!
... use lists rather than adjustable vectors deep in
type-intersection/union canonicalization;
... still c. 50% slower than certain other lisp compilers on the
all-important "compile sbcl" benchmark.
Christophe Rhodes [Thu, 28 Aug 2003 10:53:49 +0000 (10:53 +0000)]
0.8.3.8:
Fix globaldb type errors
... SXHASH can return the most positive fixnum
Don't fix globaldb potential bootstrap problem
... leave it for when we have a typesafe 64-bit lisp, able to
detect the errors
Christophe Rhodes [Thu, 28 Aug 2003 09:07:57 +0000 (09:07 +0000)]
0.8.3.7:
Fix effective method cacheing over method combination changes
(Andreas Fuchs sbcl-help 2003-08-27) after GM
... REINITIALIZE-INSTANCE :AROUND to remove affected methods
from the cache
Also fix cut'n'pasteo in documentation of methods
Alexey Dejneka [Wed, 27 Aug 2003 06:49:16 +0000 (06:49 +0000)]
0.8.3.6:
* Fix bug 278b: remove second return value of
VALUES-TYPE-INTERSECTION (it is not any worse than
TYPE-INTERSECTION).
Christophe Rhodes [Tue, 26 Aug 2003 17:46:57 +0000 (17:46 +0000)]
0.8.3.5:
DOCUMENTATION fixes:
... make generic function documentation findable;
... systematize DOCUMENTATION support, by having one method per
specified method, so adding support for STANDARD-METHODs
and for METHOD-COMBINATIONs
... refactor :RANDOM-DOCUMENTATION :STUFF stuff into an
auxiliary pair of functions, and use them in
COMPILER-MACRO and METHOD-COMBINATION methods;
... also set documentation in
LOAD-{SHORT,LONG}-METHOD-COMBINATION
(there's still some leftover refactoring to be done, and maybe
a systematic test suite to be written...)
Christophe Rhodes [Tue, 26 Aug 2003 16:15:57 +0000 (16:15 +0000)]
0.8.3.4:
Slightly less bad fix for invalid-qualifiers "not an error" bug
... when we're precomputing methods, defer the error until call
time;
... document remaining badness
William Harold Newman [Tue, 26 Aug 2003 13:21:18 +0000 (13:21 +0000)]
0.8.3.3:
revised PARSE-BODY to eliminate bogus style-warning for
(MACROLET (...) (DECLAIM ...))
Since there are now two optional flags, use &KEY args instead
of trying to remember the position of &OPTIONAL args.
code-sharing in PROG and PROG*
'Twas passing strange passing ENV as the second argument
to PARSE-BODY in ADD-METHOD-DECLARATIONS...
new old BUGS (dunno why I discovered both on the same day)
Alexey Dejneka [Tue, 26 Aug 2003 08:58:30 +0000 (08:58 +0000)]
0.8.3.2:
* SB-SIMPLE-STREAMS:
... implement WRITE-SEQUENCE for single channel streams;
... fix bug in tests, causing random test failures;
* add declarations to SCALE-EXPONENT;
* remove obsolete type declarations in MIX;
* change type inference for iteration-like variables: if
interval type is successfuly derived, ignore other inferred
information.
Daniel Barlow [Mon, 25 Aug 2003 21:00:00 +0000 (21:00 +0000)]
0.8.3.1
Merge stop_the_world branch: a new scheme for stopping threads
during GC, that avoids the use of ptrace and lets any of the
threads stop any of the others. This is a summary log entry:
see branch commits for details
New C functions maybe_defer_handler and run_deferred_handler,
which encapsulate a lot of the "is it safe to run this handler
now? no, ok, copy its siginfo somewhere safe and do it later"
cruft that's presently done ad hoc.
Stack scavenging now looks for esp in the most recent
interrupt context for each thread. Requires that threads
save said interrupt contexts in sig_stop_for_gc_handler
Clean up some compiler warnings in gencgc.c
Lisp-level changes: approximately a reversion to old-style (or
single-threaded) GC. Haven't actually added the gc hooks back
in yet, but now there's at least a place for them to go.
Lock around SUB-GC to remove window that may allow two threads
to attempt to collect at once.
WITHOUT-INTERRUPTS around SUB-GC to protect c-level spinlocks
used in gc_{stop,start}_the_world
(C-level spinlocks are just integers manipulated by get_spinlock(),
release_spinlock(). There's no unwind-protect or anything
involved in their use, so a thread interrupted when it's
holding one of these will continue to hold it)
Remove #if 0 from around the copying of sigmask in
undo_fake_foreign_function_call. Replace sizeof(sigmask_t)
with an expression involving the value of NSIG and the rash
assumption that sigset_t is a bitmask.
Moved get_spinlock into foo-arch.h and made it static inline.
Added release_spinlock for parity
Delete irritating message from sigcont_handler
New test cases
William Harold Newman [Mon, 25 Aug 2003 12:32:58 +0000 (12:32 +0000)]
0.8.3:
release, tagged as sbcl_0_8_3
Alexey Dejneka [Sat, 23 Aug 2003 04:17:55 +0000 (04:17 +0000)]
0.8.2.55:
* New bugs.
Alexey Dejneka [Thu, 21 Aug 2003 16:20:20 +0000 (16:20 +0000)]
0.8.2.54:
* New bug.
Christophe Rhodes [Thu, 21 Aug 2003 11:47:17 +0000 (11:47 +0000)]
0.8.2.53:
Fixed hanging-on-reader-error in Darwin (and Solaris, it turns
out):
... Here's the deal: lseek(), on "certain devices", has
"unspecified consequences"
... said devices include, empirically, /dev/stdin
... so lseek was merrily returning a success code despite
clearly being incapable of rewinding the input stream
... so in our new error-reporting for reader errors, we were
assuming because of the success value that we could
read the erroneous input into a buffer...
... whereas we were rather sitting there waiting for more input.
... So protect the rereading code with an INTERACTIVE-STREAM-P.
Christophe Rhodes [Thu, 21 Aug 2003 11:38:41 +0000 (11:38 +0000)]
0.8.2.52:
Partial fix for method definition protocol
... ANSI in its wisdom saith that the mere addition of a bogus
method to a generic function is not cause for signalling
an error. Signal a warning instead, and defer the error
to when the function is called.
Factor out common testing code into a sourceable script, and
adjust the clos tests to reflect this new interpretation
Alexey Dejneka [Thu, 21 Aug 2003 09:18:59 +0000 (09:18 +0000)]
0.8.2.51:
* Fixed new bug shown by CLOCC: EXPT type deriver tried to
work with arbitrarily large exponents;
* stylistic change: eliminate (case ... ('+ ...));
* test case for the bug 45b;
* stylistic change: stream tests should remove temporary files.
Alexey Dejneka [Wed, 20 Aug 2003 18:55:21 +0000 (18:55 +0000)]
0.8.2.50:
* Partially enable VALUES declaration:
... PROCESS-DECLS does not accept continuation; instead it
returns the asserted type as the second result;
... new macro: PROCESSING-DECLS, rebinds *LEXENV* and puts THE
on the result, if needed;
* IR1-CONVERT-LAMBDA-BODY and similar do not accept/pass the
result continuation;
* remove obsolete LEXENV-WEAKEND-TYPE-RESTRICTIONS.
Christophe Rhodes [Wed, 20 Aug 2003 14:09:44 +0000 (14:09 +0000)]
0.8.2.49:
When is a GO tag not a GO tag?
... remove stray "p" from midst of commentary :-)
Christophe Rhodes [Wed, 20 Aug 2003 12:28:58 +0000 (12:28 +0000)]
0.8.2.48:
IRC as a substitute for cvs diff | mail sbcl-devel
... purportedly fix the return-from-sigint problem on Darwin/PPC,
from Patrik Nordebo (KingNato)
Christophe Rhodes [Wed, 20 Aug 2003 11:56:54 +0000 (11:56 +0000)]
0.8.2.47:
Fix the shell suspension bug and threaded builds
Alexey Dejneka [Wed, 20 Aug 2003 08:25:44 +0000 (08:25 +0000)]
0.8.2.46:
* New old bugs.
Christophe Rhodes [Tue, 19 Aug 2003 15:42:39 +0000 (15:42 +0000)]
0.8.2.45:
Fix READ-SEQUENCE bug (DB sbcl-devel 2003-08-19, Gerd Moellman
cmucl-imp)
... and add a test;
Fix CEILING bug (PFD sbcl-devel 2003-08-19)
... add a test, and uncomment a bunch of now-working tests
One more format string badness fix.