Changeset 13220


Ignore:
Timestamp:
02/13/11 21:27:48 (11 years ago)
Author:
ehuelsmann
Message:

Add REINITIALIZE-INSTANCE initargs cache.

File:
1 edited

Legend:

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

    r13219 r13220  
    745745  (make-hash-table :test #'eq)
    746746  "Cached sets of allowable initargs, keyed on the class they belong to.")
     747(defvar *reinitialize-instance-initargs-cache*
     748  (make-hash-table :test #'eq)
     749  "Cached sets of allowable initargs, keyed on the class they belong to.")
    747750
    748751(defun ensure-class (name &rest all-keys &key metaclass &allow-other-keys)
     
    793796                  ;; We're redefining the class.
    794797                  (remhash old-class *make-instance-initargs-cache*)
     798                  (remhash old-class *reinitialize-instance-initargs-cache*)
    795799                  (%make-instances-obsolete old-class)
    796800                  (setf (class-finalized-p old-class) nil)
     
    16181622      ;; as we only need to remove the specializing class and all
    16191623      ;; its subclasses from the hash.
    1620       (clrhash *make-instance-initargs-cache*))
     1624      (clrhash *make-instance-initargs-cache*)
     1625      (clrhash *reinitialize-instance-initargs-cache*))
    16211626    (if gf
    16221627        (check-method-lambda-list name method-lambda-list
     
    27172722  (check-initargs (list #'reinitialize-instance) (list* instance initargs)
    27182723                  instance () initargs
    2719                   nil)
     2724                  *reinitialize-instance-initargs-cache*)
    27202725  (apply #'shared-initialize instance () initargs))
    27212726
Note: See TracChangeset for help on using the changeset viewer.