X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Flocall.lisp;h=14e699c9b01bb49d750e273416c04f02ce222131;hb=b8f63d9b4e978bec3bfc1f4fc471e5ed946781fd;hp=6e3289add0fccd9b74520b4eae2b3a9d15e6bfd2;hpb=2d195da5e29feadce7190ea1a68a2efa83a5e1c0;p=sbcl.git diff --git a/src/compiler/locall.lisp b/src/compiler/locall.lisp index 6e3289a..14e699c 100644 --- a/src/compiler/locall.lisp +++ b/src/compiler/locall.lisp @@ -177,7 +177,7 @@ (declare (type functional fun)) (assert (not (functional-entry-function fun))) (with-ir1-environment (lambda-bind (main-entry fun)) - (let* ((*lexenv* (make-lexenv :cookie (make-interface-cookie *lexenv*))) + (let* ((*lexenv* (make-lexenv :policy (make-interface-policy *lexenv*))) (res (ir1-convert-lambda (make-xep-lambda fun)))) (setf (functional-kind res) :external) (setf (leaf-ever-used res) t) @@ -280,12 +280,13 @@ (values)) -;;; If policy is auspicious, Call is not in an XEP, and we don't seem +;;; If policy is auspicious, CALL is not in an XEP, and we don't seem ;;; to be in an infinite recursive loop, then change the reference to ;;; reference a fresh copy. We return whichever function we decide to ;;; reference. (defun maybe-expand-local-inline (fun ref call) - (if (and (policy call (>= speed space) (>= speed cspeed)) + (if (and (policy call + (and (>= speed space) (>= speed compilation-speed))) (not (eq (functional-kind (node-home-lambda call)) :external)) (not *converting-for-interpreter*) (inline-expansion-ok call)) @@ -518,7 +519,8 @@ (arglist (optional-dispatch-arglist fun)) (args (combination-args call)) (more (nthcdr max args)) - (flame (policy call (or (> speed brevity) (> space brevity)))) + (flame (policy call (or (> speed inhibit-warnings) + (> space inhibit-warnings)))) (loser nil) (temps (make-gensym-list max)) (more-temps (make-gensym-list (length more))))