|
[Sbcl-commits] CVS: sbcl NEWS, 1.1856,
1.1857 package-data-list.lisp-expr, 1.545,
1.546 version.lisp-expr, 1.5137, 1.5138
From: Nikodemus Siivola <demoss@us...> - 2010-11-18 11:28
|
Update of /cvsroot/sbcl/sbcl
In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv32227
Modified Files:
NEWS package-data-list.lisp-expr version.lisp-expr
Log Message:
allow approximating unions of numeric types
* Binding *APPROXIMATE-NUMERIC-UNIONS* does that. It must be bound
only by callers of TYPE-UNION that know what they want -- in general
(OR (INTEGER 1 2) (INTEGER 3 4)) => (INTEGER 1 4)
is wrong, as (NOT (INTEGER 1 4)) doesn't include 3. But in special cases
like deriving the return type of a function it can be done.
* Rename MAKE-CANONICAL-UNION-TYPE MAKE-DERIVED-UNION-TYPE, and bind *A-N-U*
there if we start accumulating an overly large union of numeric types.
Definition of "overly large" can be adjusted via
*DERIVED-NUMERIC-UNION-COMPLEXITY-LIMIT*.
* Fixes lp#309448 and the recent compiler performance regression due
to new CONCATENATE deftransform as reported on sbcl-devel.
Index: NEWS
===================================================================
RCS file: /cvsroot/sbcl/sbcl/NEWS,v
retrieving revision 1.1856
retrieving revision 1.1857
diff -u -d -r1.1856 -r1.1857
--- NEWS 18 Nov 2010 10:06:30 -0000 1.1856
+++ NEWS 18 Nov 2010 11:28:46 -0000 1.1857
@@ -20,6 +20,8 @@
in the DEFMETHOD body.
* bug fix: #<SB-C::DEFINED-FUN ...> should no longer appear in compiler
messages, being instead replaced with the corresponding function name.
+ * bug fix: don't derive overly complex unions of numeric types for arithmetic
+ operators. (lp#309448)
changes in sbcl-1.0.44 relative to sbcl-1.0.43:
* enhancement: RUN-PROGRAM accepts :EXTERNAL-FORMAT argument to select the
Index: package-data-list.lisp-expr
===================================================================
RCS file: /cvsroot/sbcl/sbcl/package-data-list.lisp-expr,v
retrieving revision 1.545
retrieving revision 1.546
diff -u -d -r1.545 -r1.546
--- package-data-list.lisp-expr 16 Nov 2010 18:18:03 -0000 1.545
+++ package-data-list.lisp-expr 18 Nov 2010 11:28:46 -0000 1.546
@@ -1350,6 +1350,7 @@
"%WITH-ARRAY-DATA"
"%WITH-ARRAY-DATA/FP"
"%WITH-ARRAY-DATA-MACRO"
+ "*APPROXIMATE-NUMERIC-UNIONS*"
"*CURRENT-LEVEL-IN-PRINT*"
"*EMPTY-TYPE*"
"*EVAL-CALLS*"
Index: version.lisp-expr
===================================================================
RCS file: /cvsroot/sbcl/sbcl/version.lisp-expr,v
retrieving revision 1.5137
retrieving revision 1.5138
diff -u -d -r1.5137 -r1.5138
--- version.lisp-expr 18 Nov 2010 10:06:30 -0000 1.5137
+++ version.lisp-expr 18 Nov 2010 11:28:46 -0000 1.5138
@@ -17,4 +17,4 @@
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.44.27"
+"1.0.44.28"
|
| Thread | Author | Date |
|---|---|---|
| [Sbcl-commits] CVS: sbcl NEWS, 1.1856, 1.1857 package-data-list.lisp-expr, 1.545, 1.546 version.lisp-expr, 1.5137, 1.5138 | Nikodemus Siivola <demoss@us...> |