~ubuntu-branches/debian/squeeze/cmucl/squeeze

« back to all changes in this revision

Viewing changes to src/compiler/locall.lisp

  • Committer: Bazaar Package Importer
  • Author(s): Peter Van Eynde
  • Date: 2009-02-18 05:50:05 UTC
  • mfrom: (0.2.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20090218055005-kt6ookdcasemovhl
Tags: 19e-20080501-2
* fix brown bag bug: use cmucl in script, not lisp
* New version should Fixes: #483331 because of asm change

Show diffs side-by-side

added added

removed removed

Lines of Context:
5
5
;;; Carnegie Mellon University, and has been placed in the public domain.
6
6
;;;
7
7
(ext:file-comment
8
 
  "$Header: /project/cmucl/cvsroot/src/compiler/locall.lisp,v 1.58 2005/10/25 21:14:14 rtoy Exp $")
 
8
  "$Header: /project/cmucl/cvsroot/src/compiler/locall.lisp,v 1.60 2007/12/10 18:48:57 rtoy Exp $")
9
9
;;;
10
10
;;; **********************************************************************
11
11
;;;
1049
1049
;;; -- There is a change in the cleanup between the call in the return, so we
1050
1050
;;;    might need to introduce cleanup code.
1051
1051
;;;
 
1052
;;;    If the the function is declared notinline, we don't convert the tail
 
1053
;;; call either, so that we can trace the local call, if desired.
1052
1054
(defun maybe-convert-tail-local-call (call)
1053
1055
  (declare (type combination call))
1054
1056
  (let ((return (continuation-dest (node-cont call))))
1057
1059
               (immediately-used-p (return-result return) call)
1058
1060
               (not (eq (functional-kind (node-home-lambda call))
1059
1061
                        :external))
 
1062
               (not (functional-inlinep (node-home-lambda call)))
1060
1063
               (only-harmless-cleanups (node-block call)
1061
1064
                                       (node-block return)))
1062
1065
      (node-ends-block call)
1111
1114
                           (return nil))
1112
1115
                         (setq outside-non-tail-call dest)))))
1113
1116
                 (ok-initial-convert-p fun))
1114
 
        (setf (functional-kind fun) :assignment)
1115
1117
        (cond (outside-call
1116
1118
               (setf (functional-kind fun) :assignment)
1117
1119
               (let-convert fun outside-call)