Protect the last store into the object also by pseudo-atomic.
authorThiemo Seufer <ths@networkno.de>
Wed, 7 Sep 2005 23:10:22 +0000 (23:10 +0000)
committerThiemo Seufer <ths@networkno.de>
Wed, 7 Sep 2005 23:10:22 +0000 (23:10 +0000)
src/compiler/mips/alloc.lisp
version.lisp-expr

index 697ba4c..1f6e3a7 100644 (file)
 
     (pseudo-atomic (pa-flag)
       (inst or result alloc-tn other-pointer-lowtag)
+      (inst addu alloc-tn boxed)
       (storew ndescr result 0 other-pointer-lowtag)
       (storew unboxed result code-code-size-slot other-pointer-lowtag)
+      (inst addu alloc-tn unboxed)
       (storew null-tn result code-entry-points-slot other-pointer-lowtag)
-      (inst addu alloc-tn boxed)
-      (inst addu alloc-tn unboxed))
-
-    (storew null-tn result code-debug-info-slot other-pointer-lowtag)))
+      (storew null-tn result code-debug-info-slot other-pointer-lowtag))))
 
 (define-vop (make-fdefn)
   (:policy :fast-safe)
index 9e63868..a6003cb 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.4.41"
+"0.9.4.42"