0.7.3.7:
authorChristophe Rhodes <csr21@cam.ac.uk>
Wed, 1 May 2002 13:56:51 +0000 (13:56 +0000)
committerChristophe Rhodes <csr21@cam.ac.uk>
Wed, 1 May 2002 13:56:51 +0000 (13:56 +0000)
More CLISP bootstrapping fixes:
... #\f is the exponent marker for single-floats, not #\s, so
s/*fp-constant-0s0*/*fp-constant-0f0*/ (and 1s0->1f0)
use 0f0 rather than 0s0 in initializing them, in genesis,
and in transformations
... don't do possibly-destructive operations on possibly-read-only
strings in genesis
Now first genesis runs under clisp!

src/code/early-impl.lisp
src/code/gc.lisp
src/code/x86-vm.lisp
src/compiler/array-tran.lisp
src/compiler/generic/genesis.lisp
src/compiler/x86/float.lisp
src/compiler/x86/parms.lisp
version.lisp-expr

index 4d7c669..fa8e9a2 100644 (file)
@@ -40,8 +40,8 @@
                  sb!vm::*internal-gc-trigger*
                  sb!vm::*fp-constant-0d0*
                  sb!vm::*fp-constant-1d0*
-                 sb!vm::*fp-constant-0s0*
-                 sb!vm::*fp-constant-1s0*
+                 sb!vm::*fp-constant-0f0*
+                 sb!vm::*fp-constant-1f0*
                  sb!vm::*fp-constant-0l0*
                  sb!vm::*fp-constant-1l0*
                  sb!vm::*fp-constant-pi*
index 8bf7ee3..45577a0 100644 (file)
@@ -76,7 +76,7 @@
   (room-minimal-info)
   (sb!vm:memory-usage :count-spaces '(:dynamic)
                      :print-spaces t
-                     :cutoff 0.05s0
+                     :cutoff 0.05f0
                      :print-summary nil))
 
 (defun room-maximal-info ()
index 6e17592..e105241 100644 (file)
 ;;; than the i387 load constant instructions to avoid consing in some
 ;;; cases. Note these are initialized by GENESIS as they are needed
 ;;; early.
-(defvar *fp-constant-0s0*)
-(defvar *fp-constant-1s0*)
+(defvar *fp-constant-0f0*)
+(defvar *fp-constant-1f0*)
 (defvar *fp-constant-0d0*)
 (defvar *fp-constant-1d0*)
 ;;; the long-float constants
index 0fe241e..2f3585a 100644 (file)
                    ;; (SIMPLE-STRINGs are stored with an extra trailing
                    ;; #\NULL for convenience in calling out to C.)
                    :n-pad-elements 1)
-        (single-float 0.0s0 32 ,sb!vm:simple-array-single-float-widetag)
+        (single-float 0.0f0 32 ,sb!vm:simple-array-single-float-widetag)
         (double-float 0.0d0 64 ,sb!vm:simple-array-double-float-widetag)
         #!+long-float (long-float 0.0L0 #!+x86 96 #!+sparc 128
                                   ,sb!vm:simple-array-long-float-widetag)
         ((signed-byte 16) 0 16 ,sb!vm:simple-array-signed-byte-16-widetag)
         ((signed-byte 30) 0 32 ,sb!vm:simple-array-signed-byte-30-widetag)
         ((signed-byte 32) 0 32 ,sb!vm:simple-array-signed-byte-32-widetag)
-        ((complex single-float) #C(0.0s0 0.0s0) 64
+        ((complex single-float) #C(0.0f0 0.0f0) 64
          ,sb!vm:simple-array-complex-single-float-widetag)
         ((complex double-float) #C(0.0d0 0.0d0) 128
          ,sb!vm:simple-array-complex-double-float-widetag)
index 72ef259..ad844cf 100644 (file)
   (progn
     (cold-set 'sb!vm::*fp-constant-0d0* (number-to-core 0d0))
     (cold-set 'sb!vm::*fp-constant-1d0* (number-to-core 1d0))
-    (cold-set 'sb!vm::*fp-constant-0s0* (number-to-core 0s0))
-    (cold-set 'sb!vm::*fp-constant-1s0* (number-to-core 1s0))
+    (cold-set 'sb!vm::*fp-constant-0f0* (number-to-core 0f0))
+    (cold-set 'sb!vm::*fp-constant-1f0* (number-to-core 1f0))
     #!+long-float
     (progn
       (cold-set 'sb!vm::*fp-constant-0l0* (number-to-core 0L0))
     (dolist (obj structs)
       (format t
              "struct ~A {~%"
-             (nsubstitute #\_ #\-
+             (substitute #\_ #\-
              (string-downcase (string (sb!vm:primitive-object-name obj)))))
       (when (sb!vm:primitive-object-widetag obj)
        (format t "    lispobj header;~%"))
       (dolist (slot (sb!vm:primitive-object-slots obj))
        (format t "    ~A ~A~@[[1]~];~%"
        (getf (sb!vm:slot-options slot) :c-type "lispobj")
-       (nsubstitute #\_ #\-
-                    (string-downcase (string (sb!vm:slot-name slot))))
+       (substitute #\_ #\-
+                   (string-downcase (string (sb!vm:slot-name slot))))
        (sb!vm:slot-rest-p slot)))
       (format t "};~2%"))
     (format t "#else /* LANGUAGE_ASSEMBLY */~2%")
     ;; FIXME: It would be nice to use longer names than NIL and
     ;; (particularly) T in #define statements.
     (format t "#define ~A LISPOBJ(0x~X)~%"
-           (nsubstitute #\_ #\-
-                        (remove-if (lambda (char)
-                                     (member char '(#\% #\* #\. #\!)))
-                                   (symbol-name symbol)))
+           (substitute #\_ #\-
+                       (remove-if (lambda (char)
+                                    (member char '(#\% #\* #\. #\!)))
+                                  (symbol-name symbol)))
            (if *static*                ; if we ran GENESIS
              ;; We actually ran GENESIS, use the real value.
              (descriptor-bits (cold-intern symbol))
index f935c1f..3187f30 100644 (file)
   (:results (y :scs (descriptor-reg)))
   (:generator 2
      (ecase (sb!c::constant-value (sb!c::tn-leaf x))
-       (0f0 (load-symbol-value y *fp-constant-0s0*))
-       (1f0 (load-symbol-value y *fp-constant-1s0*))
+       (0f0 (load-symbol-value y *fp-constant-0f0*))
+       (1f0 (load-symbol-value y *fp-constant-1f0*))
        (0d0 (load-symbol-value y *fp-constant-0d0*))
        (1d0 (load-symbol-value y *fp-constant-1d0*))
        #!+long-float
index d698ff0..a9b9727 100644 (file)
     ;; the floating point constants
     *fp-constant-0d0*
     *fp-constant-1d0*
-    *fp-constant-0s0*
-    *fp-constant-1s0*
+    *fp-constant-0f0*
+    *fp-constant-1f0*
     ;; The following are all long-floats.
     *fp-constant-0l0*
     *fp-constant-1l0*
index 3609a64..7c79f5e 100644 (file)
@@ -18,4 +18,4 @@
 ;;; for internal versions, especially for internal versions off the
 ;;; main CVS branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
 
-"0.7.3.6"
+"0.7.3.7"