- (res (if (or (and let-p (policy node (< debug 3)))
- (policy node (zerop debug))
- (policy node (= speed 3)))
- temp
- (physenv-debug-live-tn temp (lambda-physenv fun)))))
+ (debug-variable-p (not (or (and let-p (policy node (< debug 3)))
+ (policy node (zerop debug))
+ (policy node (= speed 3))))))
+ (cond
+ ((and (lambda-var-indirect var)
+ (not (lambda-var-explicit-value-cell var)))
+ ;; Force closed-over indirect LAMBDA-VARs without explicit
+ ;; VALUE-CELLs to the stack, and make sure that they are
+ ;; live over the dynamic contour of the physenv.
+ (setf (tn-sc res) (if ptype-info
+ (second ptype-info)
+ (sc-or-lose 'sb!vm::control-stack)))
+ (physenv-live-tn res (lambda-physenv fun)))
+
+ (debug-variable-p
+ (physenv-debug-live-tn res (lambda-physenv fun))))
+