diff --git a/pcl/info.lisp b/pcl/info.lisp index 14cd7a700f0dda2e1fb7a8507c713e0598ade358..c92a7d7ae5fc02b225d7bee75a0ba0393f6d5751 100644 --- a/pcl/info.lisp +++ b/pcl/info.lisp @@ -36,7 +36,7 @@ ;;; GF is actually non-accessor GF. Clean this up. ;;; (setf symbol-value) should be handled like (setf fdefinition) -(file-comment "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/pcl/info.lisp,v 1.10 2005/01/27 14:45:58 rtoy Exp $") +(file-comment "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/pcl/info.lisp,v 1.11 2005/06/14 12:34:59 rtoy Rel $") (in-package "PCL") @@ -227,7 +227,9 @@ (let* ((class (if (symbolp class-or-name) (find-class class-or-name nil) class-or-name)) - (slotd (when class + (slotd (when (if (eq *boot-state* 'complete) + (std-class-p class) + class) (find-slot-definition class slot-name)))) (when slotd (slot-definition-type slotd))))) diff --git a/pcl/method-slot-access-optimization.lisp b/pcl/method-slot-access-optimization.lisp index 2b4278fb70237e9fa920db9643d7531f87b9ffa6..04f2de2183fcef01ab4dec2e57ceefe3a57ac4b6 100644 --- a/pcl/method-slot-access-optimization.lisp +++ b/pcl/method-slot-access-optimization.lisp @@ -52,7 +52,7 @@ ;;; (file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/pcl/method-slot-access-optimization.lisp,v 1.6 2003/10/29 12:14:35 gerd Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/pcl/method-slot-access-optimization.lisp,v 1.7 2005/06/14 12:34:59 rtoy Rel $") (in-package "PCL") @@ -684,9 +684,9 @@ ;; ;; Check if CLASS is defined. If not, we can't use inline ;; access because we won't be able to determine slot locations. - (unless (classp class) + (unless (std-class-p class) (let ((real-class (find-class class nil))) - (when (null real-class) + (unless (std-class-p real-class) (when (slot-declaration env 'inline class) (cant-optimize class "The class is not defined at compile time")) (return-from check-inline-accessor-call-p nil))