0.8.5.24:
authorWilliam Harold Newman <william.newman@airmail.net>
Thu, 6 Nov 2003 23:33:11 +0000 (23:33 +0000)
committerWilliam Harold Newman <william.newman@airmail.net>
Thu, 6 Nov 2003 23:33:11 +0000 (23:33 +0000)
merged CSR's well-aged patch to make X86 port stop
complaining about register class strangeness
in array checking VOPs
added #!+ conditionalization on the hack to suppress
warnings about analogous strangeness on other
ports, hoping I didn't screw up anything I can't test

build-order.lisp-expr
src/compiler/meta-vmdef.lisp
src/compiler/x86/array.lisp
version.lisp-expr

index 9431d78..4214e69 100644 (file)
  ("src/compiler/target/memory")
  ("src/compiler/target/static-fn")
  ("src/compiler/target/arith"
-  ;; KLUDGE: for ppc and sparc this appears to be necessary -- see the
-  ;; comment below regarding src/compiler/target/array -- CSR,
-  ;; 2002-05-05
-  :ignore-failure-p) 
+  ;; KLUDGE: for ppc and sparc this appears to be necessary, as it
+  ;; used to be for array VOPs for X86 until ca. 0.8.5.24 when CSR's
+  ;; patch for that architecture was finally committed
+  ;;
+  ;; old (0.8.5.23) comment on the array-VOP hack for X86:
+  ;; x Compiling this file for X86 raises alarming warnings of
+  ;; x the form
+  ;; x    Argument FOO to VOP CHECK-BOUND has SC restriction
+  ;; x    DESCRIPTOR-REG which is not allowed by the operand type:
+  ;; x      (:OR POSITIVE-FIXNUM)
+  ;; x This seems not to be something that I broke, but rather a "feature"
+  ;; x inherited from classic CMU CL. (Debian cmucl_2.4.8.deb compiling
+  ;; x Debian cmucl_2.4.8.tar.gz raises the same warning). Thus, even though
+  ;; x these warnings are severe enough that they would ordinarily abort
+  ;; x compilation, for now we blithely ignore them and press on to more
+  ;; x pressing problems. Someday, though, it would be nice to figure out
+  ;; x what the problem is and fix it.
+  #!+(or ppc sparc) :ignore-failure-p)
  ("src/compiler/target/subprim")
 
  ("src/compiler/target/debug")
  ("src/compiler/target/nlx")
  ("src/compiler/generic/late-nlx")
  ("src/compiler/target/show")
- ("src/compiler/target/array"
-  ;; KLUDGE: Compiling this file for X86 raises alarming warnings of
-  ;; the form
-  ;;    Argument FOO to VOP CHECK-BOUND has SC restriction
-  ;;    DESCRIPTOR-REG which is not allowed by the operand type:
-  ;;      (:OR POSITIVE-FIXNUM)
-  ;; This seems not to be something that I broke, but rather a "feature"
-  ;; inherited from classic CMU CL. (Debian cmucl_2.4.8.deb compiling
-  ;; Debian cmucl_2.4.8.tar.gz raises the same warning). Thus, even though
-  ;; these warnings are severe enough that they would ordinarily abort
-  ;; compilation, for now we blithely ignore them and press on to more
-  ;; pressing problems. Someday, though, it would be nice to figure out
-  ;; what the problem is and fix it. (See the comments in
-  ;; src/compiler/x86/array for a candidate patch.) -- WHN 19990323
-  :ignore-failure-p)
+ ("src/compiler/target/array")
  ("src/compiler/generic/array")
  ("src/compiler/target/pred")
 
index 25326ad..dc5b37d 100644 (file)
                       (error "bad thing to be a operand type: ~S" spec)))))))
     (mapcar #'parse-operand-type specs)))
 
-;;; Check the consistency of Op's Sc restrictions with the specified
+;;; Check the consistency of OP's SC restrictions with the specified
 ;;; primitive-type restriction. :CONSTANT operands have already been
 ;;; filtered out, so only :OR and * restrictions are left.
 ;;;
index f8c3c70..c240261 100644 (file)
   (:translate %check-bound)
   (:policy :fast-safe)
   (:args (array :scs (descriptor-reg))
-        (bound :scs (any-reg descriptor-reg))
-        (index :scs (any-reg descriptor-reg #+nil immediate) :target result))
+        (bound :scs (any-reg))
+        (index :scs (any-reg #+nil immediate) :target result))
   (:arg-types * positive-fixnum tagged-num)
-  (:results (result :scs (any-reg descriptor-reg)))
+  (:results (result :scs (any-reg)))
   (:result-types positive-fixnum)
   (:vop-var vop)
   (:save-p :compute-only)
index 5f61894..ccda712 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.5.23"
+"0.8.5.24"