- Timestamp:
- Mar 17, 2007, 6:32:24 PM (18 years ago)
- File:
-
- 1 edited
-
branches/objc-gf/ccl/level-1/l1-clos-boot.lisp (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/objc-gf/ccl/level-1/l1-clos-boot.lisp
r6028 r6055 1599 1599 1600 1600 1601 (let ((*dont-find-class-optimize* t)) 1601 1602 (let ((*dont-find-class-optimize* t) 1603 (ordinal-type-class-alist ()) 1604 (ordinal-type-class-alist-lock (make-lock))) 1602 1605 1603 1606 ;; The built-in classes. … … 1977 1980 x)) 1978 1981 1982 (defun %register-type-ordinal-class (foreign-type class-name) 1983 ;; ordinal-type-class shouldn't already exist 1984 (with-lock-grabbed (ordinal-type-class-alist-lock) 1985 (or (let* ((class (cdr (assq foreign-type ordinal-type-class-alist)))) 1986 (if (and class (eq class-name (class-name class))) 1987 class)) 1988 (let* ((class (make-built-in-class class-name 'macptr))) 1989 (push (cons foreign-type class) ordinal-type-class-alist) 1990 class)))) 1991 1992 (defun %ordinal-type-class-for-macptr (p) 1993 (with-lock-grabbed (ordinal-type-class-alist-lock) 1994 (or (cdr (assoc (%macptr-type p) ordinal-type-class-alist :key #'foreign-type-ordinal)) 1995 *macptr-class*))) 1996 1997 1979 1998 (register-foreign-object-domain :unclassified 1980 1999 :recognize #'(lambda (p) … … 2006 2025 (register-foreign-object-domain :raw 2007 2026 :recognize #'true 2008 :class-of (constantly *macptr-class*)2027 :class-of #'%ordinal-type-class-for-macptr 2009 2028 :classp #'false 2010 2029 :instance-class-wrapper 2011 (constantly (%class.own-wrapper *macptr-class*)) 2030 (lambda (p) 2031 (%class.own-wrapper (%ordinal-type-class-for-macptr p))) 2012 2032 :class-own-wrapper #'false 2013 2033 :slots-vector #'false)
Note:
See TracChangeset
for help on using the changeset viewer.
