;;; 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)
(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)))))