sbcl Log


Commit Date  
[98cc9e] (23.2 kB) by David Lichteblau David Lichteblau

Use preprocessor includes for link_or_copy on Windows

2012-07-17 13:48:47 View
Download
[32d3b3] (22.8 kB) by Luis Oliveira Luis Oliveira , pushed by Nikodemus Siivola Nikodemus Siivola

explicit :BIG-ENDIAN feature

Instead of implying big-endianness by lack of the :LITTLE-ENDIAN feature,
make it explicit.

2011-12-08 15:24:43 View
Download
[c1fa54] (22.8 kB) by Jim Wise Jim Wise

Document --fancy.

While here, put list of features set by --fancy into $FANCY_FEATURES,
so documentation doesn't fall out of sync with what option does.

2011-12-06 16:26:48 View
Download
[6e3259] (22.5 kB) by Alastair Bridgewater Alastair Bridgewater

Add :CHENEYGC feature to non-GENCGC targets.

* When I wrote 14fd5afbac525e7a2e86903070afa0e94dfa14f7 I was
under the impression that there was a :CHENEYGC feature used on
plaforms that used the cheney collector. This was logical, but
incorrect.

* The two ways forward were to back out the use of :CHENEYGC
as a feature when checking compatibility or to move forward and
add :CHENEYGC and use it in preference to (NOT :GENCGC) where
appropriate, opening the door to a third GC option.

* This is the minimal fix, adding :cheneygc to the non-gencgc
targets in make-config.sh.

2011-12-06 16:05:53 View
Download
[250bcb] (22.4 kB) by Nikodemus Siivola Nikodemus Siivola

oops. actually stop when seeing --with-foo and customize-target-features.lisp

...instead of just complaining to the stdout.

2011-12-05 09:28:01 View
Download
[650ed6] (22.4 kB) by Nikodemus Siivola Nikodemus Siivola

add --fancy option to make.sh

Enables threads, core compression, xref for internals, and
after-xc-core. (The last one for convenience, even though it's not user
visible.)

2011-12-05 08:23:56 View
Download
[89a02d] (21.7 kB) by Nikodemus Siivola Nikodemus Siivola

add --with-<feature> and --without-<feature> support to make.sh

customize-target-features.lisp still works, but the system refuses to mix it
with --with[out] options to avoid confusion.

2011-12-05 08:22:17 View
Download
[d5ab48] (20.6 kB) by Nikodemus Siivola Nikodemus Siivola

add --arch option to make.sh

Not for full-blown cross compilation, though.

2011-12-05 08:22:09 View
Download
[3c7865] (20.5 kB) by Alastair Bridgewater Alastair Bridgewater

linux: Enable :SB-FUTEX by default on PPC.

* Prior to the great de-lutexification, we used futexes on
threaded Linux/PPC. Not having them enabled on PPC was an
oversight, but one which highlighted some problems with the
non-futex threading code. Now that that's fixed, we may as
well restore the status quo.

2011-11-22 15:32:56 View
Download
[d6f967] (20.4 kB) 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 View
Download
[987e39] (20.5 kB) by Jim Wise Jim Wise

Fix HEAD ref lookups, and compatibility for non-bash shells.

2011-10-24 13:38:25 View
Download
[7d4072] (20.5 kB) by Alastair Bridgewater Alastair Bridgewater

Clean up build process for cross-compiled targets.

* Over time, the process for producing an SBCL build for another
target architecture or OS has become more difficult and less
documented.

* Move all make.sh argument processing to make-config.sh.

* Have make-config.sh produce a file, output/build-config,
containing shell commands to set up important build parameters
such as where to find GNUMAKE, what SBCL_XC_HOST is, and so on.

* Source output/build-config in most of the make*.sh scripts.

* The practical upshot of all this is that a cross-compile
build is now a matter of alternating between target and host,
calling make-config.sh, make-host-1.sh, make-target-1.sh,
make-host-2.sh, make-target-2.sh, and following up with a
make-target-contrib.sh on the target, and you wind up with a
usable product. And, as make-config.sh does all of the arg
parsing, you can pass --xc-host= or --dynamic-space-size= or
whatever and it all works out.

2011-10-22 21:10:38 View
Download
[3254e1] (14.7 kB) by Paul Khuong Paul Khuong

New function: SB!KERNEL:%MULTIPLY-HIGH

* Does the same thing as only returning the first value of %MULTIPLY,
only better on some platforms.

* Implemented vas VOPs on x86, x86-64 and PPC. The PPC code sequence
is fully untested, and merely looks correct.

* VOPs for fixnum first argument are included, but will only be used
when the result is forcibly marked as fixnum, e.g., with TRULY-THE.
Questionnable, but I'd rather err on the side of straightforwardness
rather than put even more pressure on representation selection.

* Use it in the division-by-multiplication transform for unsigned
TRUNCATE by constant.

2011-08-14 20:49:27 View
Download
[17c4e8] (14.7 kB) by jimwise jimwise

1.0.46.22: fix sb-posix readdir on SunOS/x86

for the time being, disable :largefile on SunOS/x86. Unfortunately,
sb-grovel cannot navigate the somewhat sticky way in which struct
dirent gets setup for a 32-bit host with 64-bit ino_t on SunOS, so
sb-posix:readdir breaks

:largefile works fine on SunOS x86_64, and will be re-enabled on x86
after I get some more time to fight with the alien def for struct dirent

2011-03-03 19:50:21 View
Download
[621e38] (14.6 kB) by Nikodemus Siivola Nikodemus Siivola

1.0.45.16: *features* tweaks for Solaris targets

A mistake in make-config.sh ("amd64" for "x86-64") was preventing
:sb-lutex from being enabled on Solaris x86-64.

While here, enable :largefile for Solaris (all platforms)

Patch by Jim Wise, lp#667297.

2011-02-11 17:20:10 View
Download
[ddff81] (14.6 kB) by Nikodemus Siivola Nikodemus Siivola

1.0.42.8: fix build on OpenBSD/i386 -current and upcoming 4.8 release

* Patch by Josh Elsasser, lp#615489.

* On OpenBSD/i386, the structure that stores the FPU state during
signals was recently moved.

Add a script to tools-for-build/ which is run from make-config.sh
to detect where the FPU state is located, and create a
src/runtime/openbsd-sigcontext.h header containing a #define which
src/runtime/x86-bsd-os.c can use.

This is necessary to build SBCL on recent -current snapshots of
OpenBSD, and for the upcoming 4.8 release.

* Missing NEWS entry for last commit.

2010-08-31 13:04:54 View
Download
[5745b5] (14.4 kB) by Alastair Bridgewater Alastair Bridgewater

1.0.41.35: ppc: Implement compare-and-swap-vops.

* Based roughly on the x86-64 version and the differences
between x86oid define-full-reffer and the PPC use of VOPs
instead (the VOPs seem smart enough, why do x86oids do the
whole define-full-reffer / -c VOP thing?).

* Compare-and-swap VOPs are full memory barriers.

* Left the VOPs conditionally-compiled in based on the
compare-and-swap-vops feature, more as documentation of what
is involved than anything else.

* Enabled compare-and-swap-vops for all PPC targets.

2010-08-08 01:12:49 View
Download
[d4d545] (14.3 kB) by Alastair Bridgewater Alastair Bridgewater

1.0.41.5: x86: Implement memory-barrier-vops.

* Add the VOPs for the various memory-barriers.

* Add the memory-barrier-vops feature to local-target-features on
x86 in make-config.sh.

2010-08-04 18:02:45 View
Download
[6ab1e0] (14.3 kB) by Alastair Bridgewater Alastair Bridgewater

1.0.41.4: x86-64: Implement memory-barrier-vops.

* Add the VOPs for the various memory-barriers.

* Add the memory-barrier-vops feature to local-target-features on
x86-64 in make-config.sh.

2010-08-04 18:01:29 View
Download
[7121b6] (14.3 kB) by Alastair Bridgewater Alastair Bridgewater

1.0.41.3: ppc: Implement memory-barrier-vops.

* Add the VOPs for inlining the various memory-barriers.

* Add the memory-barrier-vops feature to local-target-features on
ppc systems in make-config.sh.

2010-08-04 17:59:25 View
Download
[bd2df6] (14.3 kB) by Cyrus Harmon Cyrus Harmon

1.0.39.3: support building on darwin x86 and x86-64 without the dlshim

* x86 config -mmacosx-version-min cleanup

* remove dlshim feature in make-config.sh

* fix extern-alien-name and ldso naming conventions

* kludge in load-cold-foreign-symbol-table to strip off the leading
#\_ from the nm parsing

* change dependency on ldso stubs for dlopen and friends to be
#!-dlshim instead of #!-darwin

* remove Config.x86-64-darwin9+ and replace with makefile
conditionals

* add :dlshim feature for darwin in make-config.sh and rework the
darwin9+ stuff

* make grovel-headers.c load genesis/config.h first so that we can
use the LISP_FEATURE_xxx conditionals earlier

2010-06-03 04:39:50 View
Download
[d5e1f0] (14.3 kB) by Nathan Froyd Nathan Froyd

1.0.37.43: add RAW-INSTANCE-INIT/* VOPs for PPC

2010-04-06 14:32:42 View
Download
[11b5ac] (14.2 kB) by Alastair Bridgewater Alastair Bridgewater

1.0.36.9: UD2-BREAKPOINTS feature for x86oid systems

* Add new feature UD2-BREAKPOINTS, enabled by default only on x86oid
darwin targets.

* Use said feature instead of DARWIN for breakpoint trap selection.

* Make breakpoints work when using UD2-BREAKPOINTS (tested on x86 and
x86-64 linux).

* This patch brought to you by lp#309067, which remains valid for
three reasons: First, the test case is still disabled. Second, this
only fixes for x86oids, not for PPC. And third, I didn't actually test
this on a darwin system.

2010-03-01 13:09:00 View
Download
[572da9] (14.2 kB) by Nathan Froyd Nathan Froyd

1.0.35.22: fix building on Darwin when sysctl is not in PATH

Thanks to Robert Goldman for the fix.

2010-02-27 16:46:05 View
Download
[b411b7] (14.2 kB) by Tobias C. Rittweiler Tobias C. Rittweiler

1.0.35.6: Fix typo in make-config.sh

on ppc: :stacka-allocatable-lists -> :stack-allocatable-lists

2010-02-06 10:30:36 View
Download
Older >