projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Silence notes about being specialised EQ templates on x86oids
[sbcl.git]
/
src
/
compiler
/
generic
/
vm-type.lisp
diff --git
a/src/compiler/generic/vm-type.lisp
b/src/compiler/generic/vm-type.lisp
index
997aa8e
..
f447b9c
100644
(file)
--- a/
src/compiler/generic/vm-type.lisp
+++ b/
src/compiler/generic/vm-type.lisp
@@
-61,7
+61,7
@@
;;; PATHNAME pieces, as returned by the PATHNAME-xxx functions
(sb!xc:deftype pathname-host () '(or sb!impl::host null))
(sb!xc:deftype pathname-device ()
;;; PATHNAME pieces, as returned by the PATHNAME-xxx functions
(sb!xc:deftype pathname-host () '(or sb!impl::host null))
(sb!xc:deftype pathname-device ()
- '(or simple-string (member nil :unspecific)))
+ '(or simple-string (member nil :unspecific :unc)))
(sb!xc:deftype pathname-directory () 'list)
(sb!xc:deftype pathname-name ()
'(or simple-string sb!impl::pattern (member nil :unspecific :wild)))
(sb!xc:deftype pathname-directory () 'list)
(sb!xc:deftype pathname-name ()
'(or simple-string sb!impl::pattern (member nil :unspecific :wild)))
@@
-172,9
+172,9
@@
;;; Return the most specific integer type that can be quickly checked that
;;; includes the given type.
(defun containing-integer-type (subtype)
;;; Return the most specific integer type that can be quickly checked that
;;; includes the given type.
(defun containing-integer-type (subtype)
- (dolist (type '(fixnum
- (signed-byte 32)
- (unsigned-byte 32)
+ (dolist (type `(fixnum
+ (signed-byte ,sb!vm:n-word-bits)
+ (unsigned-byte ,sb!vm:n-word-bits)
integer)
(error "~S isn't an integer type?" subtype))
(when (csubtypep subtype (specifier-type type))
integer)
(error "~S isn't an integer type?" subtype))
(when (csubtypep subtype (specifier-type type))
@@
-182,6
+182,7
@@
;;; If TYPE has a CHECK-xxx template, but doesn't have a corresponding
;;; PRIMITIVE-TYPE, then return the template's name. Otherwise, return NIL.
;;; If TYPE has a CHECK-xxx template, but doesn't have a corresponding
;;; PRIMITIVE-TYPE, then return the template's name. Otherwise, return NIL.
+;;; The second value is T if the template needs TYPE to be passed.
(defun hairy-type-check-template-name (type)
(declare (type ctype type))
(typecase type
(defun hairy-type-check-template-name (type)
(declare (type ctype type))
(typecase type
@@
-208,6
+209,11
@@
#!+#.(cl:if (cl:= 64 sb!vm:n-word-bits) '(and) '(or))
((type= type (specifier-type '(unsigned-byte 64)))
'sb!c:check-unsigned-byte-64)
#!+#.(cl:if (cl:= 64 sb!vm:n-word-bits) '(and) '(or))
((type= type (specifier-type '(unsigned-byte 64)))
'sb!c:check-unsigned-byte-64)
+ #!+(or x86 x86-64) ; Not implemented yet on other platforms
+ ((and (eql (numeric-type-class type) 'integer)
+ (eql (numeric-type-low type) 0)
+ (fixnump (numeric-type-high type)))
+ (values 'sb!c:check-mod-fixnum t))
(t nil)))
(fun-type
'sb!c:check-fun)
(t nil)))
(fun-type
'sb!c:check-fun)