sbcl Log

Commit Date  
[30ef07] (atropos-branch) by Daniel Barlow Daniel Barlow
Rewrote the strange locking stuff in SUB-GC so that I can
understand it again: as a side effect, my newest thread/gc
torture test works again

OTOH, the final test in threads.impure.lisp was once observed
to break with this code, but who's to know if that's new?

2003-09-30 15:49:11 Tree
[93108e] by Daniel Barlow Daniel Barlow ; 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
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
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
[2e9def] by Alexey Dejneka Alexey Dejneka
* Fix bug reported by Paul F. Dietz 2003-09-24 "NIL is not of

2003-09-25 05:17:23 Tree
[89823a] by Christophe Rhodes Christophe Rhodes
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
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
* 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
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
* 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
[5af8c2] by Alexey Dejneka Alexey Dejneka
* fix bug reported by Nicodemus Siivola:
... FIND-RESULT-TYPE: ignore uses in deleted blocks/functions;
* 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
[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
* 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

2003-09-19 12:57:38 Tree
[ce18bc] by Alexey Dejneka Alexey Dejneka
* FROB-DO-BODY: wrap a body in an additional TAGBODY.

2003-09-19 03:49:28 Tree
[1b56ed] by Daniel Barlow Daniel Barlow
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
* 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
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
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
[8f4d31] by Alexey Dejneka Alexey Dejneka
* Do not let-convert into a deleted function.

2003-09-18 06:26:57 Tree
[227096] by Alexey Dejneka Alexey Dejneka
* Change transformers for </>/>=/<= to work with unions of
* CONSTRAIN-REF-TYPE: ignore constraints of form (EQL val

2003-09-17 17:11:46 Tree
[f8c2f7] by Alexey Dejneka Alexey Dejneka
* DELETE-LAMBDA: delete also contained lambdas.

2003-09-17 06:45:45 Tree
[ca125e] by Alexey Dejneka Alexey Dejneka
* 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.

2003-09-16 09:45:15 Tree
[6053e7] by Alexey Dejneka Alexey Dejneka
* Update comments to the change of "continuation"
* 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
* rewrite test of restoring floating point modes on Alpha: old
version failed due to the absence of ABORT restart.

2003-09-16 07:45:06 Tree
[e5e261] by Christophe Rhodes Christophe Rhodes
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.

2003-09-15 17:10:36 Tree
[b31484] by Christophe Rhodes Christophe Rhodes
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

2003-09-15 15:09:01 Tree
Older >

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks