[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