Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

sbcl Log


Commit Date  
[a06908] by Juho Snellman Juho Snellman

Sleep is apparently still consing on 32-bit platforms, mark test as failing

2011-10-09 02:20:57 Tree
[d2c580] by Juho Snellman Juho Snellman

Remove the invalid :sleep-many-interrupts test

2011-10-09 01:18:11 Tree
[60e249] by Christophe Rhodes Christophe Rhodes

really fix float rounding on 32-bit platforms

Now, as well as not giving completely the wrong answer for most
larger-than-fixnum double floats, we additionally don't try to perform
arithmetic on NIL for larger-than-fixnum single-floats.

2011-10-07 19:35:35 Tree
[d7952c] by David Lichteblau David Lichteblau

Ignore a known failure in script.test.sh on Darwin

script.test.sh includes a test case that fails on Darwin because of
a bug in SBCL. However, this is the first release to run this test at
all. Lacking a proper mechanism to mark the test case as a known
failure on Darwin, skip it entirely on that platform for now.

Thanks to Fare for testing.

2011-09-29 22:40:02 Tree
[96aa79] by Nikodemus Siivola Nikodemus Siivola

handle non-standard slot allocations when updating classes

* Refactor layout comparison to work on the effective slot definition list(s)
directly -- easier to understand.

* When new slots with custom allocation are added, add their names to the
"added" list for UPDATE-INSTANCE-FOR-REDEFINED-CLASS. This is not specified
by ANSI, but unless we do this those slots don't get initialized.

Removing custom slots is hairier, as is changing a custom slot into
a normal slot. Add some tests that poke in this area as well...

* Replace wrapper-instance-slot-layout and wrapper-class-slots with the
CLASS-SLOTS lists -- saves space and makes things easier to understand.

Has a small performance cost for updating instances and SLOT-MISSING. Will
refactor again if this is critical in the real world.

2011-09-20 17:50:18 Tree
[516fe4] by Max Mikhanosha Max Mikhanosha , pushed by Christophe Rhodes Christophe Rhodes

Fix (run-program) to cleanup fd handlers

Signed-off-by: Christophe Rhodes <csr21@cantab.net>

2011-09-06 13:53:26 Tree
[875439] by Christophe Rhodes Christophe Rhodes

fix rounding of floats big enough to be bignums

Wow, so broken: the attempt to confuse while pretending to do
round-to-even goes back decades to original CMUCL sources. Rewrite
the bignum branch with a more careful and clear version that is obviously
correct.

Optimizers might want to elide some of the computation on appropriate
platforms: on 32-bit platforms, all single floats outside the fixnum
range are integral, while on 64-bit platforms all single and double floats
outside the fixnum range are integral. (This could be implemented by
comparing most-fooative-fixnum with fooble-float-significand-byte)

2011-09-04 19:32:03 Tree
[cd470a] by David Lichteblau David Lichteblau

Fix I/O redirection of script.test.sh

With this fix, "run-tests.sh | tee" passes again on Linux.
Thanks to Fare Rideau for the report.

2011-09-02 19:40:28 Tree
[797692] by Paul Khuong Paul Khuong

Optional support for zlib-based in-memory deflate/inflate for core files

* As this is based on zlib, only add the dependency when
:SB-CORE-COMPRESSION is enabled as a build-time feature. On x86-64,
compressed cores take about 1/4 the space, but start up in a few
tenths of a second.

Unlike gzexe'd executables, compressed images work without writing
to /tmp.

If :SB-CORE-COMPRESSION is enabled, trigger compression with the
:COMPRESSION argument to SAVE-LISP-AND-DIE.

* Also add a NEWS entry for the literal complex-single-float bugfix

2011-08-28 03:23:03 Tree
[e62bb3] by Nikodemus Siivola Nikodemus Siivola

test for multiply-interrupted sleeps

Make sure the time take by the interrupt is tallied
correctly.

2011-08-24 13:18:38 Tree
[afbad5] by Nikodemus Siivola Nikodemus Siivola

be more careful about ,@<constant-atom> and ,.<constant-atom>

Specifically, signal a read-time error for those things which COMMA
special-cases when constructing a splice.

Fixes lp#770184.

2011-08-24 13:18:37 Tree
[6d3e70] by Joshua Elsasser Joshua Elsasser

Create a dummy test-status.lisp-expr when running shell tests.

The test-status.lisp-expr file isn't used for shell tests, but the
impure runner doesn't know that and tries to read it
anyway. Initialize the file before running shell tests to avoid
reporting failures from the last test run, or failing entirely if it
doesn't exist.

2011-08-24 04:31:07 Tree
[3a5eea] by Paul Khuong Paul Khuong

Ensure correct alignment for complex single-float literals

Only an issue on x86-64: literal complex single-float values used
directly as operands to SIMD instructions were not correctly aligned
and extended. Completion typo fixed.

Test added.

Remove misleading comments in negate/conjugate/abs float VOPs while
we're at it.

Reported by Eric Marsden on sbcl-devel.

Fixes lp#832005.

2011-08-23 19:01:35 Tree
[66846b] by Nikodemus Siivola Nikodemus Siivola

disable unsychronized-hash-table test for now

Intermittently causing my laptop to swap instead of terminating with
an error.

2011-08-23 17:30:44 Tree
[aa29ec] by Nikodemus Siivola Nikodemus Siivola

ignore non-function FTYPEs

Fixes lp#738464.

Give a style-warning and ignore the bad type.

2011-08-22 11:17:38 Tree
[567588] by Nikodemus Siivola Nikodemus Siivola

non-consing NANOSLEEP

...and hence SLEEP as well.

2011-08-22 11:17:38 Tree
[97dd06] by Nikodemus Siivola Nikodemus Siivola

extend ARRAY-TYPE-UPGRADED-ELEMENT-TYPE to work with member types

Fixes lp#826971.

2011-08-22 11:17:38 Tree
[f5907e] by Nikodemus Siivola Nikodemus Siivola

use WEAKEN-INTEGER-TYPE in ARRAY-IN-BOUNDS-P

The type of the bound might be a union-type. WEAKEN-INTEGER-TYPE
gives us the ends of a range.

lp#826970

2011-08-22 11:17:18 Tree
[5abf3b] by Nikodemus Siivola Nikodemus Siivola

fix bogus deadlocks from interrupts and GCs

lp#807475

Going in despite the freeze since this is a regression that can
semi-randomly break correct code. *ouch*

Thanks to Bart Bortta and #sbcl for the analysis.

Problem 1:

T1 holds L1

T2 is waiting for L1

T2 is interrupted, interrupt handler grabs L2

T1 starts waiting on L2

Prior to this patch, when GET-MUTEX in T2's interrupt handler grabbed
L2 is marked T2 as still waiting for L1 -- which is not true until
the interrupt handler returns.

Problem 2:

T1 holds L1

T2 is waiting for L1

GC is triggered in T2 inside GET-MUTEX

T2 grabs *ALREADY-IN-GC* lock

GC is triggered in T1, T1 tries to get *ALREADY-IN-GC* lock.

Prior to this patch, when T1 detects a bogus deadlock as T2 has
been marked as waiting for L1 -- which is not true until the GC is
finished and normal execution resumes.

Problem 3:

T1 holds L1

T2 is waiting for L1

GC is triggered in T2 inside GET-MUTEX

T2 grabs lock L2 due to a finalizer or an after-gc-hook

GC is triggered in T1

T1 tries to grab L2 due to a finalizer, etc.

Same as problem 2, but with a user-lock and POST-GC instead of
*ALREADY-IN-GC* and SUB-GC.

This patch fixes the issue by saving, clearing, and restoring
the waiting-for mark in

1) interrupt handlers

2) SUB-GC

3) POST-GC

2011-08-15 13:32:14 Tree
[86d50b] by Paul Khuong Paul Khuong

Fix automatic &rest to &more conversion in unsafe code

Applying &rest lists to known/typed functions can lead to a
:fixed values call to %more-arg-values. In that case, unroll
it into several %more-arg of constant indices.

Reported, with test case, by Lutz Euler (lp#826459).

2011-08-14 23:27:42 Tree
[a7b24b] by Paul Khuong Paul Khuong

Handle SIMPLE-TYPE-ERROR when propagating bounds

Type conversions (e.g. bignum to float) may signal a
SIMPLE-TYPE-ERROR rather than returning an infinity.
Treat that case like an unknown value.

Add two tests.

Fixes lp#819269.

2011-08-14 21:28:22 Tree
[f17e3d] by Paul Khuong Paul Khuong

More efficient integer division by multiplication

* Exploit restricted range for inputs (e.g. fixnums).

* When the divisor is even, simplify with a mask instead of a shift.

* Clean up the code a bit: we don't want modular arithmetic, it's
actually all guaranteed not to wrap around.

* Change the test so that larger divisors are a bit more likely to
get tested too.

* Lots more things can be done, including generalizing the transform
to pretty much arbitrary rational divisor, or avoiding the costly
general code sequence in nearly all cases. Unfortunately, it's a
lot of (somewhat original, at that) code, and can be fairly slow;
if it matters to someone, I can try and find a compromise (contrib?).

2011-08-14 20:46:01 Tree
[d5ec4e] by Nikodemus Siivola Nikodemus Siivola

fix DESCRIBE on compiled closures from EVAL

lp#824974

2011-08-13 11:35:49 Tree
[f066ad] by Christophe Rhodes Christophe Rhodes

allow user-defined STRING synonyms in MAKE-SEQUENCE

...and MAP, MERGE, COERCE and CONCATENATE too. This also meant
working a bit on TYPEXPAND, to make (STRING <N>) be unexpanded in the
same way as STRING, and consequently on VALUES-SPECIFIER-TYPE to
ensure that the system would still recognize those types.

Include test cases for the sequence functions but not for TYPEXPAND.

2011-08-12 12:58:41 Tree
[b021c1] by William Halliburton William Halliburton , pushed by Nikodemus Siivola Nikodemus Siivola

fix initial FILE-POSITION for OPEN :IF-EXISTS :APPEND

For O_APPEND opened files, lseek returns 0 until first write.
So we jump ahead initially.

lp#561642

2011-08-10 09:42:10 Tree
Older >