sbcl Log


Commit Date  
[41bc87] by Nikodemus Siivola Nikodemus Siivola

update ASDF to 2.019

2011-11-28 12:29:57 Tree
[ecb0dd] by Nikodemus Siivola Nikodemus Siivola

make PPC/Linux buildable on ppc64 hosts

2011-11-27 13:57:00 Tree
[f7a78d] by Nikodemus Siivola Nikodemus Siivola

tweak tail merging logic

TAIL-ANNOTATE used MERGE-TAIL-CALLS policy (which is an integer) as a
boolean, instead of comparing it to zero. Oops. This means that we always did
TCO when possible.

Since adding a debug-catch-tag effectively prevents TCO, and the policy
controlling that looks just like what we would like to have in
MERGE-TAIL-CALLS if TAIL-ANNOTATE were to use it correctly... just deprecate
MERGE-TAIL-CALLS instead.

2011-11-23 07:41:15 Tree
[2a9b33] by Joshua Elsasser Joshua Elsasser

Fix errno value for sb-posix rmdir.error.3 test on OpenBSD.

Use #+bsd instead of #+(or darwin openbsd) on the assumption that all
the other BSD-derived systems use the same errno value.

2011-11-23 00:30:28 Tree
[f3491f] by Nikodemus Siivola Nikodemus Siivola

Revert "fix sb-posix tests on OpenBSD"

Oops. As Josh noted, the equivalent C code works, so the explanation was
bogus, and the test is better left enabled to track the issue.

This reverts commit d94c1b4a8c534bde146823f56558faf37cd4c4d7.

Conflicts:

NEWS

2011-11-20 18:09:49 Tree
[d94c1b] by Bruce O'Neel Bruce O'Neel , pushed by Nikodemus Siivola Nikodemus Siivola

fix sb-posix tests on OpenBSD

FCNTL.FLOCK.2 the test wants to check the PID of the lock holder, and,
OpenBSD 5.0 disallows this. OpenBSD 4.9 and earlier was fine with it.

lp#892707

Signed-off-by: Nikodemus Siivola <nikodemus@random-state.net>

2011-11-20 11:16:33 Tree
[e072a8] by Nikodemus Siivola Nikodemus Siivola

sb-bsd-sockets: fix GET-HOST-BY-NAME and -ADDRESS on unthreaded builds

(Platforms with getaddrinfo.)

Broken by recent thread-safety fix for the same.

2011-11-19 20:04:34 Tree
[dcf7b5] by Nikodemus Siivola Nikodemus Siivola

sb-bsd-sockets: gethostbyname and gethostbyaddr are not thread safe

...or re-entrant. Need to disable interrupts and grab a lock.

Affects only platforms without getaddrinfo.

Correct the size of memory leak fixed in last commit in NEWS -- it
was more than one word per call.

2011-11-18 15:34:13 Tree
[ab5427] by Nikodemus Siivola Nikodemus Siivola

sb-bsd-sockets: check for MAKE-ALIEN success in GET-PROTOCOL-BY-NAME

Currently of malloc fails it returns a null alien.

Yuck.

2011-11-18 15:19:00 Tree
[78eea0] by Nikodemus Siivola Nikodemus Siivola

sb-bsd-sockets: GET-ADDRESS-INFO foreign memory leak

Two issues:

* We were using MAKE-ALIEN and not freeing the memory.

* We were calling FREE-ADDRINFO, not FREEADDRINFO: the first is an
SB-GROVEL generated deallocator, the second is freeaddrinfo()...

2011-11-18 15:18:30 Tree
[71c5af] by Nikodemus Siivola Nikodemus Siivola

sb-bsd-sockets: foreign memory leak in GET-PROTOCOL-BY-NAME

I blame WITH-ALIEN usage -- it masks the MAKE-ALIEN calls
from the casual eye.

2011-11-16 16:30:44 Tree
[18a1f7] by Nikodemus Siivola Nikodemus Siivola

sb-concurrency: GATE tweak, fix building without threads

* OPEN-GATE wasn't interrupt-safe. Don't want to have an interrupt unwind
after opening the gate but before broadcasting on the condition variable.

* Disable tests needing threads on unithread builds, add one that
doesn't need threads.

Also: many thanks to Tobias Rittweiler on whose code the GATE implementation
is based!

2011-11-14 14:19:52 Tree
[e034d6] by Nikodemus Siivola Nikodemus Siivola

sb-concurrency: add Allegro-style gate objects

2011-11-14 10:58:22 Tree
[4255b3] by Nikodemus Siivola Nikodemus Siivola

fix unthreaded build

CONDITION-WAIT on threadless builds now reads TIMEOUT.

Stray MUTEX/LOCK naming confusion.

#+sb-thread on more mailbox test.

#!+sb-thread %WAIT-FOR-MUTEX for cleanliness.

2011-11-10 17:38:22 Tree
[1ecff2] by Nikodemus Siivola Nikodemus Siivola

timeouts on semaphores and mailboxes, fix timeouts on condition variables

* Accidentally put in the version of condition variable timeouts that just
looked like a spurious wakeup instead of returning NIL without grabbing
the mutex. Ooops -- fixed that.

* The issue with mailbox tests on Darwin at least appears to be related
to our usage of pthread functions inside signal handlers.

2011-11-10 12:12:59 Tree
[b1f97e] by Jim Wise Jim Wise

At least one of the Tests which hang on Darwin also hang on SunOS.

Make (not (or darwin sunos)) for the moment, and I'll tey to narrow this
down tomorrow.

sb-concurrency otherwise builds and tests great with new thread stuff on
Solaris/X86 -- on to ../../tests!

2011-11-10 03:25:19 Tree
[d6f967] by Nikodemus Siivola Nikodemus Siivola

killing lutexes, adding timeouts

* Remove all lutex-specific code from the system.
** Use SB-FUTEX for futex-capable platforms, and plain SB-THREAD
otherwise.
** Make non-futex mutexes unfair spinlocks for now, using WAIT-FOR to
provide timeouts and backoff.
** Build non-futex condition variables on top of a queue and WAIT-FOR.

Performance implications: SB-FUTEX builds should perform pretty much the
same, or improve a bit. Threaded non-futex builds are affected as follows:

1. Threads idling on semaphores or condition variables aren't quite as
cheap. Just how costly depends on the OS. On Darwin 1000 idle threads
can chew up a bit over 50% CPU. I will try to address this later.

2. Contested locking around operations that take considerably longer
than a single timeslice suffers mild degradation.

3. Contested locking around operations that don't take long is an order
of magnitude performant.

4. Highly active semaphores perform much better. (Follows from #3.)

* GRAB-MUTEX gets timeout support on all platforms.

* CONDITION-WAIT gets timeout support.

* Disable a bunch of prone-to-hang thread tests on Darwin. (All of them
were already prone to hang prior to this commit.)

* Enable a bunch tests that now /pass/ on Darwin. \o/ This doesn't mean that
the threaded Darwin is fully expected to pass all tests yet, but let's say
it's more likely to do so.

...but still not robust enough to enable threads on Darwin by default.

* GET-MUTEX/GRAB-MUTEX get refactored into two main parts: %TRY-MUTEX and
%WAIT-ON-MUTEX, which are also used directly from CONDITION-WAIT where
appropriate.

2011-11-09 23:00:48 Tree
[ecfd15] by Jim Wise Jim Wise

Skip testl fcntl.flock.2 on NetBSD.
Not sure what's going on with this one -- getting a return status
of '0' from child process, but don't see a path through code that
will produce this. Will work on this further.

2011-11-09 18:54:10 Tree
[6a7128] by Nikodemus Siivola Nikodemus Siivola

fix ROTATE-BYTE on 64-bit words using constant negative rotation

Fixes lp#882151.

2011-10-29 18:34:29 Tree
[b2036b] by Nikodemus Siivola Nikodemus Siivola

nuke the age-old experimental-thread.patch

Not pertinent anymore.

2011-10-27 14:07:30 Tree
[a53e74] by Alastair Bridgewater Alastair Bridgewater , pushed by Alastair Bridgewater Alastair Bridgewater

Improve some test cases for fixnum-width independence

* In arith.pure.lisp, some test cases were defined in terms of
n-lowtag-bits instead of n-fixnum-tag-bits.

* In sb-aclrepl, the bignum used for testing fit within an
(signed-byte 63), the largest possible fixnum type on a 64-bit system.

* Thanks to Paul Khuong for finding and fixing the arith.pure.lisp
tests.

2011-10-19 19:49:32 Tree
[e57523] by Alastair Bridgewater Alastair Bridgewater , pushed by Alastair Bridgewater Alastair Bridgewater

Clean up all use of the *-space-free-pointers.

* These are symbols whose value slots contain unboxed word-aligned
byte pointers. Thus, they appear to lisp as fixnums. They are not,
however, guaranteed to be word pointers.

* Shift by n-fixnum-tag-bits instead of shifting by word-shift or
scaling by n-word-bytes in order to obtain byte pointers.

2011-10-19 19:49:32 Tree
[09bce6] by Nikodemus Siivola Nikodemus Siivola

update to ASDF 2.017

2011-08-22 11:17:38 Tree
[7254da] by Anton Kovalenko Anton Kovalenko , pushed by David Lichteblau David Lichteblau

sb-bsd-sockets: Fix error code handling on Windows

Factored out into a new function for the win32-specific
WSAGetLastError call.

Run-time results now match the existing constant definitions.

Thanks to Anton Kovalenko.

2011-08-10 18:05:12 Tree
[cb0052] by David Lichteblau David Lichteblau

sb-simple-streams: In test lp491087, merge the pathname

Needed for Windows.

Thanks to Anton Kovalenko.

2011-08-10 18:05:06 Tree
Older >