0.7.9.14:
[sbcl.git] / src / pcl / slots.lisp
index e726ba4..aa82a0e 100644 (file)
 (defmethod slot-value-using-class ((class std-class)
                                   (object std-object)
                                   (slotd standard-effective-slot-definition))
+  (check-obsolete-instance object)
   (let* ((location (slot-definition-location slotd))
         (value (typecase location
                  (fixnum
                   (cond ((std-instance-p object)
-                         (when (invalid-wrapper-p (std-instance-wrapper
-                                                    object))
-                           (check-wrapper-validity object))
                          (clos-slots-ref (std-instance-slots object)
                                          location))
                         ((fsc-instance-p object)
-                         (when (invalid-wrapper-p (fsc-instance-wrapper
-                                                    object))
-                           (check-wrapper-validity object))
                          (clos-slots-ref (fsc-instance-slots object)
                                          location))
                         (t (error "unrecognized instance type"))))
           (new-value (class std-class)
                      (object std-object)
                      (slotd standard-effective-slot-definition))
+  (check-obsolete-instance object)
   (let ((location (slot-definition-location slotd)))
     (typecase location
       (fixnum
        (cond ((std-instance-p object)
-             (when (invalid-wrapper-p (std-instance-wrapper object))
-               (check-wrapper-validity object))
-               (setf (clos-slots-ref (std-instance-slots object) location)
-                    new-value))
+             (setf (clos-slots-ref (std-instance-slots object) location)
+                   new-value))
             ((fsc-instance-p object)
-             (when (invalid-wrapper-p (fsc-instance-wrapper object))
-               (check-wrapper-validity object))
-               (setf (clos-slots-ref (fsc-instance-slots object) location)
-                    new-value))
+             (setf (clos-slots-ref (fsc-instance-slots object) location)
+                   new-value))
             (t (error "unrecognized instance type"))))
       (cons
        (setf (cdr location) new-value))
           ((class std-class)
            (object std-object)
            (slotd standard-effective-slot-definition))
+  (check-obsolete-instance object)
   (let* ((location (slot-definition-location slotd))
         (value (typecase location
                  (fixnum
                   (cond ((std-instance-p object)
-                         (when (invalid-wrapper-p (std-instance-wrapper
-                                                    object))
-                           (check-wrapper-validity object))
                          (clos-slots-ref (std-instance-slots object)
                                          location))
                         ((fsc-instance-p object)
-                         (when (invalid-wrapper-p (fsc-instance-wrapper
-                                                    object))
-                           (check-wrapper-validity object))
                          (clos-slots-ref (fsc-instance-slots object)
                                          location))
                         (t (error "unrecognized instance type"))))
           ((class std-class)
            (object std-object)
            (slotd standard-effective-slot-definition))
+  (check-obsolete-instance object)
   (let ((location (slot-definition-location slotd)))
     (typecase location
       (fixnum
        (cond ((std-instance-p object)
-             (when (invalid-wrapper-p (std-instance-wrapper object))
-               (check-wrapper-validity object))
-               (setf (clos-slots-ref (std-instance-slots object) location)
-                    +slot-unbound+))
+             (setf (clos-slots-ref (std-instance-slots object) location)
+                   +slot-unbound+))
             ((fsc-instance-p object)
-             (when (invalid-wrapper-p (fsc-instance-wrapper object))
-               (check-wrapper-validity object))
-               (setf (clos-slots-ref (fsc-instance-slots object) location)
-                    +slot-unbound+))
+             (setf (clos-slots-ref (fsc-instance-slots object) location)
+                   +slot-unbound+))
             (t (error "unrecognized instance type"))))
       (cons
        (setf (cdr location) +slot-unbound+))