Changeset 180
- Timestamp:
- Jan 3, 2004, 11:41:15 AM (21 years ago)
- File:
-
- 1 edited
-
trunk/ccl/level-1/l1-clos-boot.lisp (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ccl/level-1/l1-clos-boot.lisp
r168 r180 1708 1708 1709 1709 1710 (def-accessors (foreign-object-domain) %svref 1711 nil ; foreign-object-domain 1712 foreign-object-domain-index ; 1..n 1713 foreign-object-domain-name ; 1714 foreign-object-domain-recognize ; function: is object one of ours ? 1715 foreign-object-domain-class-of ; function: returns class of object 1716 foreign-object-domain-classp ; function: true if object is a class 1717 foreign-object-domain-instance-class-wrapper ; function: returns wrapper of object's class 1718 foreign-object-domain-class-own-wrapper ; function: returns class own wrapper if class 1719 foreign-object-domain-slots-vector ; returns slots vector of object or nil 1720 ) 1710 1721 1711 1722 1712 (defun make-foreign-object-domain (&key index name recognize class-of classp … … 2162 2152 2163 2153 2154 (declaim (inline instance-slots)) 2155 (defun instance-slots (instance) 2156 (let* ((typecode (typecode instance))) 2157 (cond ((eql typecode ppc32::subtag-instance) (instance.slots instance)) 2158 ((eql typecode ppc32::subtag-macptr) (foreign-slots-vector instance)) 2159 (t (error "Don't know how to find slots of ~s" instance))))) 2160 2164 2161 2165 2162 (defmethod copy-instance ((instance standard-object)) … … 2218 2215 instance 2219 2216 (slotd standard-effective-slot-definition)) 2220 (%std-slot-vector-value (instance .slots instance) slotd))2217 (%std-slot-vector-value (instance-slots instance) slotd)) 2221 2218 2222 2219 (defun %maybe-std-slot-value-using-class (class instance slotd) … … 2226 2223 (instance.class-wrapper slotd)) 2227 2224 (eq *standard-class-wrapper* (instance.class-wrapper class))) 2228 (%std-slot-vector-value (instance .slots instance) slotd)2225 (%std-slot-vector-value (instance-slots instance) slotd) 2229 2226 (slot-value-using-class class instance slotd))) 2230 2227 … … 2254 2251 instance 2255 2252 (slotd standard-effective-slot-definition)) 2256 (%set-std-slot-vector-value (instance .slots instance) slotd new))2253 (%set-std-slot-vector-value (instance-slots instance) slotd new)) 2257 2254 2258 2255 … … 2263 2260 (instance.class-wrapper slotd)) 2264 2261 (eq *standard-class-wrapper* (instance.class-wrapper class))) 2265 (%set-std-slot-vector-value (instance .slots instance) slotd new)2262 (%set-std-slot-vector-value (instance-slots instance) slotd new) 2266 2263 (setf (slot-value-using-class class instance slotd) new))) 2267 2264 … … 2334 2331 instance 2335 2332 (slotd standard-effective-slot-definition)) 2336 (%std-slot-vector-boundp (instance .slots instance) slotd))2333 (%std-slot-vector-boundp (instance-slots instance) slotd)) 2337 2334 2338 2335 (defmethod slot-boundp-using-class ((class funcallable-standard-class) … … 2655 2652 (unless index 2656 2653 (error "Unknown initialization function: ~s." (car functions))) 2657 (let ((initvect (%svref (instance .slots class) index)))2654 (let ((initvect (%svref (instance-slots class) index))) 2658 2655 (unless initvect 2659 (setf (%svref (instance .slots class) index)2656 (setf (%svref (instance-slots class) index) 2660 2657 (setq initvect (compute-initargs-vector instance class functions)))) 2661 2658 initvect)))
Note:
See TracChangeset
for help on using the changeset viewer.
