From: Christophe R. <cr...@us...> - 2003-03-20 16:04:27
|
Update of /cvsroot/sbcl/sbcl/src/compiler/generic In directory sc8-pr-cvs1:/tmp/cvs-serv16556/src/compiler/generic Modified Files: Tag: pcl_class_defrobulation_branch primtype.lisp vm-type.lisp Log Message: 0.7.13.pcl-class.1 Turn SB-PCL::CLASS into CL:CLASS ... and to do that, turn CL:CLASS into SB-KERNEL:CLASSOID Well, there's a little more to it than that. This commit causes no regressions against our own test suite (once the necessary s/SB-PCL:FIND-CLASS/FIND-CLASS/ changes have been made) but, along with several new passes in the gcl suite, causes one new failure to do with condition classes. There have been some code deletions, too, as some methods that were necessary to paper over the cracks between the two different CLASSes are now no longer necessary, as the CLASSOID structure is now viewed as internal. The major code addition is probably SB-PCL::SET-CLASS-TYPE-TRANSLATOR, which communicates the necessary information to the type engine (with extra hair to get BUILT-IN-CLASSES right). This branch is expected to last during the freeze period, and land shortly after 0.7.14 is released. Index: primtype.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/compiler/generic/primtype.lisp,v retrieving revision 1.9 retrieving revision 1.9.2.1 diff -u -d -r1.9 -r1.9.2.1 --- primtype.lisp 10 Mar 2003 14:54:29 -0000 1.9 +++ primtype.lisp 20 Mar 2003 16:03:52 -0000 1.9.2.1 @@ -366,11 +366,11 @@ (ecase (named-type-name type) ((t *) (values *backend-t-primitive-type* t)) ((nil) (any)))) - (sb!xc:built-in-class - (case (sb!xc:class-name type) + (built-in-classoid + (case (classoid-name type) ((complex function instance system-area-pointer weak-pointer) - (values (primitive-type-or-lose (sb!xc:class-name type)) t)) + (values (primitive-type-or-lose (classoid-name type)) t)) (funcallable-instance (part-of function)) (base-char @@ -381,7 +381,7 @@ (any)))) (fun-type (exactly function)) - (sb!xc:class + (classoid (if (csubtypep type (specifier-type 'function)) (part-of function) (part-of instance))) Index: vm-type.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/compiler/generic/vm-type.lisp,v retrieving revision 1.13 retrieving revision 1.13.2.1 diff -u -d -r1.13 -r1.13.2.1 --- vm-type.lisp 10 Mar 2003 14:54:29 -0000 1.13 +++ vm-type.lisp 20 Mar 2003 16:03:52 -0000 1.13.2.1 @@ -170,7 +170,7 @@ (if (type= type (specifier-type 'cons)) 'sb!c:check-cons nil)) - (built-in-class + (built-in-classoid (if (type= type (specifier-type 'symbol)) 'sb!c:check-symbol nil)) |