X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fgeneric%2Fprimtype.lisp;h=4fee64c00cb0ae2bc3da704d802bdf6910879094;hb=57c91e4719ca9d0f9b8bef3b713ba40088a275f6;hp=561114c01ffc2aa728b3551da566ccaec2f25c1d;hpb=e602d69296d74060610880680e9381b12a8dd4d3;p=sbcl.git diff --git a/src/compiler/generic/primtype.lisp b/src/compiler/generic/primtype.lisp index 561114c..4fee64c 100644 --- a/src/compiler/generic/primtype.lisp +++ b/src/compiler/generic/primtype.lisp @@ -16,7 +16,7 @@ (/show0 "primtype.lisp 17") -(!def-primitive-type t (descriptor-reg #!+(or x86 x86-64) any-reg)) +(!def-primitive-type t (descriptor-reg)) (/show0 "primtype.lisp 20") (setf *backend-t-primitive-type* (primitive-type-or-lose t)) @@ -64,7 +64,7 @@ #!-#.(cl:if (cl:= sb!vm::n-machine-word-bits 64) '(and) '(or)) (:or signed-byte-32 fixnum unsigned-byte-31 positive-fixnum)) (!def-primitive-type-alias untagged-num - (:or . #.(print (union (cdr '#1#) (cdr '#2#)))))) + (:or . #.(sort (copy-list (union (cdr '#1#) (cdr '#2#))) #'string<)))) ;;; other primitive immediate types (/show0 "primtype.lisp 68") @@ -143,6 +143,7 @@ ;;; !DEF-VM-SUPPORT-ROUTINE and DEFUN-CACHED. (/show0 "primtype.lisp 188") (!def-vm-support-routine primitive-type (type) + (sb!kernel::maybe-reparse-specifier! type) (primitive-type-aux type)) (/show0 "primtype.lisp 191") (defun-cached (primitive-type-aux @@ -355,8 +356,8 @@ (setq res new-ptype) (return (any))))) (setf res ptype)))) - type)) - res)) + type) + res))) (named-type (ecase (named-type-name type) ((t *) (values *backend-t-primitive-type* t))