sbcl Log


Commit Date  
[93108e] by Daniel Barlow Daniel Barlow

0.8.3.95.atropos.1 ; cutting threads

There is getting to be rather a lot of sensible but
not-now-while-we're-releasing code in my thread/gc fix.
So here it is on a branch, hopefully minus the slightly
more evil debugging crud

doc/ - fix up some of the sgml errors that sourceforge keeps
mailing me about

New function release-spinlock that only changes the lock value
if we owned the spinlock, so good for unwind-protect cleanups
when lock acquisition failed

get-spinlock release-spinlock current-thread-id could all win
from being inlinable

Use a RT signal (SIG_DEQUEUE) for resuming threads that were
on queues, instead of having SIGCONT do both this and the
resume-after-gc task.

Scattered commentary describing the state of the signal mask
in various interesting places

In gencgc alloc, only install a deferred handler for GC if
there was no previous handler for anything else. This fixes
a longstanding bug where the GC thread would eat all cpu while
waiting indefinitely for othr threads to stop.

Add SIG_STOP_FOR_GC to the blockable list

interrupt_maybe_gc_int: enable signals before calling SUB-GC,
or the locking that sub-gc does is going to interact badly.

Minor rearrangement to parent thread to stop it having to wake
up on every GC

Inline arch_os_get_current_thread (note, thread.h is not a
sensible place for an x86linuxonly operation, rearrange this
before committing to HEAD)

Add grovel_headers lines for our RT signals. OAOOM alert...
(Actually, of these three we only need SIG-DEQUEUE)

2003-09-30 11:23:02 Tree
[2da80a] by Daniel Barlow Daniel Barlow

0.8.3.95
Minimal fix to compile on Linux 2.6 and recent FreeBSD:
disable running of pre-gc hooks
move running of post-gc hooks later, so it is done after
other threads start running aagin, outside the GC lock

2003-09-29 15:35:30 Tree
[8f4ef0] by Christophe Rhodes Christophe Rhodes

0.8.3.94:
Compiler fixes (touching only files in the alpha backend)
... the assembly routine for (signed-byte 32) [sic] truncate did
in fact work only for signed-byte 32 quantities, but was
being called on signed-byte 64 quantities. Fix it.
... the translators for ASH were broken in amusing ways: some
led to internal compiler errors when fed out-of-range
numbers; more insidiously, others allowed temporaries
to be overwritten in some cases. Fix them.
... lastly but not leastly, the %LI code to load an immediate
was wrong in a very small proportion of cases. After
much scribbling, deduce why and fix it.
... test cases to go with all of the above.

2003-09-26 17:19:13 Tree
[318900] by Rudi Schlatte Rudi Schlatte

0.8.3.93
Make double-channel simple streams work
... conditionalize flush-buffer etc. for code shared between
single-channel and double-channel simple streams
(Thanks to David Lichteblau for the reports)

2003-09-25 12:12:10 Tree
[81ccc8] by Christophe Rhodes Christophe Rhodes

0.8.3.92:
contrib/ updates for Solaris^WSunOS, as per Vincent Arksteijn
sbcl-devel 2003-09-25
... conditionalize distrust-length on SUNOS feature, which exists,
as opposed to SOLARIS which doesn't
... make def-to-lisp emit CL:NIL, not just NIL.
... try to figure out what the solaris clause meant in
bsd-sockets/name-service.lisp

2003-09-25 09:40:55 Tree
[2e9def] by Alexey Dejneka Alexey Dejneka

0.8.3.91:
* Fix bug reported by Paul F. Dietz 2003-09-24 "NIL is not of
type LVAR": use NODE-DEST in MAYBE-CONVERT-TO-ASSIGNMENT.

2003-09-25 05:17:23 Tree
[89823a] by Christophe Rhodes Christophe Rhodes

0.8.3.90:
Alpha build fix
... write a slightly more general PREPARE-ARGUMENT function for
modular arithmetic;
... as discussed on #lisp IRC 2003-09-24, post-0.8.4 we can optimize
common cases on platforms where register width and
bignum-element-width are the same.

2003-09-24 11:06:27 Tree
[603a4a] by Christophe Rhodes Christophe Rhodes

0.8.3.89:
Treatment of --load
... half fix the problems. Put LOAD into a multiple escape, so
that changes to the readtable don't break the
command-line option;
... log behaviour in the presence of #\" and #\* as a bug.

2003-09-23 14:50:16 Tree
[56a55f] by Alexey Dejneka Alexey Dejneka

0.8.3.88:
* Fix bug reported by Paul Dietz 2003-09-22: do not perform
modular function coversion in deleted blocks.

2003-09-23 06:51:39 Tree
[a93dc3] by Daniel Barlow Daniel Barlow

0.8.3.87
After vast effort (mostly Christophe's) we have a fix for the
hangs in multithreaded CLX. Under some circumstances we could
be trying to scavenge one thread's stack using the stack
pointer from another: needless to say, this is not too effective.

When sleeping on a queue, loop around sigwaitinfo restarting
it until it stops returning EINTR

2003-09-22 23:01:13 Tree
[3d8b0b] by Alexey Dejneka Alexey Dejneka

0.8.3.86:
* Fix transformers for </>/<=/>=:
... when swap arguments, change function name "<" <-> ">";
... do not check whether an interval is a constant LVAR;
* add type declaration in CONSTANT-LVAR-P.

2003-09-22 14:12:00 Tree
[68da29] by Rudi Schlatte Rudi Schlatte

0.8.3.85:

* Merged patch "speeding up simple-stream creation" from David
Lichteblau (sbcl-devel Sep 20, 2003)

* Conditionalize comments in sb-posix constants definition on
sb-doc

2003-09-21 20:01:30 Tree
[5af8c2] by Alexey Dejneka Alexey Dejneka

0.8.3.84:
* fix bug reported by Nicodemus Siivola:
... FIND-RESULT-TYPE: ignore uses in deleted blocks/functions;
... DELETE-LAMBDA: work with :OPTIONAL;
* DELETE-BLOCK: when deleting ENTRY, delete it from
LAMBDA-ENTRIES and delete all its EXITs.
* add DERIVE-TYPE optimizer for ISQRT (thanks to Robert
E. Brown).

2003-09-21 09:58:07 Tree
[c082e2] by Kevin Rosenberg Kevin Rosenberg

fix errant #\! from debugging code

2003-09-21 01:43:35 Tree
[4ac6ca] by Kevin Rosenberg Kevin Rosenberg

0.8.3.83:
* Compilation changes for contrib/sb-bsd-sockets for SuSE AMD64
Compilation is now successful on this platform, but two test cases
currently fail.

2003-09-21 01:29:59 Tree
[d4e910] by Daniel Barlow Daniel Barlow

0.8.3.82
asdf-install gets a good deal smarter about GPG signatures: it's
now usable for installing CLiki package even from non-CCLAN places

NEWS file updates for GC changes

Minor changes to 'Beyond ANSI' chapter in manual

2003-09-21 00:52:00 Tree
[62c09f] by Andreas Fuchs Andreas Fuchs

0.8.3.82: Make the runtime compile (not necessarily run) on x86/bsd again

2003-09-19 15:30:24 Tree
[d3cf65] by Andreas Fuchs Andreas Fuchs

Make the runtime compile (not necessarily run) on x86/bsd again

2003-09-19 15:25:53 Tree
[504959] by Alexey Dejneka Alexey Dejneka

0.8.3.81:
* DOLIST: take CDR before execution of the body as suggested
by Paul F. Dietz;
* DELETE-COMPONENT: do not try to delete deleted lambda
(bug reported by Paul Dietz);
* fix building with #+HIGH-SECURITY:
... {IN,OUT}-SYNONYM-OF: fix comma placing;
... src/pcl/gray-streams.lisp: make redefinition of
{INPUT,OUTPUT}-STREAM-P be atomic.

2003-09-19 12:57:38 Tree
[a8c908] by Alexey Dejneka Alexey Dejneka

0.8.3.80:
* FROB-DO-BODY: wrap a body in an additional TAGBODY.

2003-09-19 04:10:09 Tree
[ce18bc] by Alexey Dejneka Alexey Dejneka

0.8.3.80:
* FROB-DO-BODY: wrap a body in an additional TAGBODY.

2003-09-19 03:49:28 Tree
[1b56ed] by Daniel Barlow Daniel Barlow

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)

2003-09-18 23:15:56 Tree
[f7b3fe] by Kevin Rosenberg Kevin Rosenberg

0.8.3.78:
* Initial changes to build on SuSE AMD64. Still need to port sb-bsd-sockets.

2003-09-18 21:09:08 Tree
[954902] by Christophe Rhodes Christophe Rhodes

0.8.3.77:
Implement FILE-POSITION on string streams
... patch from Nikodemus Siivola sbcl-devel 2003-09-15

2003-09-18 16:43:56 Tree
[9ab3c4] by Daniel Barlow Daniel Barlow

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

2003-09-18 13:06:31 Tree
Older >