1.0.6.39: COMPUTE-DISCRIMINATING-FUNCTION micro-optimization
[sbcl.git] / src / pcl / methods.lisp
index 36fb2c0..f203810 100644 (file)
       (eq gf #'slot-boundp-using-class)))
 
 (defmethod compute-discriminating-function ((gf standard-generic-function))
-  (with-slots (dfun-state arg-info) gf
+  (let ((dfun-state (slot-value gf 'dfun-state)))
     (when (special-case-for-compute-discriminating-function-p gf)
       ;; if we have a special case for
       ;; COMPUTE-DISCRIMINATING-FUNCTION, then (at least for the
          ((eq gf #'slot-boundp-using-class)
           (update-slot-value-gf-info gf 'boundp)
           #'slot-boundp-using-class-dfun)
-         ((gf-precompute-dfun-and-emf-p arg-info)
+         ((gf-precompute-dfun-and-emf-p (slot-value gf 'arg-info))
           (make-final-dfun gf))
          (t
           (make-initial-dfun gf))))