From: Nikodemus Siivola Date: Mon, 20 Jun 2005 16:17:01 +0000 (+0000) Subject: 0.9.1.62: align CSP for dx closures on alpha and ppc X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=f5413fc1ba97667f829073f4aae2c62377265072;p=sbcl.git 0.9.1.62: align CSP for dx closures on alpha and ppc * 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 ... --- diff --git a/src/compiler/alpha/alloc.lisp b/src/compiler/alpha/alloc.lisp index 99c95e2..4f0757b 100644 --- a/src/compiler/alpha/alloc.lisp +++ b/src/compiler/alpha/alloc.lisp @@ -136,8 +136,7 @@ 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 diff --git a/src/compiler/ppc/alloc.lisp b/src/compiler/ppc/alloc.lisp index 0799e51..29d93d5 100644 --- a/src/compiler/ppc/alloc.lisp +++ b/src/compiler/ppc/alloc.lisp @@ -134,8 +134,8 @@ (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)) diff --git a/version.lisp-expr b/version.lisp-expr index 984b4e7..c254608 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -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"