- (list results) (type continuation cont))
- (let* ((2cont (continuation-info cont)))
- (when 2cont
- (ecase (ir2-continuation-kind 2cont)
- (:fixed
- (let ((locs (ir2-continuation-locs 2cont)))
- (unless (eq locs results)
- (move-results-coerced node block results locs))))
- (:unknown
- (let* ((nvals (length results))
- (locs (make-standard-value-tns nvals)))
- (move-results-coerced node block results locs)
- (vop* push-values node block
- ((reference-tn-list locs nil))
- ((reference-tn-list (ir2-continuation-locs 2cont) t))
- nvals))))))
+ (list results) (type (or lvar null) lvar))
+ (when lvar
+ (let ((2lvar (lvar-info lvar)))
+ (ecase (ir2-lvar-kind 2lvar)
+ (:fixed
+ (let ((locs (ir2-lvar-locs 2lvar)))
+ (unless (eq locs results)
+ (move-results-coerced node block results locs))))
+ (:unknown
+ (let* ((nvals (length results))
+ (locs (make-standard-value-tns nvals)))
+ (move-results-coerced node block results locs)
+ (vop* push-values node block
+ ((reference-tn-list locs nil))
+ ((reference-tn-list (ir2-lvar-locs 2lvar) t))
+ nvals))))))