From: Alexey D. <ade...@us...> - 2004-11-06 07:12:06
|
Update of /cvsroot/sbcl/sbcl/tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18647/tests Modified Files: compiler.pure.lisp Log Message: 0.8.16.34: * Fix MISC.437: differ necessary and unnecessary component reoptimizations; unused code flushing is necassary (for variable references). ... disable forward optimization pass after running out of reoptimization limit. Index: compiler.pure.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/tests/compiler.pure.lisp,v retrieving revision 1.108 retrieving revision 1.109 diff -u -d -r1.108 -r1.109 --- compiler.pure.lisp 6 Nov 2004 04:45:06 -0000 1.108 +++ compiler.pure.lisp 6 Nov 2004 07:11:27 -0000 1.109 @@ -1618,3 +1618,23 @@ (elt '(102) (flet ((%f12 () (rem 0 -43))) (multiple-value-call #'%f12 (values)))))))))) + +;;; MISC.437: lost reoptimization after FLUSH-DEST +(assert (zerop (funcall + (compile + nil + '(lambda (a b c d e) + (declare (notinline values complex eql)) + (declare + (optimize (compilation-speed 3) + (speed 3) + (debug 1) + (safety 1) + (space 0))) + (flet ((%f10 + (f10-1 f10-2 f10-3 + &optional (f10-4 (ignore-errors 0)) (f10-5 0) + &key &allow-other-keys) + (if (or (eql 0 0) t) 0 (if f10-1 0 0)))) + (complex (multiple-value-call #'%f10 (values a c b 0 0)) 0)))) + 80043 74953652306 33658947 -63099937105 -27842393))) |