X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fphysenvanal.lisp;h=8b4bb253b69dfdc3778a91ae4ca3da0757ce9bce;hb=65a01dae3d437a48e8dd0d051a446245f9e29929;hp=120133f8fc28a7e65271eb4a5cc2b6bdce6a31c3;hpb=85f9c92558538b85540ff420fa8970af91e241a2;p=sbcl.git diff --git a/src/compiler/physenvanal.lisp b/src/compiler/physenvanal.lisp index 120133f..8b4bb25 100644 --- a/src/compiler/physenvanal.lisp +++ b/src/compiler/physenvanal.lisp @@ -279,7 +279,7 @@ ;;; the component tail. ;;; -- Close over the NLX-INFO in the exit environment. ;;; -- If the exit is from an :ESCAPE function, then substitute a -;;; constant reference to NLX-Info structure for the escape +;;; constant reference to NLX-INFO structure for the escape ;;; function reference. This will cause the escape function to ;;; be deleted (although not removed from the DFO.) The escape ;;; function is no longer needed, and we don't want to emit code @@ -402,8 +402,8 @@ (emit-cleanups block1 block2))))))) (values)) -;;; Mark optimizable tail-recursive uses of function result continuations with -;;; the corresponding TAIL-SET. +;;; Mark optimizable tail-recursive uses of function result +;;; continuations with the corresponding TAIL-SET. (defun tail-annotate (component) (declare (type component component)) (dolist (fun (component-lambdas component)) @@ -419,9 +419,7 @@ (when ret (let ((result (return-result ret))) (do-uses (use result) - (when (and (policy use - (or (> space debug) - (> speed debug))) + (when (and (policy use merge-tail-calls) (immediately-used-p result use) (or (not (eq (node-derived-type use) *empty-type*)) (not (basic-combination-p use))