sbcl Log


Commit Date  
[ba534a] by David Lichteblau David Lichteblau

Try to make test :deferrables-unblocked-by-lock more robust

- Use a join thread, not a kill thread, so that we do not kill the
background thread while it is currently performing the actual
test.

- Give the thread more time to start up, to make it more likely
that its GRAB-MUTEX call needs to wait -- otherwise deferrables would
not be unblocked.

2012-09-30 12:14:24 Tree
[83fc8f] by David Lichteblau David Lichteblau

New predicate THREAD-EPHEMERAL-P for certain system threads

Adds an `ephemeral' flag to the thread structure and exports it.
When true, we can assume that the thread will be started and stopped
by the runtime automatically as needed.

The flag is currently of a purely informational nature; it does not
change the behaviour of thread-related functions.

Thanks to Anton Kovalenko.

2012-09-19 13:45:06 Tree
[69990b] by Paul Khuong Paul Khuong , pushed by David Lichteblau David Lichteblau

Kill leftover threads after each test

Otherwise, slightly broken tests manifest as hard failures in later
tests.

Thanks to Paul Khuong.

2012-09-18 16:43:05 Tree
[5c6755] by Paul Khuong Paul Khuong , pushed by David Lichteblau David Lichteblau

Fix "exit from normal thread" test

The test did not wait for the child to exit, resulting in spurious
failures on loaded or single-core machines.

2012-09-18 16:08:12 Tree
[8afcf4] by David Lichteblau David Lichteblau

Reduce the numbers of threads in test ATOMIC-UPDATE on 32bit platforms

This test creates 1000 threads in a row -- too many for some 32bit
platforms due to lack of memory or fragmentation.

2012-09-18 15:44:00 Tree
[87c62d] by Nikodemus Siivola Nikodemus Siivola

don't assume only bits are looked for in bit-vectors

2012-09-17 19:47:39 Tree
[239125] by Nikodemus Siivola Nikodemus Siivola

timeouts for WITH-MUTEX and WITH-RECURSIVE-LOCK

* Also support :WAIT-P in WITH-RECUSIVE-LOCK.

* Deprecate GET-MUTEX properly (been deprecated since early 2010, but didn't signal
a compile-time warning, and we used it internally.)

* Make WITH-MUTEX signal a runtime error when :VALUE is used and is other
than current thread or NIL. Releasing it isn't going to work right if
someone else holds it.

2012-09-15 11:27:09 Tree
[af3fdb] by Nikodemus Siivola Nikodemus Siivola

implement ATOMIC-PUSH and ATOMIC-POP

2012-09-15 11:27:08 Tree
[76db27] by Nikodemus Siivola Nikodemus Siivola

fix CAS on DEFCAS-defined places when the form is a macro

2012-09-15 11:27:06 Tree
[bad78f] by David Lichteblau David Lichteblau

Port tests/expect.sh, foreign.test.sh to FreeBSD's shell

Fixes clos.test.sh, foreign.test.sh on FreeBSD 9.1.

2012-09-14 17:36:21 Tree
[31a554] by Nikodemus Siivola Nikodemus Siivola

fix bug in SYMBOL-VALUE CAS expansion for constant arguments

2012-09-10 22:52:16 Tree
[b8359d] by Stas Boukarev Stas Boukarev

Reading floats with large exponents no longer takes too much time.

Reading 1.0s1000000000000000 will attempt to construct a very large
bignum, which takes a considerable amount of time just to report in
the end that it cannot be represented as a float. Truncate the
exponent to manageable size before raising it.

Fixes lp#309070. Thanks to Paul Khuong for the help.

2012-08-31 21:38:13 Tree
[b14aef] by Stas Boukarev Stas Boukarev

Fix test-case for bug-511072 in packages.impure.lisp

It was creating an error in an additional thread and didn't handle it
properly, which caused SBCL to bail out.
Reported by Mirko Vukovic.

2012-08-15 18:09:16 Tree
[088583] by Paul Khuong Paul Khuong

More efficient (stable) sort of lists

* (Reverse-) Sorted runs are mostly processed in linear time;

* Calls to the :key function are cached;

* Base cases now include specialised sorts for lists of
length 3 and shorter.

* Minimal test case for stable sorting.

2012-08-13 06:46:00 Tree
[dd54f9] by David Lichteblau David Lichteblau

Use safepoints for INTERRUPT-THREAD

* In INTERRUPT-THREAD, stop threads using safepoints instead of
signals.

* Currently not used by default. Users need to set feature
SB-THRUPTION to enable this code. SB-THRUPTION should only be set
when SB-SAFEPOINT is also enabled.

* This feature should ultimately be rolled into SB-SAFEPOINT, but
remains as a separate build option until both versions are equally
well-tested, and until other avoidable uses of signals have also
been replaced by safepoints.

* On the term "thruption": Earlier work on this feature sometimes
used "interrupt" to refer to INTERRUPT-THREAD, causing confusion
with the traditional meaning of "interrupt" as POSIX signal or WIN32
exception. To avoid such confusion, the runtime now refers to
INTERRUPT-THREAD as a "thruption", short for th(read) (inter)ruption.

* SIGPIPE is not used for threads running Lisp code, but a low-level
handler for SIGPIPE still exists which arranges for threads running
FFI code (in particular, threads blocked in poll, select,
futex_wait) to be interrupted.

* OS support: Minor changes to signal handling required, currently
implemented for Linux and Solaris.

Credits: This is a POSIX backport of Windows threading changes by
Anton Kovalenko and Dmitry Kalyanov.

2012-08-10 18:54:28 Tree
[6202d1] by David Lichteblau David Lichteblau

Restore buildability of run-program.impure on win32

... which had, unfortunately, been affected negatively by the previous
commit.

2012-07-19 18:45:33 Tree
[f9663e] by David Lichteblau David Lichteblau

win32: Mark all currently failing tests as such

This change is not to be taken as an indication that these tests are not
going to be fixed. Instead, it establishes a baseline against which to
measure future improvements, and it guards against further regression.

Please let's mark any newly added, problematic tests in the same fashion.

2012-07-19 17:46:39 Tree
[97527a] by David Lichteblau David Lichteblau

Temporarily disable problematic exhaust tests on Windows

2012-07-18 17:42:13 Tree
[41c307] by Paul Khuong Paul Khuong

Improved merge-sort implementation for lists

The new implementation is simpler and more efficient than the previous
bottom-up sort. It only differs from the original patch aesthetically.

STABLE-SORT-LIST is also now MAYBE-INLINE, to enable selective inlining.

Thanks to Takeru Ohta for the code and for his patience.

2012-06-17 08:53:47 Tree
[d720bc] by Nikodemus Siivola Nikodemus Siivola

fix long-standing debug-name confusion

The calls to IR1-CONVERT-LAMBDA-BODY with the a VARARGS-ENTRY and
HAIRY-ARG-PROCESSOR debug-names were no such things.

These calls produces the actual lambda for the main body of the function,
and as such should have the original source-name and debug-name.

As proof of the pudding, we previously failed to detect several known
function that are recursive but aren't marked as such in the DEFKNOWNs. With
this that changes, so fix the DEFKNOWNs.

2012-06-12 05:40:06 Tree
[d4b41d] by Lutz Euler Lutz Euler

Add tests for two bugs that were incidentally fixed some time ago.

Commit b894cb41d869bda6ba0c54a491becc7bb58375c1 (make FORMAT signal
errors with illegal COLINC etc. parameters) happened to fix bug 905817
(endless loop in FORMAT with zero COLINC), then unnoticed, so add a
regression test and NEWS now.

Commit 96c62c30ec9164419c790b2fbea953da2193620f (ensure that GCD returns
positive values) besides the one intended also fixed bug 516750 (type
error when trying to convert a sum of rationals to a float). Add the
failing expression from that bug to the existing test.

2012-06-09 19:24:21 Tree
[b73291] by Nikodemus Siivola Nikodemus Siivola

test backtrace-interrupted-condition-wait works on Darwin/x86 as well

2012-06-09 17:39:47 Tree
[f84d62] by Nikodemus Siivola Nikodemus Siivola

a few more tests to skip on unithreaded builds

2012-06-09 17:31:27 Tree
[b94258] by Nikodemus Siivola Nikodemus Siivola

fix :DEBUGGER :SOURCE 2 test on unithreaded builds

Trivial layout different on debugger entry cause it to break.

2012-06-09 17:21:17 Tree
[2fb479] by Nikodemus Siivola Nikodemus Siivola

test backtrace-interrupted-condition-wait works on Darwin/x86-64

2012-06-09 12:28:09 Tree
Older >