sbcl Log


Commit Date  
[b0724a] (26.6 kB) by Stas Boukarev Stas Boukarev

Fix GNU/kFreeBSD x86-64 and add x86 support.

The x86-64 patch wasn't fully merged and couldn't be built.
x86 needed a similar simple replacement __FreeBSD__ => LISP_FEATURE_FREEBSD.

Also add :gnu-kfreebsd feature for easier differentiation.

2014-07-04 19:30:29 View
Download
[c06b8c] (26.3 kB) by Christophe Rhodes Christophe Rhodes

support for DragonFly BSD

x86(-64) only for now, and threads are currently non-functional.
Closes lp#1292845, thanks to Vasily Postnicov.

2014-06-20 10:48:35 View
Download
[da5c7c] (25.8 kB) by Robert Swindells Robert Swindells , pushed by Christophe Rhodes Christophe Rhodes

Minor NetBSD cleanups

- Add architecture check for NetBSD/ibmnws;
- Clean up resource limit initialization and mmap in small chunks;
- Test for SSE sysctl value when selecting bcopy variant.

2014-06-13 15:08:11 View
Download
[c0fd7a] (25.7 kB) by Christoph Egger Christoph Egger , pushed by Christophe Rhodes Christophe Rhodes

Add kFreeBSD codepath

This consequently uses the LISP_FEATURE_FREEBSD variable in C code,
modifies the make-config target so `uname` = "GNU/kFreeBSD" is
detected as sbcl_os=freebsd correctly and adds some alternative code
for the FreeBSD target if using the GNU libc.

2014-06-13 12:39:30 View
Download
[5830d3] (25.7 kB) by Stas Boukarev Stas Boukarev

Enable GENCGC on ARM.

2014-05-28 14:20:24 View
Download
[39ab91] (25.7 kB) by Stas Boukarev Stas Boukarev

Indicate that ppc-linux supports alien-callbacks.

It does for a long time, but the feature wasn't pushed, and some tests
weren't executed, but they do pass.

2014-05-21 15:39:42 View
Download
[ce1dca] (25.7 kB) by Stas Boukarev Stas Boukarev

Implement alien-callbacks on ARM.

2014-05-18 20:32:20 View
Download
[ebcbcd] (25.7 kB) by Stas Boukarev Stas Boukarev

Implement :symbol-info-vops on ARM.

2014-05-17 19:10:01 View
Download
[39e000] (25.7 kB) by Stas Boukarev Stas Boukarev

Implement :multiply-high-vops on ARM.

2014-05-17 17:33:56 View
Download
[63f701] (25.7 kB) by Stas Boukarev Stas Boukarev

Implement stack-allocatable-vectors on ARM.

2014-05-15 01:37:36 View
Download
[87de05] (25.7 kB) by Stas Boukarev Stas Boukarev

Enable stack-allocatable-closures on ARM.

2014-05-15 00:08:32 View
Download
[d5e780] (25.6 kB) by Stas Boukarev Stas Boukarev

Enable :stack-allocatable-fixed-objects on ARM.

2014-05-13 18:47:28 View
Download
[52a2d9] (25.6 kB) by Stas Boukarev Stas Boukarev

Implement stack-allocatable-lists on ARM.

2014-05-12 16:20:04 View
Download
[d5605e] (25.5 kB) by Stas Boukarev Stas Boukarev

Implement ash-right-vops on ARM.

2014-05-12 01:23:00 View
Download
[eccba2] (25.5 kB) by Christophe Rhodes Christophe Rhodes

support target-driven cross-compilation

Running ./make-config.sh --host-location="host:path/to/sbcl" on the
target causes the make-target-N.sh scripts to do all the copying of
files to and from the host using rsync on the target to the specified
host location.

Because this is rsync, managing the reverse ssh to do this on
heavily-firewalled targets is not straightforward; we might have to
extend the syntax, or have an extra --host-port argument. But this
should I think make the port to arm64 more straightforward.

2014-05-11 06:59:01 View
Download
[29d94b] (24.8 kB) by Stas Boukarev Stas Boukarev , pushed by Alastair Bridgewater Alastair Bridgewater

Enable :large-file on ARM.

2014-05-10 19:15:52 View
Download
[2aa119] (24.8 kB) by Stas Boukarev Stas Boukarev , pushed by Alastair Bridgewater Alastair Bridgewater

Implement linkage-table for ARM.

2014-05-10 19:12:24 View
Download
[a5a55b] (24.8 kB) by Alastair Bridgewater Alastair Bridgewater

make-config, compiler/arm/vm: Add feature conditions for VFP and VFPv2.

* The overall ARM architecture has several FPU options, such as
soft-float-only, FPA (Floating Point Accelerator), at least three
generations of VFP (Vector Floating Point), plus some system based
on the x86oid MMX instruction sets. And that's off the top of my
head.

* Make an explicit statement that we are supporting VFPv2, and
possibly not even the original VFP, and leave hooks in place to
make it obvious what needs adjusting in order to support other FPU
options.

2014-05-10 19:12:19 View
Download
[36a4e2] (24.5 kB) by Alastair Bridgewater Alastair Bridgewater

make-config.sh: Fix some rough edges in configuration.

* Add an arch auto-detect for ARM, so we don't need to use
--arch=arm anymore.

* Add :cheneygc as a default feature for ARM, since it is
required and not otherwise defaulted.

* Both changes from patches supplied by Krystof.

2014-05-10 19:12:12 View
Download
[7c0e7c] (24.4 kB) by Christophe Rhodes Christophe Rhodes

handle --without-xxx options more correctly in make.sh

Thanks to Richard M Kreuter

2014-04-28 19:58:12 View
Download
[b2ce61] (24.4 kB) by Stas Boukarev Stas Boukarev

Config.x86-64-linux => Config.x86_64-linux.

Everything else uses a dash.

2014-03-22 16:23:37 View
Download
[0fb6f8] (24.5 kB) by Douglas Katzman Douglas Katzman

Initial reimplementation of globaldb - fast INFO and (SETF INFO).

The main idea is that info values are stored in a vector attached to
each symbol when possible. When not possible, the storage reverts
to the volatile [sic] environment, but still using a vector as the
payload instead of the chained hashing/alist approach.

This strives to be very fast at lookup at the expense of some added
complexity during updates. Performance testing suggests that it is
at least 2x to 3x faster at (INFO :class :type name), and FBOUNDP
is almost 4x faster. In a repeatable test, a file that took 1.8 seconds
to compile now takes 1.7 seconds but with more consing (as expected).

sbcl.core itself increases in size by <1% for 64-bit architecture,
and less for 32-bit architecture because there is proportionaly less
wasted space. A compact environment's table is effectively the
concatenation of all info vectors into one, so the added overhead is
in vector headers. However the fallback hash is now smaller,
so there used to be more wasted cells in the compact env.

Eventually the compact and volatile environments will both go away,
but not until the quasi-lockfree hashtable bootstraps properly.
The problem is an inability to use raw slots in early cold init.
It's actually not a problem of using them - the compiled code is ok -
but cold-init drops into 'ldb' due to how defstruct expands.

Among the bugs fixed by this (not straightforwardly testable) is that
the compact environment would hold into symbols that became otherwise
inaccessible. It no longer does, but still holds onto other names.

This patch builds with CCL as host, and for 32-on-64 and vice-versa,
so nothing seems terribly broken in terms of assumptions made.

2014-03-07 17:51:29 View
Download
[60deeb] (24.5 kB) by Paul Khuong Paul Khuong

Simpler word-sized variable right shifts on x86 and x86-64

* Known negative shifts are converted to another function that
only handles machine-friendly right shifts.

* The transforms and VOPs are conditionalised on ash-right-vops,
so other platforms aren't penalised.

* The new transforms trigger a lot of notes; this is suboptimal,
and one test had to be adjusted.

2013-05-22 05:13:22 View
Download
[bd1a7d] (24.5 kB) by Paul Khuong Paul Khuong

SB-SIMD-PACK on x86-64

* Enable them by default on x86-64;

* And run some smoke tests, at least.

2013-05-21 19:12:26 View
Download
[a5b844] (24.5 kB) by Alastair Bridgewater Alastair Bridgewater

ppc support for stack-allocatable-vectors

* This turned out to be fairly straightforward. Unlike in a
heap-allocation-only regime, where a VOP is required to :TRANSLATE
ALLOCATE-VECTOR, the :STACK-ALLOCATABLE-VECTORS feature enables an
LTN-ANNOTATE optimizer for ALLOCATE-VECTOR that substitutes
invocations of one of two named VOPs.

* To convert from the old regime to the new, rename the old VOP
to fit the new naming scheme, and write a new VOP to do the stack
allocation.

* As a cleaning-up-a-loose-end matter, lose the :TRANSLATE
option for the old VOP.

* And as a "being somewhat cute about things" matter, make the
support for stack-allocatable-vectors selectable at build time,
which should provide a quick overview of how to make this work on
some other platform, should anyone else be interested later on.

2013-05-01 20:23:28 View
Download
Older >