From d93e034b8a53d8e3d8d6fa8b768cb5952d3ee548 Mon Sep 17 00:00:00 2001 From: Christophe Rhodes Date: Wed, 1 May 2002 13:56:51 +0000 Subject: [PATCH] 0.7.3.7: 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 | 4 ++-- src/code/gc.lisp | 2 +- src/code/x86-vm.lisp | 4 ++-- src/compiler/array-tran.lisp | 4 ++-- src/compiler/generic/genesis.lisp | 18 +++++++++--------- src/compiler/x86/float.lisp | 4 ++-- src/compiler/x86/parms.lisp | 4 ++-- version.lisp-expr | 2 +- 8 files changed, 21 insertions(+), 21 deletions(-) diff --git a/src/code/early-impl.lisp b/src/code/early-impl.lisp index 4d7c669..fa8e9a2 100644 --- a/src/code/early-impl.lisp +++ b/src/code/early-impl.lisp @@ -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* diff --git a/src/code/gc.lisp b/src/code/gc.lisp index 8bf7ee3..45577a0 100644 --- a/src/code/gc.lisp +++ b/src/code/gc.lisp @@ -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 () diff --git a/src/code/x86-vm.lisp b/src/code/x86-vm.lisp index 6e17592..e105241 100644 --- a/src/code/x86-vm.lisp +++ b/src/code/x86-vm.lisp @@ -310,8 +310,8 @@ ;;; 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 diff --git a/src/compiler/array-tran.lisp b/src/compiler/array-tran.lisp index 0fe241e..2f3585a 100644 --- a/src/compiler/array-tran.lisp +++ b/src/compiler/array-tran.lisp @@ -199,7 +199,7 @@ ;; (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) @@ -213,7 +213,7 @@ ((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) diff --git a/src/compiler/generic/genesis.lisp b/src/compiler/generic/genesis.lisp index 72ef259..ad844cf 100644 --- a/src/compiler/generic/genesis.lisp +++ b/src/compiler/generic/genesis.lisp @@ -1250,8 +1250,8 @@ (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)) @@ -2678,15 +2678,15 @@ (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%") @@ -2708,10 +2708,10 @@ ;; 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)) diff --git a/src/compiler/x86/float.lisp b/src/compiler/x86/float.lisp index f935c1f..3187f30 100644 --- a/src/compiler/x86/float.lisp +++ b/src/compiler/x86/float.lisp @@ -432,8 +432,8 @@ (: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 diff --git a/src/compiler/x86/parms.lisp b/src/compiler/x86/parms.lisp index d698ff0..a9b9727 100644 --- a/src/compiler/x86/parms.lisp +++ b/src/compiler/x86/parms.lisp @@ -267,8 +267,8 @@ ;; 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* diff --git a/version.lisp-expr b/version.lisp-expr index 3609a64..7c79f5e 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -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" -- 1.7.10.4