Changeset 12189


Ignore:
Timestamp:
10/10/09 20:56:35 (12 years ago)
Author:
ehuelsmann
Message:

Replace another MAKE-CLOSURE with a pre-compiled closure.

File:
1 edited

Legend:

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

    r12184 r12189  
    13271327                               (slow-method-lookup gf args))))))
    13281328                (t
    1329                  (make-closure
    1330                   `(lambda (&rest args)
     1329                 #'(lambda (&rest args)
    13311330                     (declare (optimize speed))
    1332                      (unless (,(if exact '= '>=) (length args) ,number-required)
    1333                        (error 'program-error
    1334                               :format-control "Not enough arguments for generic function ~S."
    1335                               :format-arguments (list (%generic-function-name ,gf))))
    1336                      (let ((emfun (get-cached-emf ,gf args)))
     1331                     (let ((len (length args)))
     1332                       (unless (or (and exact
     1333                                        (= len number-required))
     1334                                   (>= len number-required))
     1335                         (error 'program-error
     1336                                :format-control "Not enough arguments for generic function ~S."
     1337                                :format-arguments (list (%generic-function-name gf)))))
     1338                     (let ((emfun (get-cached-emf gf args)))
    13371339                       (if emfun
    13381340                           (funcall emfun args)
    1339                            (slow-method-lookup ,gf args)))) nil))))))))
     1341                           (slow-method-lookup gf args)))))))))))
    13401342
    13411343    (when (and (fboundp 'autocompile)
Note: See TracChangeset for help on using the changeset viewer.