Changeset 105


Ignore:
Timestamp:
Dec 10, 2003, 12:24:33 AM (21 years ago)
Author:
Gary Byers
Message:

More wrapper slots for faster slot lookup.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/library/lispequ.lisp

    r98 r105  
    957957  %wrapper-instance-slots               ; vector of instance slot names
    958958  %wrapper-class-slots                  ; alist of (name . value-cell) pairs
     959  %wrapper-slot-id->slotd               ; map slot-id to slotd, or NIL
     960  %wrapper-slot-id-map                  ; (vector (mod nslots) next-slot-id-index)
     961  %wrapper-slot-definition-table        ; vector of nil || slot-definitions
     962  %wrapper-class-svuc-effective-method-function  ; call effective method for SLOT-VALUE-USING-CLASS
     963  %wrapper-class-ssvuc-effective-method-function ; call effective method for (SETF SLOT-VALUE-USING-CLASS
     964  %wrapper-slot-id-value                ; "fast" SLOT-VALUE function
     965  %wrapper-set-slot-id-value            ; "fast" (SETF SLOT-VALUE) function
    959966)
    960967
     
    983990(defmacro %cons-wrapper (class &optional
    984991                               (hash-index '(new-class-wrapper-hash-index)))
    985   `(%istruct 'class-wrapper ,hash-index ,class nil nil #| nil nil nil nil |#))
     992  `(%istruct 'class-wrapper ,hash-index ,class nil nil #'slot-id-lookup-no-slots nil nil nil nil #'%slot-id-ref-missing #'%slot-id-set-missing))
    986993
    987994
Note: See TracChangeset for help on using the changeset viewer.