From: Thiemo Seufer Date: Thu, 25 Dec 2008 20:36:19 +0000 (+0000) Subject: 1.0.23.67: Fix MIPS FIXED-ALLOC VOP. X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=d62443f0937aa0ab67a01dcbce31272a2a7425d1;p=sbcl.git 1.0.23.67: Fix MIPS FIXED-ALLOC VOP. * No observable change in behaviour. Apparently nothing ever allocates a non-pointer referenced object via this code path. --- diff --git a/src/compiler/mips/alloc.lisp b/src/compiler/mips/alloc.lisp index 9d1461b..4c37b2c 100644 --- a/src/compiler/mips/alloc.lisp +++ b/src/compiler/mips/alloc.lisp @@ -239,7 +239,12 @@ (inst or result csp-tn lowtag) (inst addu csp-tn (pad-data-block words))) (t - (inst or result alloc-tn lowtag))) + ;; The pseudo-atomic bit in alloc-tn is set. If the + ;; lowtag also has a 1 bit in the same position, we're all + ;; set. Otherwise, we need to subtract the pseudo-atomic + ;; bit. + (inst or result alloc-tn (if (logbitp 0 lowtag) lowtag + (1- lowtag))))) (when type (inst li temp (logior (ash (1- words) n-widetag-bits) type)) (storew temp result 0 lowtag))))) diff --git a/version.lisp-expr b/version.lisp-expr index 3711650..b8c9908 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".) -"1.0.23.66" +"1.0.23.67"