From: Alexey Dejneka Date: Fri, 27 Dec 2002 11:05:20 +0000 (+0000) Subject: 0.7.10.32: X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=34e8e7fd14989e1c86e9408733b4a73c46dd0a92;p=sbcl.git 0.7.10.32: Fix bug in CONSTANT-REFERENCE-P: function name may be (SETF symbol). --- diff --git a/OPTIMIZATIONS b/OPTIMIZATIONS index bb50f42..ba0f5e8 100644 --- a/OPTIMIZATIONS +++ b/OPTIMIZATIONS @@ -11,7 +11,7 @@ * On X86 I is represented as a tagged integer. * EQL uses "CMP reg,reg" instead of "CMP reg,im". This causes - allocation of extra register and extra move. + allocation of an extra register and an extra move. * Unnecessary move: 3: SLOT S!11[EDX] {SB-C::VECTOR-LENGTH 1 7} => t23[EAX] @@ -63,3 +63,4 @@ VOP DATA-VECTOR-SET/SIMPLE-STRING V2!14[EDI] t32[EAX] t30[S2]>t33[CL] last two moves. * And why two moves? +-------------------------------------------------------------------------------- diff --git a/src/compiler/ir1opt.lisp b/src/compiler/ir1opt.lisp index d95c91e..199f560 100644 --- a/src/compiler/ir1opt.lisp +++ b/src/compiler/ir1opt.lisp @@ -1302,8 +1302,12 @@ #!+(and (not sb-fluid) (not sb-xc-host)) (global-var (case (global-var-kind leaf) - (:global-function (eq (symbol-package (leaf-source-name leaf)) - *cl-package*))))))) + (:global-function (let ((name (leaf-source-name leaf))) + (when (consp name) + (aver (eq (first name) 'setf)) + (setq name (second name))) + (eq (symbol-package name) + *cl-package*)))))))) ;;; If we have a non-set LET var with a single use, then (if possible) ;;; replace the variable reference's CONT with the arg continuation. diff --git a/version.lisp-expr b/version.lisp-expr index e0ee169..695ceb1 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -18,4 +18,4 @@ ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"0.7.10.32" +"0.7.10.33"