X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Flocall.lisp;h=0257739250b227ab7c02bede0b3823a22e26c447;hb=a74b0bdb483504f6faddf8089f848f61ed94b92a;hp=e55c0be56886f52528ddbc35600526d007a49b65;hpb=2bdf5a3484eda55b0d4b9313aa6b3505b6d7cbd8;p=sbcl.git diff --git a/src/compiler/locall.lisp b/src/compiler/locall.lisp index e55c0be..0257739 100644 --- a/src/compiler/locall.lisp +++ b/src/compiler/locall.lisp @@ -138,7 +138,7 @@ `(declare (ignore ,n-supplied)) `(%verify-arg-count ,n-supplied ,nargs)) (locally - (declare (optimize (let-convertion 3))) + (declare (optimize (merge-tail-calls 3))) (%funcall ,fun ,@temps))))) (optional-dispatch (let* ((min (optional-dispatch-min-args fun)) @@ -166,11 +166,7 @@ `(multiple-value-bind (,n-context ,n-count) (%more-arg-context ,n-supplied ,max) (locally - ;; KLUDGE: As above, we're trying to - ;; enable tail recursion optimization and - ;; any other effects of this declaration - ;; are accidental. -- WHN 2002-07-08 - (declare (optimize (speed 2) (debug 1))) + (declare (optimize (merge-tail-calls 3))) (%funcall ,more ,@temps ,n-context ,n-count))))))) (t (%arg-count-error ,n-supplied))))))))) @@ -537,8 +533,8 @@ (with-ir1-environment-from-node call (ir1-convert-lambda `(lambda ,vars - (declare (ignorable . ,ignores)) - (%funcall ,entry . ,args)) + (declare (ignorable ,@ignores)) + (%funcall ,entry ,@args)) :debug-name (debug-namify "hairy function entry ~S" (continuation-fun-name (basic-combination-fun call))))))) @@ -982,9 +978,6 @@ ;;; Are there any declarations in force to say CLAMBDA shouldn't be ;;; LET converted? -(define-optimization-quality let-convertion - (if (<= debug speed) 3 0) - ("off" "maybe" "on" "on")) (defun declarations-suppress-let-conversion-p (clambda) ;; From the user's point of view, LET-converting something that ;; has a name is inlining it. (The user can't see what we're doing