[armedbear-cvs] r11925 - trunk/abcl/src/org/armedbear/lisp

Erik Huelsmann ehuelsmann at common-lisp.net
Fri May 22 10:06:41 UTC 2009


Author: ehuelsmann
Date: Fri May 22 06:06:37 2009
New Revision: 11925

Log:
Add reasoning related to variable-environment
and the closure-array.

Modified:
   trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp

Modified: trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp	(original)
+++ trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp	Fri May 22 06:06:37 2009
@@ -8245,10 +8245,14 @@
     (with-saved-compiler-policy
       ;; Pass 1.
       (p1-compiland compiland)
+
+      ;; *all-variables* doesn't contain variables which
+      ;; are in an enclosing lexical environment (variable-environment)
+      ;; so we don't need to filter them out
       (setf *closure-variables*
             (remove-if #'variable-special-p
                        (remove-if-not #'variable-used-non-locally-p
-                                      *all-variables*)))
+                                                 *all-variables*)))
       (let ((i 0))
         (dolist (var (reverse *closure-variables*))
           (setf (variable-closure-index var) i)




More information about the armedbear-cvs mailing list