0.pre7.50:
[sbcl.git] / src / compiler / envanal.lisp
index 5592641..0208d03 100644 (file)
 ;;;     continuations.
 ;;;  4. Delete all non-top-level functions with no references. This
 ;;;     should only get functions with non-NULL kinds, since normal
-;;;     functions are deleted when their references go to zero. If
-;;;     *BYTE-COMPILING*, then don't delete optional entries with no
-;;;     references, since the byte interpreter wants to call entries
-;;;     that the XEP doesn't.
+;;;     functions are deleted when their references go to zero. 
 (defun environment-analyze (component)
   (declare (type component component))
   (aver (every (lambda (x)
@@ -49,8 +46,7 @@
     (when (null (leaf-refs fun))
       (let ((kind (functional-kind fun)))
        (unless (or (eq kind :top-level)
-                   (functional-has-external-references-p fun)
-                   (and *byte-compiling* (eq kind :optional)))
+                   (functional-has-external-references-p fun))
          (aver (member kind '(:optional :cleanup :escape)))
          (setf (functional-kind fun) nil)
          (delete-functional fun)))))