From: Alexey D. <ade...@us...> - 2004-01-14 04:42:56
|
Update of /cvsroot/sbcl/sbcl In directory sc8-pr-cvs1:/tmp/cvs-serv13255 Modified Files: BUGS NEWS OPTIMIZATIONS version.lisp-expr Log Message: 0.8.7.13: * Stack analysis: propagate liveness information from NLEs. (fixes bug 299, PFD's MISC.185, 186, 231, 232, 235, 236, 237). Index: BUGS =================================================================== RCS file: /cvsroot/sbcl/sbcl/BUGS,v retrieving revision 1.365 retrieving revision 1.366 diff -u -d -r1.365 -r1.366 --- BUGS 7 Jan 2004 09:10:32 -0000 1.365 +++ BUGS 14 Jan 2004 04:42:52 -0000 1.366 @@ -1228,21 +1228,6 @@ returns, values returned by (EXT) must be removed from under that of (INT). -299: (aka PFD MISC.186) - * (defun foo () - (declare (optimize (debug 1))) - (multiple-value-call #'list - (if (eval t) (eval '(values :a :b :c)) nil) ; (*) - (catch 'foo (throw 'foo (values :x :y))))) - FOO - * (foo) - (:X :Y) - - Operator THROW is represented with a call of a not returning funny - function %THROW, unknown values stack after the call is empty, so - the unknown values LVAR (*) is considered to be dead after the call - and, thus, before it and is popped by the stack analysis. - 300: (reported by Peter Graves) Function PEEK-CHAR checks PEEK-TYPE argument type only after having read a character. This is caused with EXPLICIT-CHECK attribute in DEFKNOWN. The similar problem Index: NEWS =================================================================== RCS file: /cvsroot/sbcl/sbcl/NEWS,v retrieving revision 1.462 retrieving revision 1.463 diff -u -d -r1.462 -r1.463 --- NEWS 7 Jan 2004 09:10:33 -0000 1.462 +++ NEWS 14 Jan 2004 04:42:52 -0000 1.463 @@ -2243,6 +2243,9 @@ type when called with 1 argument; PEEK-CHAR checked type of PEEK-TYPE only after having read first character from a stream. (reported by Peter Graves) + * fixed some bugs revealed by Paul Dietz' test suite: + ** in stack analysys liveness information is propagated from + non-local entry points. planned incompatible changes in 0.8.x: * (not done yet, but planned:) When the profiling interface settles Index: OPTIMIZATIONS =================================================================== RCS file: /cvsroot/sbcl/sbcl/OPTIMIZATIONS,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- OPTIMIZATIONS 26 Sep 2003 17:19:13 -0000 1.15 +++ OPTIMIZATIONS 14 Jan 2004 04:42:53 -0000 1.16 @@ -169,3 +169,11 @@ ((89 125 16) (ASH A (MIN 18 -706))) (T (DPB -3 (BYTE 30 30) -1)))) -------------------------------------------------------------------------------- +#16 +(do ((i 0 (1+ i))) + ((= i (the (integer 0 100) n))) + ...) + +It is commonly expected for Python to derive (FIXNUMP I). (If ``='' is +replaced with ``>='', Python will do.) +-------------------------------------------------------------------------------- Index: version.lisp-expr =================================================================== RCS file: /cvsroot/sbcl/sbcl/version.lisp-expr,v retrieving revision 1.1428 retrieving revision 1.1429 diff -u -d -r1.1428 -r1.1429 --- version.lisp-expr 9 Jan 2004 10:44:55 -0000 1.1428 +++ version.lisp-expr 14 Jan 2004 04:42:53 -0000 1.1429 @@ -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".) -"0.8.7.12" +"0.8.7.13" |