0.8.1.15:
authorChristophe Rhodes <csr21@cam.ac.uk>
Wed, 2 Jul 2003 14:32:12 +0000 (14:32 +0000)
committerChristophe Rhodes <csr21@cam.ac.uk>
Wed, 2 Jul 2003 14:32:12 +0000 (14:32 +0000)
Mostly MIPS goodies, though some infrastructural fixes too
... fix hideous DEFINE-PARTIAL-REFFER constant-case bug;
... also adjust the costs so that the constant reffers and
setters are prioritized;
... also build fix for undefined static symbols (reported by
KMR end June 2003)
... include src/runtime/Config in tools-for-build/Makefile
(and adjust order of events in make-config.sh to
ensure that src/runtime/Config exists by the time
we need to build any of the tools-for-build)

NEWS
make-config.sh
src/compiler/mips/macros.lisp
src/compiler/mips/parms.lisp
tools-for-build/Makefile
version.lisp-expr

diff --git a/NEWS b/NEWS
index 501d33d..f419e89 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1905,6 +1905,8 @@ changes in sbcl-0.8.2 relative to sbcl-0.8.1:
     arguments. (reported by Adam Warner)
   * optimization: character compare routines now optimize comparing
     against a constant character. (reported by Gilbert Baumann)
+  * bug fix: (SETF AREF) on byte-sized-element arrays with constant index
+    argument now works properly on the MIPS platform.
   * fixed some bugs revealed by Paul Dietz' test suite:
     ** LAST and [N]BUTLAST should accept a bignum.
 
index 30d346a..54e2982 100644 (file)
@@ -53,25 +53,7 @@ if [ "$sbcl_arch" = "" ] ; then
     exit 1
 fi
 printf ":%s" "$sbcl_arch" >> $ltf 
-# KLUDGE: currently the x86 only works with the generational garbage
-# collector (indicated by the presence of :GENCGC in *FEATURES*) and
-# alpha, sparc and ppc with the stop'n'copy collector (indicated by
-# the absence of :GENCGC in *FEATURES*). This isn't a great
-# separation, but for now, rather than have :GENCGC in
-# base-target-features.lisp-expr, we add it into local-target-features
-# if we're building for x86. -- CSR, 2002-02-21 Then we do something
-# similar with :STACK-GROWS-FOOWARD, too. -- WHN 2002-03-03
-if [ "$sbcl_arch" = "x86" ] ; then
-    printf ' :gencgc :stack-grows-downward-not-upward :c-stack-is-control-stack' >> $ltf
-elif [ "$sbcl_arch" = "mips" ] ; then
-    # Use a little C program to try to guess the endianness.  Ware
-    # cross-compilers!
-    $GNUMAKE -C tools-for-build determine-endianness
-    tools-for-build/determine-endianness >> $ltf
-else
-    # Nothing need be done in this case, but sh syntax wants a placeholder.
-    echo > /dev/null
-fi
+
 for d in src/compiler src/assembly; do
     echo //setting up symlink $d/target
     original_dir=`pwd`
@@ -157,6 +139,26 @@ case `uname` in
 esac
 cd $original_dir
 
+# KLUDGE: currently the x86 only works with the generational garbage
+# collector (indicated by the presence of :GENCGC in *FEATURES*) and
+# alpha, sparc and ppc with the stop'n'copy collector (indicated by
+# the absence of :GENCGC in *FEATURES*). This isn't a great
+# separation, but for now, rather than have :GENCGC in
+# base-target-features.lisp-expr, we add it into local-target-features
+# if we're building for x86. -- CSR, 2002-02-21 Then we do something
+# similar with :STACK-GROWS-FOOWARD, too. -- WHN 2002-03-03
+if [ "$sbcl_arch" = "x86" ] ; then
+    printf ' :gencgc :stack-grows-downward-not-upward :c-stack-is-control-stack' >> $ltf
+elif [ "$sbcl_arch" = "mips" ] ; then
+    # Use a little C program to try to guess the endianness.  Ware
+    # cross-compilers!
+    $GNUMAKE -C tools-for-build determine-endianness
+    tools-for-build/determine-endianness >> $ltf
+else
+    # Nothing need be done in this case, but sh syntax wants a placeholder.
+    echo > /dev/null
+fi
+                           
 echo //finishing $ltf
 echo ')' >> $ltf
 
index 4a0efed..63bd0c3 100644 (file)
                                                  ,(eval offset))))
         (:results (value :scs ,scs))
         (:result-types ,el-type)
-        (:generator 5
+        (:generator 4
           (inst ,(ecase size
                    (:byte (if signed 'lb 'lbu))
                    (:short (if signed 'lh 'lhu)))
                     ,el-type)
         (:results (result :scs ,scs))
         (:result-types ,el-type)
-        (:generator 5
+        (:generator 4
           (inst ,(ecase size (:byte 'sb) (:short 'sh))
                 value object
-                (- (* ,offset n-word-bytes) (* index ,scale) ,lowtag))
+                (- (+ (* ,offset n-word-bytes) (* index ,scale)) ,lowtag))
           (move result value))))))
 
index 971f901..2db4910 100644 (file)
     *current-catch-block*
     *current-unwind-protect-block*
 
+    *binding-stack-start*
+    *control-stack-start*
+    *control-stack-end*
+    
     ;; Interrupt Handling
     *free-interrupt-context-index*
     sb!unix::*interrupts-enabled*
index d4caad3..7bfcf6b 100644 (file)
@@ -7,6 +7,8 @@
 # provided with absolutely no warranty. See the COPYING and CREDITS
 # files for more information.
 
+include ../src/runtime/Config
+
 all: grovel_headers determine-endianness
 
 clean: 
index 1e781f4..0b460ab 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.1.14"
+"0.8.1.15"