sbcl Log

Commit Date  
[991c14] by David Lichteblau David Lichteblau


Fix for lp#1058799, regression in

2012-09-30 10:50:04 Tree
[ceca5e] by David Lichteblau David Lichteblau

Fix the cheneygc build

Thanks to Christoph Egger for the report.

2012-09-27 18:11:32 Tree
[57c91e] by Nikodemus Siivola Nikodemus Siivola

replace DEFINE-MORE-FUN with compiler smarts

Now that the compiler knows how to implement (NTH I REST-ARG) efficiently,
we don't need to play tricks with &MORE: the compiler does that for us.

2012-09-23 00:47:15 Tree
[373df6] by Nikodemus Siivola Nikodemus Siivola

more funky &REST smartness

Extend the earlier VALUES-LIST optimization for &REST arguments
into other operations as well. For starters:


All of these can now access the hidden &MORE context when given a &REST
argument that is not used by other operations, making it possible for the
compiler to elide the entire rest-list allocation in those cases.

2012-09-22 22:48:06 Tree
[ef0891] by Nikodemus Siivola Nikodemus Siivola

fix "unable to read" compiler-error reporting during SBCL build

By moving stream-error-position-info into early-extensions.lisp,
so it's available early enough.

2012-09-22 18:55:50 Tree
[2df8da] by Nikodemus Siivola Nikodemus Siivola

add DEFINE-MORE-FUN, use it for vararg arithmetic functions

More efficient than consing a rest-list -- even a stack-allocated one, and
doesn't add extra DX cleanup frames to backtraces.

Done this way instead of just using &MORE directly in lambda-lists in order
to mangle the lambda-list into &REST shape for user-consumption.

2012-09-22 18:46:16 Tree
[a38307] by Nikodemus Siivola Nikodemus Siivola

proclaim *CURRENT-THREAD* as always-bound

Eliminates quite a few "check if it's bound" cases from the system, and
protects against MAKUNBOUND.

2012-09-18 21:37:47 Tree
[1deded] by Joshua Elsasser Joshua Elsasser

Fix nonthreaded build.

2012-09-22 18:44:28 Tree
[79a85a] by Joshua Elsasser Joshua Elsasser

Fix build on OpenBSD systems with PIE enabled by default in the C compiler.

2012-09-22 18:40:50 Tree
[266ccb] by David Lichteblau David Lichteblau

Add a safepoint-based mechanism to avoid SIGALRM for the TIMER facility

- Retrofits the signal-free timer thread for Windows (thanks to
Anton Kovalenko) to POSIXy platforms.

- Provide os_* functions in the C runtime which simulate the win32
API for waitable timers.

Currently supported on Linux (timerfd), FreeBSD (kqueue), and SunOS
(completion ports). A tentative (untested) implementation is
provided for Darwin's kqueue.

2012-09-13 16:26:19 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-18 17:33:10 Tree
[81678b] by Nathan Froyd Nathan Froyd

add truly-dynamic-extent declarations for various &rest number functions

This change eliminates some spurious heap consing when using, e.g.
(REDUCE #'+ ...). We ought to be able to do a better job of optimizing
REDUCE, but this is a helpful first step in any event.

2012-09-19 01:49:16 Tree
[2b67d2] by David Lichteblau David Lichteblau

sunos-os.c: Do not lose on mmap failure

Brings this platform in line with other POSIX backends. It is desirable
that we do not `lose' just because too many threads have been created,
for reasons of user-friendliness -- and also because individual
ill-behaved tests should not cause the entire run-tests process to fail.

2012-09-18 15:11:13 Tree
[89d479] by David Lichteblau David Lichteblau

Minor repair work around odxprint

Fixes the build on SunOS.

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

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

2012-09-17 17:46:18 Tree
[7c9bae] by Nikodemus Siivola Nikodemus Siivola

fix unthreaded build

2012-09-16 13:07:01 Tree
[508bdb] by Christophe Rhodes Christophe Rhodes

Fix clisp cross-compile


* least-positive-long-float is unrepresentable in clisp, ending up
with being zero
* clisp's decode-float returns a 0 exponent for a 0 float (rather
than something large and negative)
* everything got constant-folded in the cross-compiler, thus using
the host's runtime.

Solution: compute the value using sb!vm:double-float-digits/bias

2012-09-15 17:39:23 Tree
[239125] by Nikodemus Siivola Nikodemus Siivola


* 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 10:25:46 Tree
[af3fdb] by Nikodemus Siivola Nikodemus Siivola


2012-09-10 22:08:48 Tree
[76db27] by Nikodemus Siivola Nikodemus Siivola

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

2012-09-15 11:21:22 Tree
[ed46a5] by David Lichteblau David Lichteblau

Port safepoints to FreeBSD/x86

2012-09-14 17:35:11 Tree
[3b39e4] by David Lichteblau David Lichteblau

x86-bsd-os.c: Include stdio

Fixes the build on FreeBSD 9.1/x86.

2012-09-14 17:35:07 Tree
[5cfc11] by David Lichteblau David Lichteblau

Add dyndebug flags backtrace_when_lost, sleep_when_lost

Available when :SB-QSHOW is enabled, these settings can be enabled
through the SBCL_DYNDEBUG environment variable to customize SBCL's
behaviour prior to entry to ldb.

With backtrace_when_lost, lossage shows a backtrace before
continuing with the lossage handler as usual. (Thanks to Dmitry
Kalyanov for this idea, here committed as a dyndebug option.)

With sleep_when_lost activated, the monitor is preempted, and SBCL
will instead cease to do anything except for a OS-level sleep call.
This behaviour has proven useful in preserving a failing thread's
current state until an external debugger can be attached.

2012-09-11 11:37:21 Tree
[ebb604] by David Lichteblau David Lichteblau

Add odxprint, a replacement for FSHOW which can be configured at run-time

- A new macro odxprint(flag, "fmt", ...) performs the equivalent of
a printf("fmt", ...), but only if `flag' has been enabled at

- Environment variables can be used to set flags, using either
SBCL_DYNDEBUG="flag1 flag2 flag3" syntax, or
SBCL_DYNDEBUG__FLAG1="nonempty string" syntax.

- Lisp feature SB-QSHOW enables support for odxprint-based FSHOW.
(Users who prefer to edit runtime.h to enable QSHOW can still do
so...) SB-QSHOW is enabled by default on Windows, where the
odxprint mechanism was first used.

- Implement FSHOW, FSHOW_SIGNAL on top of odxprint. Corresponding
flags are called fshow, fshow_signal.

- For gencgc_verbose, support a flag of the same name, since it is
conditional on QSHOW (inspite of not being implemented on top of

- Does not yet support odxprint features specific to Windows debugger
integration; output is currently directed to stderr unconditionally.

This commit backports Anton Kovalenko's Windows-specific odxprint to
POSIX and integrates it with FSHOW.

2012-09-04 15:16:01 Tree
[0285aa] by David Lichteblau David Lichteblau

win32-os.c: Split up handle_exception

In preparation for various changes to exception handling, split up
handle_exception into separate functions for each kind of exception.

This change is entirely cosmetic in nature.

2012-09-03 11:31:46 Tree
Older >

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

Sign up for the SourceForge newsletter:

No, thanks