From: Alexey D. <ade...@us...> - 2006-05-28 04:16:30
|
Update of /cvsroot/sbcl/sbcl/src/compiler In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv9909/src/compiler Modified Files: locall.lisp Log Message: 0.9.13.2: * Fix bug MISC.641: unused optional entry deletion after physical environment analysis can cause LET-conversion, so the latter must deal with NLX-INFOs. Index: locall.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/compiler/locall.lisp,v retrieving revision 1.74 retrieving revision 1.75 diff -u -d -r1.74 -r1.75 --- locall.lisp 16 Apr 2006 07:10:20 -0000 1.74 +++ locall.lisp 28 May 2006 04:16:09 -0000 1.75 @@ -832,7 +832,8 @@ (depart-from-tail-set clambda) (let* ((home (node-home-lambda call)) - (home-physenv (lambda-physenv home))) + (home-physenv (lambda-physenv home)) + (physenv (lambda-physenv clambda))) (aver (not (eq home clambda))) @@ -841,6 +842,11 @@ (setf (lambda-home clambda) home) (setf (lambda-physenv clambda) home-physenv) + (when physenv + (setf (physenv-nlx-info home-physenv) + (nconc (physenv-nlx-info physenv) + (physenv-nlx-info home-physenv)))) + ;; All of CLAMBDA's LETs belong to HOME now. (let ((lets (lambda-lets clambda))) (dolist (let lets) |