Changeset 13991


Ignore:
Timestamp:
07/04/12 14:12:57 (8 years ago)
Author:
rschlatte
Message:

Call compute-applicable-methods

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/src/org/armedbear/lisp/clos.lisp

    r13990 r13991  
    22002200            (return nil))))))
    22012201
    2202 (defun %compute-applicable-methods (gf args)
     2202(defun std-compute-applicable-methods (gf args)
    22032203  (let ((required-classes (mapcar #'class-of (required-portion gf args)))
    22042204        (methods '()))
     
    22072207        (push method methods)))
    22082208    (sort-methods methods gf required-classes)))
     2209
     2210(declaim (notinline compute-applicable-methods))
     2211(defun compute-applicable-methods (gf args)
     2212  (std-compute-applicable-methods gf args))
    22092213
    22102214;;; METHOD-APPLICABLE-USING-CLASSES-P
     
    22732277
    22742278(defun slow-method-lookup (gf args)
    2275   (let ((applicable-methods (%compute-applicable-methods gf args)))
     2279  (let ((applicable-methods
     2280          (if (eq (class-of gf) +the-standard-generic-function-class+)
     2281              (std-compute-applicable-methods gf args)
     2282              (compute-applicable-methods gf args))))
    22762283    (if applicable-methods
    22772284        (let* ((emfun (funcall (if (eq (class-of gf) +the-standard-generic-function-class+)
     
    23042311
    23052312(defun slow-method-lookup-1 (gf arg arg-specialization)
    2306   (let ((applicable-methods (%compute-applicable-methods gf (list arg))))
     2313  (let ((applicable-methods
     2314          (if (eq (class-of gf) +the-standard-generic-function-class+)
     2315              (std-compute-applicable-methods gf (list arg))
     2316              (compute-applicable-methods gf (list arg)))))
    23072317    (if applicable-methods
    23082318        (let ((emfun (funcall (if (eq (class-of gf) +the-standard-generic-function-class+)
     
    31513161;;; Applicable methods
    31523162
    3153 (defgeneric compute-applicable-methods (gf args)
     3163(atomic-defgeneric compute-applicable-methods (gf args)
    31543164  (:method ((gf standard-generic-function) args)
    3155     (%compute-applicable-methods gf args)))
     3165    (std-compute-applicable-methods gf args)))
    31563166
    31573167(defgeneric compute-applicable-methods-using-classes (gf classes)
     
    33883398  (let* ((methods
    33893399          (nconc
    3390              (compute-applicable-methods #'shared-initialize
    3391                                          (list* instance
    3392                                                 shared-initialize-param
    3393                                                 initargs))
     3400             (std-compute-applicable-methods #'shared-initialize
     3401                                             (list* instance
     3402                                                    shared-initialize-param
     3403                                                    initargs))
    33943404             (mapcan #'(lambda (gf)
    3395                          (compute-applicable-methods gf args))
     3405                         (if (eq (class-of gf) +the-standard-generic-function-class+)
     3406                             (std-compute-applicable-methods gf args)
     3407                             (compute-applicable-methods gf args)))
    33963408                     gf-list)))
    33973409         (method-keyword-args
     
    37983810(defgeneric compute-applicable-methods (gf args))
    37993811(defmethod compute-applicable-methods ((gf standard-generic-function) args)
    3800   (%compute-applicable-methods gf args))
     3812  (std-compute-applicable-methods gf args))
    38013813
    38023814;;; AMOP pg. 207
Note: See TracChangeset for help on using the changeset viewer.