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