0.9.1.62: align CSP for dx closures on alpha and ppc
authorNikodemus Siivola <nikodemus@random-state.net>
Mon, 20 Jun 2005 16:17:01 +0000 (16:17 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Mon, 20 Jun 2005 16:17:01 +0000 (16:17 +0000)
  * test-case pending.
  * untested on alpha.

 A cookie for the first to implement Christophe's suggestion to "adapt
 pfdietz' random tester to generate correct dynamic-extent
 declarations and calls with many arguments" that produces something that
 fails on ppc 0.9.1.61, but passes on .62 ...

src/compiler/alpha/alloc.lisp
src/compiler/ppc/alloc.lisp
version.lisp-expr

index 99c95e2..4f0757b 100644 (file)
            temp)
       (pseudo-atomic (:extra (if stack-allocate-p 0 alloc-size))
         (cond (stack-allocate-p
-               ;; no need to align CSP: FUN-POINTER-LOWTAG already has
-               ;; the corresponding bit set
+              (align-csp result)
                (inst bis csp-tn fun-pointer-lowtag result)
                (inst lda csp-tn alloc-size csp-tn))
               (t
index 0799e51..29d93d5 100644 (file)
           (alloc-size (pad-data-block size))
           (allocation-area-tn (if stack-allocate-p csp-tn alloc-tn)))
       (pseudo-atomic (pa-flag :extra (if stack-allocate-p 0 alloc-size))
-       ;; no need to align CSP for DX: FUN-POINTER-LOWTAG already has
-       ;; the corresponding bit set
+       (when stack-allocate-p
+         (align-csp result))
        (inst clrrwi. result allocation-area-tn n-lowtag-bits)
        (when stack-allocate-p
          (inst addi csp-tn csp-tn alloc-size))
index 984b4e7..c254608 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.9.1.61"
+"0.9.1.62"