Changeset 11999 for trunk/source/level-1


Ignore:
Timestamp:
May 5, 2009, 1:59:06 PM (10 years ago)
Author:
gb
Message:

In DCODE-FOR-UNIVERSALLY-APPLICABLE-SINGLETON, don't optimize if the
method does CALL-NEXT-METHOD or NEXT-METHOD-P.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/level-1/l1-clos.lisp

    r11989 r11999  
    24992499;;; If there's a single method (with standard method combination) on
    25002500;;; GF and all of that method's arguments are specialized to the T
    2501 ;;; class - and if the method doesn't accept &key - we can just have
    2502 ;;; the generic function call the method-function
     2501;;; class - and if the method doesn't accept &key or do any
     2502;;; next-method things - we can just have the generic function call
     2503;;; the method-function
    25032504(defun dcode-for-universally-applicable-singleton (gf)
    25042505  (when (eq (generic-function-method-combination gf)
     
    25092510                 (null (cdr methods))
    25102511                 (null (method-qualifiers method))
    2511                  (not (logbitp $lfbits-keys-bit (lfun-bits (method-function method))))
     2512                 (not (logtest (logior (ash 1 $lfbits-keys-bit)
     2513                                       (ash 1 $lfbits-nextmeth-bit))
     2514                                 (lfun-bits (method-function method))))
    25122515                 (dolist (spec (method-specializers method) t)
    25132516                   (unless (eq spec *t-class*)
Note: See TracChangeset for help on using the changeset viewer.