X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fgeneric%2Flate-type-vops.lisp;h=b764d8f5055edbbb17a5195465e7ea43c8e9e106;hb=77869604fc3eb4417a630651e5fe40e74342ee59;hp=45ff2f0908fba2ebe07fed3e132875200e328f17;hpb=4081f91910d6dc5dc79e2c43b8a746acaa78ecd9;p=sbcl.git diff --git a/src/compiler/generic/late-type-vops.lisp b/src/compiler/generic/late-type-vops.lisp index 45ff2f0..b764d8f 100644 --- a/src/compiler/generic/late-type-vops.lisp +++ b/src/compiler/generic/late-type-vops.lisp @@ -1,5 +1,15 @@ +;;;; generic type testing and checking VOPs + +;;;; This software is part of the SBCL system. See the README file for +;;;; more information. +;;;; +;;;; This software is derived from the CMU CL system, which was +;;;; written at Carnegie Mellon University and released into the +;;;; public domain. The software is in the public domain and is +;;;; provided with absolutely no warranty. See the COPYING and CREDITS +;;;; files for more information. (in-package "SB!VM") - + (!define-type-vops fixnump check-fixnum fixnum object-not-fixnum-error (even-fixnum-lowtag odd-fixnum-lowtag) ;; we can save a register on the x86. @@ -77,6 +87,12 @@ object-not-simple-vector-error (simple-vector-widetag)) +(!define-type-vops simple-array-nil-p + check-simple-array-nil + simple-array-nil + object-not-simple-array-nil-error + (simple-array-nil-widetag)) + (!define-type-vops simple-array-unsigned-byte-2-p check-simple-array-unsigned-byte-2 simple-array-unsigned-byte-2 @@ -204,6 +220,7 @@ (!define-type-vops vectorp check-vector nil object-not-vector-error (simple-string-widetag + simple-array-nil-widetag simple-bit-vector-widetag simple-vector-widetag simple-array-unsigned-byte-2-widetag @@ -243,6 +260,7 @@ object-not-simple-array-error (simple-array-widetag simple-string-widetag + simple-array-nil-widetag simple-bit-vector-widetag simple-vector-widetag simple-array-unsigned-byte-2-widetag @@ -264,6 +282,7 @@ (!define-type-vops arrayp check-array nil object-not-array-error (simple-array-widetag simple-string-widetag + simple-array-nil-widetag simple-bit-vector-widetag simple-vector-widetag simple-array-unsigned-byte-2-widetag