X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcompiler%2Fdfo.lisp;h=6d5d6a7c733b38b7e10f9c70352c2e774d4a23fe;hb=57e21c4b62e8c1a1ee7ef59ed2abb0c864fb06bc;hp=7739e602151a5c76aaf73caf12e08868b3a4312b;hpb=071afc96281a1dac1938268b1cf35d7e92c7e2c0;p=sbcl.git diff --git a/src/compiler/dfo.lisp b/src/compiler/dfo.lisp index 7739e60..6d5d6a7 100644 --- a/src/compiler/dfo.lisp +++ b/src/compiler/dfo.lisp @@ -445,7 +445,7 @@ ;; in the old LAMBDA into the new one (with LETs implicitly moved ;; by changing their home.) (do-blocks (block component) - (do-nodes (node cont block) + (do-nodes (node nil block) (let ((lexenv (node-lexenv node))) (when (eq (lexenv-lambda lexenv) lambda) (setf (lexenv-lambda lexenv) result-lambda)))) @@ -506,14 +506,9 @@ ;; Make sure the result's return node starts a block so that we ;; can splice code in before it. (let ((prev (node-prev - (continuation-use - (return-result result-return))))) - (when (continuation-use prev) - (node-ends-block (continuation-use prev))) - (do-uses (use prev) - (let ((new (make-continuation))) - (delete-continuation-use use) - (add-continuation-use use new)))) + (lvar-uses (return-result result-return))))) + (when (ctran-use prev) + (node-ends-block (ctran-use prev)))) (dolist (lambda (rest lambdas)) (merge-1-toplevel-lambda result-lambda lambda)))