sbcl Log


Commit Date  
[aeb930] (sbcl-1.1.7) by Christophe Rhodes Christophe Rhodes

1.1.7: will be tagged as "sbcl-1.1.7"

2013-04-29 14:12:05 Tree
[286fbf] by Christophe Rhodes Christophe Rhodes

fix formatting of most recent "changes" line in NEWS

2013-04-29 14:11:46 Tree
[a4cea8] by Christophe Rhodes Christophe Rhodes

sort NEWS into enhancement/bug fix/optimization order

2013-04-23 10:33:26 Tree
[9a0890] by Paul Khuong Paul Khuong

Trivial code cleanups

Declare a variable as ignored, and descriptors are 64 bit on
x86-64. The latter was brought to my attention by Douglas Katzman.

2013-04-20 13:31:30 Tree
[ccd2a1] by Paul Khuong Paul Khuong

Substitute constants with modular equivalents more safely

* Modular arithmetic sometimes lets us narrow constants down,
especially with signed arithmetic. We now update the receiving
LVAR's type conservatively when there are multiple uses; otherwise,
conflicting type information results in spurious dead code
elimination.

* Test case by Eric Marsden.

* Reported by Eric Marsden on sbcl-devel (2013-04-18).

2013-04-20 11:59:03 Tree
[0562f2] by Paul Khuong Paul Khuong

Fix the build on OS X 10.8.0

It seems our exception handler can be called before it's fully set up.
Handle that case without potentially leaking too many ports.

Reported by Gabriel Dos Reis on sbcl-devel.

2013-04-20 11:58:13 Tree
[d4345a] by Matthias Andreas Benkard Matthias Andreas Benkard , pushed by Stas Boukarev Stas Boukarev

Handle multiple-valued forms in TRACE :PRINT.

Closes: lp#457053.

2013-04-17 10:41:28 Tree
[76e448] by Stas Boukarev Stas Boukarev

Remove an unused VOP %make-symbol on x86-64.

%make-symbol is handled by define-primitive-object now.
The old VOP was copied into alloc.lisp during the x86_64 port, got
removed from x86 before the merge. It wasn't even ported to x86-64,
and was never invoked during the 9 years it has been sitting there.

Also remove fast_random_state variable from the C runtime, it was used
by the VOP.

2013-04-15 23:47:24 Tree
[4aa0cc] by Stas Boukarev Stas Boukarev

Disassemble: print the size into the right stream.

Print the newly introduced size information to the provided stream,
not to *standard-output*.
Reported by Jan Moringen.

2013-04-15 19:50:12 Tree
[957292] by Christophe Rhodes Christophe Rhodes

remove stray debugging code from condition-related patches

2013-04-14 05:49:57 Tree
[f46b52] by Jan Moringen Jan Moringen , pushed by Christophe Rhodes Christophe Rhodes

Handle :ALLOCATION of condition slots correctly

Previously, DEFINE-CONDITION failed to pass the :ALLOCATION slot
option to MAKE-CONDITION-SLOT.

A test case has been added.

fixes lp#1049404

2013-04-12 18:12:54 Tree
[9c0c32] by Jan Moringen Jan Moringen , pushed by Christophe Rhodes Christophe Rhodes

Evaluate condition default initargs once, even after redefinition

There were two causes of this failure

* %DEFINE-CONDITION did not clear CONDITION-CLASSOID-HAIRY-SLOTS when
a condition was redefined. This led to multiple copies of slots in
CONDITION-CLASSOID-HAIRY-SLOTS and thus to initforms being evaluated
multiple times. %DEFINE-CONDITION now clears
CONDITION-CLASSOID-HAIRY-SLOTS before populating it again.

* (MAKE-INSTANCE CONDITION-CLASS) produced the call tree
MAKE-INSTANCE
+ ALLOCATE-INSTANCE SLOT-OBJECT
+ MAKE-CONDITION
+ INITIALIZE-INSTANCE SLOT-OBJECT
+ SHARED-INITIALIZE SLOT-OBJECT
MAKE-CONDITION and SHARED-INITIALIZE both called initfunctions
leading to multiple evaluations

A test case has been added.

fixes lp#1164969

2013-04-12 18:12:22 Tree
[9bdd25] by Jan Moringen Jan Moringen , pushed by Christophe Rhodes Christophe Rhodes

Use AMOP representation of canonicalized default initargs for conditions

This fixes two issues:

1. CLASS-DIRECT-DEFAULT-INITARGS did not work for condition
classes (bug 1164970)

2. Constant functions as default initargs of condition classes did not
work correctly (bug 539517)

The following things have been changed:

* CONDITION-CLASSOID-DEFAULT-INITARGS is now called
CONDITION-CLASSOID-DIRECT-DEFAULT-INITARGS to better reflect its
purpose.

* Previously, default initargs of condition classes where stored in a
plist the values of which where constant initforms or
initfunctions. Now default initargs of condition classes are always
of the form

(INITARG INITFORM THUNK)

as described in AMOP.

* The SHARED-INITIALIZED :AFTER CONDITION-CLASS T method now stores
the direct default initargs in the class plist. These are now of the
correct form as described in the previous bullet point.

* The DOPLIST macro used to be defined in src/pcl/macros.lisp. It is
now in src/code/early-extensions.lisp and exported from SB-INT. This
was necessary to use DOPLIST in src/code/condition.lisp.

* Unit test for both problems have been added.

fixes lp#539517, fixes lp#1164970

2013-04-12 18:10:12 Tree
[91a071] by Stas Boukarev Stas Boukarev

Disassemble: print the function size in bytes.

Print "; Size: 981 bytes" at the beginning of DISASSEMBLE output.

2013-04-12 15:27:50 Tree
[7a2a31] by Martin Cracauer Martin Cracauer

LOGBITP and LOGTEST optimizations from x86.

Copy Nathan Froyd's optimizations for LOGBITP and LOGTEST
on x86 architecture into x86-64.

Committing change submitted by Doug Katzman.

2013-04-11 15:34:03 Tree
[d59bdf] by Stas Boukarev Stas Boukarev

Don't signal an error on (setf (documentation nil 'function) "doc").

Signal a style-warning instead when trying to set documentation of NIL
for all other documentation types (except TYPE).

Reported by Zach Beane. Regression since 2e52fa05.

2013-04-08 10:12:55 Tree
[e626db] by Stas Boukarev Stas Boukarev

Check bounds of ELT on &more in safe code.

Disable &more optimizations for ELT if safety = 3.

2013-04-01 13:59:28 Tree
[0c0d24] by Stas Boukarev Stas Boukarev

type=: Compare &key parameters of function types.

Compare key parameters in type=-args, mostly so that deftransforms
with key arguments could be redefined at runtime.

2013-03-31 17:27:14 Tree
[70f323] by Paul Khuong Paul Khuong

Stop emitting references to inexistant #n= forms in the pretty printer

* Special logic was introduced in 2003 to avoid pprinting backquote-comma
forms as ", foo" when ",foo" is unambiguous; the bug has likely been
around since then.

* Reported by Douglas Katzman on launchpad, and reduced by James M. Lawrence
(lp#1161218)

2013-03-31 12:16:29 Tree
[66ee49] by Paul Khuong Paul Khuong

Fix a compilation failure on svref of a symbol macro

Introduced in 0892423b (faster SVREF and (SETF SVREF) compilation)

Thanks to James M. Lawrence for the quick report, with a reduced
test case.

2013-03-31 12:16:03 Tree
[ac979c] by Christophe Rhodes Christophe Rhodes

remove sb-studio from commercial support section of the manual

(thanks to Titus Barik)

2013-03-29 20:24:51 Tree
[3c5581] (sbcl-1.1.6) by Christophe Rhodes Christophe Rhodes

1.1.6: will be tagged as "sbcl-1.1.6"

2013-03-29 19:38:35 Tree
[bdcbd4] by Christophe Rhodes Christophe Rhodes

test environment fix for 64-bit PowerPC/Linux

(from Eric Marsden sbcl-devel 2012-03-26)

2013-03-26 12:45:55 Tree
[57fe83] by Jan Moringen Jan Moringen , pushed by Christophe Rhodes Christophe Rhodes

Declare types of END and TEST in N{LIST,VECTOR}-SUBSTITUTE-IF[-NOT]*

The types of END and TEST are known because the respective callers are
defined with DEFINE-SEQUENCE-TRAVERSER which checks/COERCEs
appropriately.

2013-03-22 15:13:15 Tree
[768739] by Jan Moringen Jan Moringen , pushed by Christophe Rhodes Christophe Rhodes

Lazy length computation in DEFINE-SEQUENCE-TRAVERSER

DEFINE-SEQUENCE-TRAVERSER used to unconditionally establish a binding
of LENGTH{,1,2} to the length of the processed sequence(s). This was
wasteful in the case of user-defined sequences whos implementations
could not access this information.

DEFINE-SEQUENCE-TRAVERSER now uses SYMBOL-MACROLET to provide LENGTH{,1,2}
symbols which evaluate to the respective sequence lengths, but the
sequence length is only computed when needed.

Uses of DEFINE-SEQUENCE-TRAVERSER now have to avoid forcing
LENGTH{,1,2} and thus END{,1,2} handling only appears in the list- and
vector-code-paths. The affected sequence functions are REDUCE,
DELETE[-IF[-NOT]], REMOVE[-IF[-NOT]], REMOVE-DUPLICATES,
DELETE-DUPLICATES, SUBSTITUTE[-IF[-NOT]], NSUBSTITUE[-IF[-NOT]],
COUNT[-IF[-NOT]], MISMATCH and SEARCH.

2013-03-22 15:13:15 Tree
Older >