diff --git a/compiler/ir1opt.lisp b/compiler/ir1opt.lisp index 050eeaa0a17d68daca0cdf10b4aa96c8a3299084..2d96853c4b90af16e16f31288b893b58815b6e5b 100644 --- a/compiler/ir1opt.lisp +++ b/compiler/ir1opt.lisp @@ -5,7 +5,7 @@ ;;; Carnegie Mellon University, and has been placed in the public domain. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/ir1opt.lisp,v 1.77 2003/04/29 11:58:16 gerd Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/ir1opt.lisp,v 1.78 2003/10/05 12:34:35 gerd Exp $") ;;; ;;; ********************************************************************** ;;; @@ -881,11 +881,13 @@ (declare (type combination call)) (let* ((ref (continuation-use (basic-combination-fun call))) (leaf (when (ref-p ref) (ref-leaf ref))) - (inlinep (if (and (defined-function-p leaf) - (not (byte-compiling)) - (not *converting-for-interpreter*)) + (inlinep (if (defined-function-p leaf) (defined-function-inlinep leaf) :no-chance))) + (when (and (or (byte-compiling) + *converting-for-interpreter*) + (member inlinep '(:inline :maybe-inline))) + (setq inlinep :notinline)) (cond ((eq inlinep :notinline) (values nil nil)) ((not (and (global-var-p leaf)