/[cmucl]/src/compiler/ir1opt.lisp
ViewVC logotype

Diff of /src/compiler/ir1opt.lisp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.43 by ram, Thu Apr 2 15:25:38 1992 UTC revision 1.44 by ram, Tue Apr 14 18:09:01 1992 UTC
# Line 1104  Line 1104 
1104  ;;; CONSTANT-REFERENCE-P  --  Interface  ;;; CONSTANT-REFERENCE-P  --  Interface
1105  ;;;  ;;;
1106  ;;;    Return true if the value of Ref will always be the same (and is thus  ;;;    Return true if the value of Ref will always be the same (and is thus
1107  ;;; legal to substitute.)  ;;; legal to substitute.)  Even though the value of a FUNCTIONAL really can't
1108    ;;; change, we consider it non-constant when it is marker :NOTINLINE, since
1109    ;;; this is used as a flag to inhibit local call conversion, and must not be
1110    ;;; lost.
1111  ;;;  ;;;
1112  (defun constant-reference-p (ref)  (defun constant-reference-p (ref)
1113    (declare (type ref ref))    (declare (type ref ref))
1114    (let ((leaf (ref-leaf ref)))    (let ((leaf (ref-leaf ref)))
1115      (typecase leaf      (typecase leaf
1116        (constant t)        (constant t)
1117        (functional t)        (functional
1118           (not (eq (ref-inlinep ref) :notinline)))
1119        (lambda-var        (lambda-var
1120         (null (lambda-var-sets leaf)))         (null (lambda-var-sets leaf)))
1121        (global-var        (global-var

Legend:
Removed from v.1.43  
changed lines
  Added in v.1.44

  ViewVC Help
Powered by ViewVC 1.1.5