From 3c475ead28dae07f100de4fa998c2085f289a017 Mon Sep 17 00:00:00 2001 From: gerd <gerd> Date: Sat, 17 May 2003 19:38:57 +0000 Subject: [PATCH] Bug reported by Lynn Quam on cmucl-imp. * src/pcl/gf-call-optimization.lisp (make-pv-call): Handle the case that the method doesn't have specialized parameters. * src/pcl/cache.lisp (+nkeys-limit+): Replaces *nkeys-limit*. --- pcl/cache.lisp | 8 ++++---- pcl/gf-call-optimization.lisp | 3 ++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/pcl/cache.lisp b/pcl/cache.lisp index 315139cf1..d80e95d78 100644 --- a/pcl/cache.lisp +++ b/pcl/cache.lisp @@ -25,7 +25,7 @@ ;;; ************************************************************************* (file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/pcl/cache.lisp,v 1.31 2003/05/13 10:16:59 gerd Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/pcl/cache.lisp,v 1.32 2003/05/17 19:38:57 gerd Exp $") ;;; ;;; The basics of the PCL wrapper cache mechanism. @@ -137,7 +137,7 @@ (declare (fixnum x)) (the fixnum (ash 1 (integer-length (1- x))))) - (defconstant *nkeys-limit* 256)) + (defconstant +nkeys-limit+ 256)) (defstruct (cache (:print-function print-cache) @@ -146,7 +146,7 @@ (owner nil) ;; ;; Number of wrappers used as keys in each cache line. - (nkeys 1 :type (integer 1 #.*nkeys-limit*)) + (nkeys 1 :type (integer 1 #.+nkeys-limit+)) ;; ;; True if keys are followed by a value in the cache. (valuep nil :type (member nil t)) @@ -167,7 +167,7 @@ (size 0 :type fixnum) ;; ;; The size of a line in the cache. - (line-size 1 :type (integer 1 #.(power-of-two-ceiling (1+ *nkeys-limit*)))) + (line-size 1 :type (integer 1 #.(power-of-two-ceiling (1+ +nkeys-limit+)))) ;; ;; Start index of the last cache line (cache entry) in VECTOR. (max-location 0 :type fixnum) diff --git a/pcl/gf-call-optimization.lisp b/pcl/gf-call-optimization.lisp index 507c4c677..da48dbde8 100644 --- a/pcl/gf-call-optimization.lisp +++ b/pcl/gf-call-optimization.lisp @@ -27,7 +27,7 @@ ;;; USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH ;;; DAMAGE. -(file-comment "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/pcl/gf-call-optimization.lisp,v 1.4 2003/05/04 13:11:21 gerd Exp $") +(file-comment "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/pcl/gf-call-optimization.lisp,v 1.5 2003/05/17 19:38:57 gerd Exp $") (in-package "PCL") @@ -141,6 +141,7 @@ ;; because we can only have one wrapper for each method ;; parameter the pv-table cache. (unless (case nreq + (0 t) ((1 2) (info-accessor-p gf-name)) (t nil)) (loop with optimizable-p = t -- GitLab