sbcl Log


Commit Date  
[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
[a3282d] (14.2 kB) by Cyrus Harmon Cyrus Harmon

1.0.34.9: darwin/x86-64 sb-posix:stat fixes from Kei Suzuki

* sb-unix:unix-stat/lstat/fstat return the 32bit inode with x86 and
the 64bit inode with x86-64,

* sb-posix:stat/lstat/fstat get stat values using the old stat calls
with x86 and the new ones with x86-64

* re-enable now-working sb-posix stat tests

2010-01-21 05:09:43 View
Download
[1baab0] (13.9 kB) by Nikodemus Siivola Nikodemus Siivola

1.0.33.26: enabled threads by default on x86[-64] Linux

I'll let FreeBSD folks make the judgement if threads should be
default there as well.

Also: update INSTALL documentation regarding *FEATURES* a bit, and
make the documentation clear about availability of threads on
different builds.

2009-12-18 14:26:33 View
Download
[d7eae4] (13.8 kB) by Christophe Rhodes Christophe Rhodes

1.0.32.3: O_LARGEFILE support on x86-64/linux

Reported by Daniel Janus (and patch) as lp bug #453080.

2009-10-29 16:39:01 View
Download
[305c51] (13.8 kB) by Brian Mastenbrook Brian Mastenbrook

1.0.31.19: build x86-64 on OS X when available by default

* For consistency with other platforms, build x86-64 by default on OS
X when the OS and hardware support it.
* ... also clean up some stragglers needing .cvsignore entries

2009-09-22 02:22:41 View
Download
[2230ea] (13.6 kB) by Paul Khuong Paul Khuong

1.0.29.54: Inline unboxed constants on x86[-64]

* New build-time feature: inline-constants, which specifies that SB!C
and SB!VM implement a protocol described in base-target-features.lisp-expr.
Backends implementing that feature are able to load constants from code
components, in a section that follows the actual executable code.

* Implement the protocol on x86 and x86-64, and use it for float constants,
and, on x86-64 only, mid-sized (> 2^(29-32), but still machine-sized)
integers.

* Use the new feature in integer and float arithmetic VOPs.

* Adjust a few test cases to take newly consing situations into account.

* Clean-up:
- New build-time feature: float-eql-vops, which disable rewriting EQL
of single and double floats in terms of foo-float*-bits.
- Fix a typo (unused variable lookup) in TWO-ARG-+/-

2009-06-28 21:37:05 View
Download
[a157ed] (13.6 kB) by Paul Khuong Paul Khuong

1.0.29.44: Complex float improvements

* On all platforms:
- Slightly more stable complex-complex float (double and single)
division;
- New transform for real-complex division;
- complex-real and real-complex float addition and subtraction
behave as though the real was first upgraded to a complex, thus
losing the sign of any imaginary zero.

* On x86-64
- Complexes floats are represented packed in a single SSE register;
- VOPs for all four arithmetic operations, complex-complex, but also
complex-real and real-complex, except for complex-complex and
real-complex division;
- VOPs for =, negate and conjugate of complexes (complex-real and
complex-complex);
- VOPs for EQL of floats (real and complexes).
- Full register moves for float values in SSE registers should also
speed scalar operations up.

2009-06-25 15:37:05 View
Download
[e3f6b2] (13.5 kB) by Nikodemus Siivola Nikodemus Siivola

1.0.29.20: fix build breakage from 1.0.29.12 (PPC and MIPS, hopefully)

* Typos in make-config.sh PPC parts. Reported by Bruce O'Neel.

* MIPS was missing :STACK-ALLOCATABLE-VECTORS.

2009-06-20 09:08:09 View
Download
[55dc85] (13.5 kB) by Nikodemus Siivola Nikodemus Siivola

1.0.29.12: nicer DX capability conditionalization

* New *FEATURES*: :STACK-ALLOCATABLE-LISTS, :STACK-ALLOCATABLE-VECTORS, and
:STACK-ALLOCATABLE-FIXED-OBJECTS filled in by make-config.sh.

* Use them instead of #!+(or arch1 arch2 ...).

2009-06-17 16:40:34 View
Download
[b42c75] (13.1 kB) by Alastair Bridgewater Alastair Bridgewater

1.0.28.15: Build desymlinkification

Changed the object filename computation function to use a different
suffix for files in target-compile mode with the :assem flag.

Changed the src/compiler/assembly/ paths in build-order.lisp-expr to
refer to src/assembly/ instead.

Changed the duplicate-stem check in src/cold/shared.lisp to operate
in terms of target-compile object file names.

Changed both the source and object filename computation functions to
call a new function to remap stem path segments matching "/target/" to
the appropriate per-arch directory.

Removed the code for creating the compiler/assembly/ and target/
symlinks from make-config.sh.

With this, source-location information in SBCL is now correct even
when used against an unbuilt source tree.

2009-05-05 17:11:18 View
Download
[53ab02] (13.6 kB) by Juho Snellman Juho Snellman

1.0.26.18: Solaris x86-64 support

* Patch by Alex Viskovatoff

2009-03-22 22:34:58 View
Download
[dcd860] (13.4 kB) by Nikodemus Siivola Nikodemus Siivola

1.0.24.12: adding and fixing the HPUX/HPPA build target

* Patch by Larry Valkama.

2009-01-03 15:50:46 View
Download
[96bb2d] (13.1 kB) by Nikodemus Siivola Nikodemus Siivola

1.0.17.4: support for dynamic-extent structures

* Replace %MAKE-INSTANCE-WITH-LAYOUT with %MAKE-STRUCTURE-INSTANCE,
which has an IR2 transform that can handle both initialization and
allocation of the structure. On x86 and x86-64 it can initialize
all slots, whereas on other platforms it only does the layout and
non-raw slots. (See RAW-INSTANCE-INIT/* below.)

* EMIT-INITS needs two new kinds of inits to handle: :SLOT for
instance slots, and :DD for the defstruct-description/layout.

* DEF-ALLOC doesn't anymore use a simple boolean for denoting
variable length allocation, but instead a keyword: either
:VAR-ALLOC, :FIXED-ALLOC, or :STRUCTURE-ALLOC.

* New VOPs: RAW-INSTANCE-INIT/* for all raw slot types, which are
almost identical to RAW-INSTANCE-SET[-C]/* VOPs, except that they
always have a constant index and do not return a result. Structures
with raw slots can be stack allocated only on platforms that
implement these VOPs, denoted in make-config.sh by the
:RAW-INSTANCE-INIT-VOPS feature. ...we really could use a
*VM-FEATURES* or something.

2008-05-28 22:32:28 View
Download
Older >