Changeset 311
- Timestamp:
- Jan 17, 2004, 7:38:58 PM (21 years ago)
- File:
-
- 1 edited
-
trunk/ccl/level-1/l1-clos-boot.lisp (modified) (12 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ccl/level-1/l1-clos-boot.lisp
r302 r311 27 27 ;;; generic functions with "real", official names. 28 28 29 30 (declaim (inline instance-slots)) 31 (defun instance-slots (instance) 32 (let* ((typecode (typecode instance))) 33 (cond ((eql typecode ppc32::subtag-instance) (instance.slots instance)) 34 ((eql typecode ppc32::subtag-macptr) (foreign-slots-vector instance)) 35 ((typep instance 'standard-generic-function) (gf.slots instance)) 36 (t (error "Don't know how to find slots of ~s" instance))))) 37 29 38 (defun %class-name (class) 30 39 (%class.name class)) 31 40 32 41 (defun %class-own-wrapper (class) 42 (%class.own-wrapper class)) 43 44 (defun (setf %class-own-wrapper) (new class) 45 (setf (%class.own-wrapper class) new)) 46 47 (defun %class-alist (class) 48 (if (typep class 'slots-class) 49 (%class.alist class))) 50 51 (defun (setf %class-alist) (new class) 52 (if (typep class 'slots-class) 53 (setf (%class.alist class) new) 54 new)) 33 55 34 56 (defun %class-slots (class) … … 36 58 (%class.slots class))) 37 59 60 (defun (setf %class-slots) (new class) 61 (if (typep class 'slots-class) 62 (setf (%class.slots class) new) 63 new)) 64 38 65 (defun %class-direct-slots (class) 39 66 (if (typep class 'slots-class) 40 67 (%class.direct-slots class))) 41 68 69 (defun (setf %class-direct-slots) (new class) 70 (if (typep class 'slots-class) 71 (setf (%class.direct-slots class) new)) 72 new) 73 42 74 (defun %class-direct-superclasses (class) 43 75 (%class.local-supers class)) 44 76 77 (defun (setf %class-direct-superclasses) (new class) 78 (setf (%class.local-supers class) new)) 79 45 80 (defun %class-direct-subclasses (class) 46 81 (%class.subclasses class)) 82 83 (defun (setf %class-direct-subclasses) (new class) 84 (setf (%class.subclasses class) new)) 47 85 48 86 (defun %class-direct-default-initargs (class) 49 87 (if (typep class 'std-class) 50 88 (%class.local-default-initargs class))) 89 90 (defun (setf %class-direct-default-initargs) (new class) 91 (if (typep class 'std-class) 92 (setf (%class.local-default-initargs class) new) 93 new)) 94 51 95 52 96 (defun %class-default-initargs (class) … … 200 244 &allow-other-keys) 201 245 (let* ((method 202 (%instance-vector (%class .own-wrapper class)246 (%instance-vector (%class-own-wrapper class) 203 247 qualifiers 204 248 specializers … … 1597 1641 (defvar *float-class* (make-built-in-class 'float (find-class 'real))) 1598 1642 (defvar *double-float-class* (make-built-in-class 'double-float (find-class 'float))) 1599 (defvar *short-float-class* (make-built-in-class 'short-float (find-class 'float))) 1643 (defvar *single-float-class* (make-built-in-class 'single-float (find-class 'float))) 1644 (setf (find-class 'short-float) *single-float-class*) 1645 (setf (find-class 'long-float) *double-float-class*) 1646 1600 1647 (make-built-in-class 'rational (find-class 'real)) 1601 1648 (make-built-in-class 'ratio (find-class 'rational)) … … 1608 1655 (make-built-In-class 'signed-byte (find-class 'integer)) 1609 1656 1610 (setf (find-class 'short-float) #+no-sf *double-float-class*1611 #-no-sf *short-float-class*)1612 (setf (find-class 'single-float) *short-float-class*)1613 (setf (find-class 'long-float) *double-float-class*)1614 1657 1615 1658 (make-built-in-class 'logical-pathname (find-class 'pathname)) 1616 1659 1617 (setf (find-class 'base-char) *character-class*) 1618 (defvar *base-char-class* *character-class*) 1660 (defvar *base-char-class* (setf (find-class 'base-char) *character-class*)) 1619 1661 (defvar *standard-char-class* (make-built-in-class 'standard-char *base-char-class*)) 1662 1663 #+who-needs-extended-char 1620 1664 (make-built-in-class 'extended-char *character-class*) 1621 1665 … … 1979 2023 1980 2024 (defun %class-get (class indicator &optional default) 1981 (if (typep class 'std-class) 1982 (let ((cell (assq indicator (%class.alist class)))) 1983 (if cell (cdr cell) default)) 1984 default)) 2025 (let ((cell (assq indicator (%class-alist class)))) 2026 (if cell (cdr cell) default))) 2027 1985 2028 (defun %class-put (class indicator value) 1986 (let ((cell (assq indicator (%class .alist class))))2029 (let ((cell (assq indicator (%class-alist class)))) 1987 2030 (if cell 1988 2031 (setf (cdr cell) value) 1989 (push (cons indicator value) (%class .alist class))))2032 (push (cons indicator value) (%class-alist class)))) 1990 2033 value) 1991 2034 1992 2035 (defsetf %class-get %class-put) 1993 2036 (defun %class-remprop (class indicator) 1994 (let* ((handle (cons nil (%class .alist class)))2037 (let* ((handle (cons nil (%class-alist class))) 1995 2038 (last handle)) 1996 2039 (declare (dynamic-extent handle)) … … 1999 2042 (progn 2000 2043 (setf (%cdr last) (%cddr last)) 2001 (setf (%class .alist class) (%cdr handle)))2044 (setf (%class-alist class) (%cdr handle))) 2002 2045 (setf last (%cdr last)))))) 2003 2046 … … 2169 2212 2170 2213 2171 (declaim (inline instance-slots))2172 (defun instance-slots (instance)2173 (let* ((typecode (typecode instance)))2174 (cond ((eql typecode ppc32::subtag-instance) (instance.slots instance))2175 ((eql typecode ppc32::subtag-macptr) (foreign-slots-vector instance))2176 (t (error "Don't know how to find slots of ~s" instance)))))2177 2214 2178 2215 … … 2383 2420 (defun slot-id-value (instance slot-id) 2384 2421 (let* ((wrapper (or (standard-object-p instance) 2385 (%class .own-wrapper (class-of instance)))))2422 (%class-own-wrapper (class-of instance))))) 2386 2423 (funcall (%wrapper-slot-id-value wrapper) instance slot-id))) 2387 2424 2388 2425 (defun set-slot-id-value (instance slot-id value) 2389 2426 (let* ((wrapper (or (standard-object-p instance) 2390 (%class .own-wrapper (class-of instance)))))2427 (%class-own-wrapper (class-of instance))))) 2391 2428 (funcall (%wrapper-set-slot-id-value wrapper) instance slot-id value))) 2392 2429 … … 2432 2469 2433 2470 (defmethod make-instances-obsolete ((class standard-class)) 2434 (let ((wrapper (%class .own-wrapper class)))2471 (let ((wrapper (%class-own-wrapper class))) 2435 2472 (when wrapper 2436 (setf (%class .own-wrapper class) nil)2473 (setf (%class-own-wrapper class) nil) 2437 2474 (make-wrapper-obsolete wrapper))) 2438 2475 class) … … 2441 2478 (let ((wrapper (%class.own-wrapper class))) 2442 2479 (when wrapper 2443 (setf (%class .own-wrapper class) nil)2480 (setf (%class-own-wrapper class) nil) 2444 2481 (make-wrapper-obsolete wrapper))) 2445 2482 class) … … 2691 2728 (cpl (%inited-class-cpl class))) 2692 2729 (dolist (f functions) ; for all the functions passed 2730 #+no 2693 2731 (if (logbitp $lfbits-aok-bit (lfun-bits f)) 2694 2732 (return-from compute-initargs-vector t))
Note:
See TracChangeset
for help on using the changeset viewer.
