Update of /cvsroot/sbcl/sbcl/src/compiler
In directory sc8-pr-cvs1:/tmp/cvs-serv6910/src/compiler
Modified Files:
compiler-deftype.lisp dump.lisp fndb.lisp globaldb.lisp
proclaim.lisp typetran.lisp
Log Message:
0.pre8.1
Merge pcl_class_defrobulation_branch
... CL:CLASS is conforming!
... still maybe some breakage around the edges (e.g.
DESCRIBE, DOCUMENTATION)
Index: compiler-deftype.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/compiler/compiler-deftype.lisp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- compiler-deftype.lisp 14 Feb 2002 03:38:06 -0000 1.4
+++ compiler-deftype.lisp 24 Mar 2003 18:39:03 -0000 1.5
@@ -20,8 +20,8 @@
(error "illegal to redefine standard type: ~S" name)))
(:instance
(warn "The class ~S is being redefined to be a DEFTYPE." name)
- (undefine-structure (layout-info (class-layout (sb!xc:find-class name))))
- (setf (class-cell-class (find-class-cell name)) nil)
+ (undefine-structure (layout-info (classoid-layout (find-classoid name))))
+ (setf (classoid-cell-classoid (find-classoid-cell name)) nil)
(setf (info :type :compiler-layout name) nil)
(setf (info :type :kind name) :defined))
(:defined
Index: dump.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/compiler/dump.lisp,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -d -r1.35 -r1.36
--- dump.lisp 12 Oct 2002 18:12:35 -0000 1.35
+++ dump.lisp 24 Mar 2003 18:39:04 -0000 1.36
@@ -1258,7 +1258,7 @@
(when (layout-invalid obj)
(compiler-error "attempt to dump reference to obsolete class: ~S"
(layout-class obj)))
- (let ((name (sb!xc:class-name (layout-class obj))))
+ (let ((name (classoid-name (layout-classoid obj))))
(unless name
(compiler-error "dumping anonymous layout: ~S" obj))
(dump-fop 'fop-normal-load file)
Index: fndb.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/compiler/fndb.lisp,v
retrieving revision 1.62
retrieving revision 1.63
diff -u -d -r1.62 -r1.63
--- fndb.lisp 17 Mar 2003 17:44:40 -0000 1.62
+++ fndb.lisp 24 Mar 2003 18:39:04 -0000 1.63
@@ -96,10 +96,10 @@
;;;; classes
(sb!xc:deftype name-for-class () t)
-(defknown class-name (sb!xc:class) name-for-class (flushable))
-(defknown find-class (name-for-class &optional t lexenv-designator)
- (or sb!xc:class null) ())
-(defknown class-of (t) sb!xc:class (flushable))
+(defknown classoid-name (classoid) name-for-class (flushable))
+(defknown find-classoid (name-for-class &optional t lexenv-designator)
+ (or classoid null) ())
+(defknown classoid-of (t) classoid (flushable))
(defknown layout-of (t) layout (flushable))
(defknown copy-structure (structure-object) structure-object
(flushable unsafe))
Index: globaldb.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/compiler/globaldb.lisp,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -d -r1.29 -r1.30
--- globaldb.lisp 31 Jan 2003 05:59:01 -0000 1.29
+++ globaldb.lisp 24 Mar 2003 18:39:04 -0000 1.30
@@ -1252,8 +1252,8 @@
;;; meaningful error if we only have the cons.
(define-info-type
:class :type
- :type :class
- :type-spec (or sb!kernel::class-cell null)
+ :type :classoid
+ :type-spec (or sb!kernel::classoid-cell null)
:default nil)
;;; layout for this type being used by the compiler
@@ -1261,8 +1261,8 @@
:class :type
:type :compiler-layout
:type-spec (or layout null)
- :default (let ((class (sb!xc:find-class name nil)))
- (when class (class-layout class))))
+ :default (let ((class (find-classoid name nil)))
+ (when class (classoid-layout class))))
(define-info-class :typed-structure)
(define-info-type
Index: proclaim.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/compiler/proclaim.lisp,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -d -r1.23 -r1.24
--- proclaim.lisp 20 Jan 2003 08:06:21 -0000 1.23
+++ proclaim.lisp 24 Mar 2003 18:39:05 -0000 1.24
@@ -166,13 +166,13 @@
(freeze-type
(dolist (type args)
(let ((class (specifier-type type)))
- (when (typep class 'sb!xc:class)
- (setf (class-state class) :sealed)
- (let ((subclasses (class-subclasses class)))
+ (when (typep class 'classoid)
+ (setf (classoid-state class) :sealed)
+ (let ((subclasses (classoid-subclasses class)))
(when subclasses
(dohash (subclass layout subclasses)
(declare (ignore layout))
- (setf (class-state subclass) :sealed))))))))
+ (setf (classoid-state subclass) :sealed))))))))
(optimize
(setq *policy* (process-optimize-decl form *policy*)))
((inline notinline maybe-inline)
Index: typetran.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/compiler/typetran.lisp,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -d -r1.31 -r1.32
--- typetran.lisp 17 Feb 2003 15:22:54 -0000 1.31
+++ typetran.lisp 24 Mar 2003 18:39:05 -0000 1.32
@@ -99,10 +99,10 @@
;;; If FIND-CLASS is called on a constant class, locate the CLASS-CELL
;;; at load time.
-(deftransform find-class ((name) ((constant-arg symbol)) *)
+(deftransform find-classoid ((name) ((constant-arg symbol)) *)
(let* ((name (continuation-value name))
- (cell (find-class-cell name)))
- `(or (class-cell-class ',cell)
+ (cell (find-classoid-cell name)))
+ `(or (classoid-cell-classoid ',cell)
(error "class not yet defined: ~S" name))))
;;;; standard type predicates, i.e. those defined in package COMMON-LISP,
@@ -395,7 +395,7 @@
(aver (constant-continuation-p spec))
(let* ((spec (continuation-value spec))
(class (specifier-type spec))
- (name (sb!xc:class-name class))
+ (name (classoid-name class))
(otype (continuation-type object))
(layout (let ((res (info :type :compiler-layout name)))
(if (and res (not (layout-invalid res)))
@@ -408,7 +408,7 @@
((csubtypep otype class)
t)
;; If not properly named, error.
- ((not (and name (eq (sb!xc:find-class name) class)))
+ ((not (and name (eq (find-classoid name) class)))
(compiler-error "can't compile TYPEP of anonymous or undefined ~
class:~% ~S"
class))
@@ -426,8 +426,8 @@
(t
(values '(lambda (x) (declare (ignore x)) t) 'layout-of)))
(cond
- ((and (eq (class-state class) :sealed) layout
- (not (class-subclasses class)))
+ ((and (eq (classoid-state class) :sealed) layout
+ (not (classoid-subclasses class)))
;; Sealed and has no subclasses.
(let ((n-layout (gensym)))
`(and (,pred object)
@@ -436,7 +436,7 @@
`((when (layout-invalid ,n-layout)
(%layout-invalid-error object ',layout))))
(eq ,n-layout ',layout)))))
- ((and (typep class 'basic-structure-class) layout)
+ ((and (typep class 'basic-structure-classoid) layout)
;; structure type tests; hierarchical layout depths
(let ((depthoid (layout-depthoid layout))
(n-layout (gensym)))
@@ -474,9 +474,9 @@
(t
(/noshow "default case -- ,PRED and CLASS-CELL-TYPEP")
`(and (,pred object)
- (class-cell-typep (,get-layout object)
- ',(find-class-cell name)
- object)))))))))
+ (classoid-cell-typep (,get-layout object)
+ ',(find-classoid-cell name)
+ object)))))))))
;;; If the specifier argument is a quoted constant, then we consider
;;; converting into a simple predicate or other stuff. If the type is
@@ -526,7 +526,7 @@
(typecase type
(numeric-type
(source-transform-numeric-typep object type))
- (sb!xc:class
+ (classoid
`(%instance-typep ,object ,spec))
(array-type
(source-transform-array-typep object type))
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
|