:lossage-fun nil
:unwinnage-fun nil))
(ir1-attributep attr unsafely-flushable)))
- (flush-dest (combination-fun node))
- (dolist (arg (combination-args node))
- (flush-dest arg))
- (unlink-node node))))))
+ (flush-combination node))))))
(mv-combination
(when (eq (basic-combination-kind node) :local)
(let ((fun (combination-lambda node)))
(setf (continuation-next cont) next)
;; FIXME: type checking?
(reoptimize-continuation cont)
- (reoptimize-continuation prev))))
+ (reoptimize-continuation prev)
+ (flush-combination call))))
(t (let ((dummies (make-gensym-list (length args))))
(transform-call
call
(setf (continuation-asserted-type cont) *wild-type*)
(setf (continuation-type-to-check cont) *wild-type*)
(values))))))
+
+(defun flush-combination (combination)
+ (declare (type combination combination))
+ (flush-dest (combination-fun combination))
+ (dolist (arg (combination-args combination))
+ (flush-dest arg))
+ (unlink-node combination)
+ (values))
+
\f
;;;; leaf hackery
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.pre8.110"
+"0.pre8.111"