0.8.13.33:
authorNathan Froyd <froydnj@cs.rice.edu>
Fri, 6 Aug 2004 18:43:45 +0000 (18:43 +0000)
committerNathan Froyd <froydnj@cs.rice.edu>
Fri, 6 Aug 2004 18:43:45 +0000 (18:43 +0000)
Clean up a few more 32-bit assumptions and add exports for
  useful constants

package-data-list.lisp-expr
src/compiler/generic/primtype.lisp
src/compiler/generic/vm-array.lisp
version.lisp-expr

index ca10143..48ef986 100644 (file)
@@ -2016,6 +2016,7 @@ structure representations"
                                        "EXPORTED-STATIC-SYMBOLS" "EXTERN-ALIEN-NAME"
                                        "FDEFN-FUN-SLOT" "FDEFN-NAME-SLOT" "FDEFN-RAW-ADDR-SLOT"
                                        "FDEFN-SIZE" "FDEFN-WIDETAG" "FIXNUMIZE"
+                                        "FIXNUM-TAG-MASK"
                                        "FIXUP-CODE-OBJECT" "FLOAT-DENORMAL-TRAP-BIT"
                                        "FLOAT-DIVIDE-BY-ZERO-TRAP-BIT"
                                        "FLOAT-IMPRECISE-TRAP-BIT" "FLOAT-INVALID-TRAP-BIT"
@@ -2064,6 +2065,8 @@ structure representations"
                                        "LRA-SAVE-OFFSET"
                                        "MEMORY-USAGE" "MOST-POSITIVE-COST"
                                        "N-LOWTAG-BITS" 
+                                        "N-FIXNUM-TAG-BITS"
+                                        "N-POSITIVE-FIXNUM-BITS"
                                        "NEGATIVE-IMMEDIATE-SC-NUMBER"
                                        "NFP-SAVE-OFFSET"
                                        "NON-DESCRIPTOR-REG-SC-NUMBER"
index 7aec24b..761e0f6 100644 (file)
@@ -23,7 +23,7 @@
 ;;; primitive integer types that fit in registers
 (/show0 "primtype.lisp 24")
 (!def-primitive-type positive-fixnum (any-reg signed-reg unsigned-reg)
-  :type (unsigned-byte 29))
+  :type (unsigned-byte #.sb!vm:n-positive-fixnum-bits))
 (/show0 "primtype.lisp 27")
 #!-alpha
 (!def-primitive-type unsigned-byte-31 (signed-reg unsigned-reg descriptor-reg)
@@ -40,7 +40,7 @@
 (!def-primitive-type unsigned-byte-64 (unsigned-reg descriptor-reg)
   :type (unsigned-byte 64))
 (!def-primitive-type fixnum (any-reg signed-reg)
-  :type (signed-byte 30))
+  :type (signed-byte #.(1+ sb!vm:n-positive-fixnum-bits)))
 #!-alpha
 (!def-primitive-type signed-byte-32 (signed-reg descriptor-reg)
   :type (signed-byte 32))
                (integer
                 (cond ((and hi lo)
                        (dolist (spec
-                                 `((positive-fixnum 0 ,(1- (ash 1 29)))
+                                 `((positive-fixnum 0 ,sb!xc:most-positive-fixnum)
                                    #!-alpha
                                    (unsigned-byte-31 0 ,(1- (ash 1 31)))
                                    #!-alpha
                                    (unsigned-byte-63 0 ,(1- (ash 1 63)))
                                    #!+alpha
                                    (unsigned-byte-64 0 ,(1- (ash 1 64)))
-                                   (fixnum ,(ash -1 29)
-                                           ,(1- (ash 1 29)))
+                                   (fixnum ,sb!xc:most-negative-fixnum
+                                           ,sb!xc:most-positive-fixnum)
                                    #!-alpha
                                    (signed-byte-32 ,(ash -1 31)
                                                          ,(1- (ash 1 31)))
                                    #!+alpha
                                    (signed-byte-64 ,(ash -1 63)
                                                    ,(1- (ash 1 63))))
-                                (if (or (< hi (ash -1 29))
-                                        (> lo (1- (ash 1 29))))
+                                (if (or (< hi sb!xc:most-negative-fixnum)
+                                        (> lo sb!xc:most-positive-fixnum))
                                     (part-of bignum)
                                     (any)))
                          (let ((type (car spec))
index fac3d72..5d2c780 100644 (file)
         ((complex long-float) #C(0.0l0 0.0l0) #!+x86 192 #!+sparc 256
          simple-array-complex-long-float
          :importance 1)
-        (t 0 32 simple-vector :importance 18))))
+        (t 0 #.sb!vm:n-word-bits simple-vector :importance 18))))
 
 (defvar sb!kernel::*specialized-array-element-types*
   (map 'list
index ea223e7..f6417b5 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.8.13.32"
+"0.8.13.33"