X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Ftype-init.lisp;h=9792ef2c8470cbf71be1ca6215a34e59f82c8015;hb=860543cc7ba0266e41e1d41ac9b6a208f3795f1a;hp=ff7b4a2674427c26a23c8f7204a64f2905bbdf02;hpb=a530bbe337109d898d5b4a001fc8f1afa3b5dc39;p=sbcl.git diff --git a/src/code/type-init.lisp b/src/code/type-init.lisp index ff7b4a2..9792ef2 100644 --- a/src/code/type-init.lisp +++ b/src/code/type-init.lisp @@ -1,4 +1,4 @@ -;;;; When this file's top-level forms are run, it precomputes the +;;;; When this file's top level forms are run, it precomputes the ;;;; translations for commonly used type specifiers. This stuff is ;;;; split off from the other type stuff to get around problems with ;;;; everything needing to be loaded before everything else. This is @@ -17,23 +17,18 @@ (in-package "SB!KERNEL") -(file-comment - "$Header$") - ;;; built-in classes (/show0 "beginning type-init.lisp") (dolist (x *built-in-classes*) (destructuring-bind (name &key (translation nil trans-p) &allow-other-keys) x - #+sb-show (progn - (/show0 "doing class with name=..") - #+sb-xc-host (/show0 name) - #-sb-xc-host (%primitive print (symbol-name name))) + (/show0 "doing class with NAME=..") + (/primitive-print (symbol-name name)) (when trans-p (/show0 "in TRANS-P case") - (let ((class (class-cell-class (find-class-cell name))) + (let ((classoid (classoid-cell-classoid (find-classoid-cell name))) (type (specifier-type translation))) - (setf (built-in-class-translation class) type) + (setf (built-in-classoid-translation classoid) type) (setf (info :type :builtin name) type))))) ;;; numeric types @@ -46,16 +41,8 @@ ;;; built-in symbol type specifiers (/show0 "precomputing built-in symbol type specifiers") -(precompute-types *standard-type-names*) +(precompute-types *!standard-type-names*) -;;; FIXME: It should be possible to do this in the cross-compiler, -;;; but currently the cross-compiler's type system is too dain-bramaged to -;;; handle it. (Various consistency checks are disabled when this flag -;;; is false, and the cross-compiler's type system can't pass these -;;; checks. Some of the problems are quite severe, e.g. mismatch between -;;; LAYOUTs generated by DEF!STRUCT and LAYOUTs generated by real -;;; DEFSTRUCT due to DEF!STRUCT not understanding raw slots -- it's -;;; actually somewhat remarkable that the system works..) -; #+sb-xc-host (setf *type-system-initialized* t) +#+sb-xc-host (setf *type-system-initialized* t) (/show0 "done with type-init.lisp")