X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fgeneric%2Fprimtype.lisp;h=6b8a396ce2c271bb4ce03c300d5ca4ab36995d1a;hb=77869604fc3eb4417a630651e5fe40e74342ee59;hp=d44d79d0a201c22fa4df8fc62deb5cae64ffa4ce;hpb=2db3b6b4cb740d5b6512459c223859f747807b09;p=sbcl.git diff --git a/src/compiler/generic/primtype.lisp b/src/compiler/generic/primtype.lisp index d44d79d..6b8a396 100644 --- a/src/compiler/generic/primtype.lisp +++ b/src/compiler/generic/primtype.lisp @@ -139,8 +139,8 @@ (!def-primitive-type simple-array-complex-long-float (descriptor-reg) :type (simple-array (complex long-float) (*))) -;;; Note: The complex array types are not included, 'cause it is pointless to -;;; restrict VOPs to them. +;;; Note: The complex array types are not included, 'cause it is +;;; pointless to restrict VOPs to them. ;;; other primitive other-pointer types (!def-primitive-type system-area-pointer (sap-reg descriptor-reg)) @@ -151,7 +151,7 @@ ;;;; PRIMITIVE-TYPE-OF and friends -;;; Return the most restrictive primitive type that contains Object. +;;; Return the most restrictive primitive type that contains OBJECT. (/show0 "primtype.lisp 147") (!def-vm-support-routine primitive-type-of (object) (let ((type (ctype-of object))) @@ -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)))