1.0.9.34: Encapulate the whole closure generation in pseudo-atomic.
authorThiemo Seufer <ths@networkno.de>
Wed, 5 Sep 2007 20:31:14 +0000 (20:31 +0000)
committerThiemo Seufer <ths@networkno.de>
Wed, 5 Sep 2007 20:31:14 +0000 (20:31 +0000)
src/compiler/alpha/alloc.lisp
src/compiler/hppa/alloc.lisp
src/compiler/mips/alloc.lisp
src/compiler/sparc/alloc.lisp
version.lisp-expr

index 92a4eb7..71d0536 100644 (file)
                (inst lda csp-tn alloc-size csp-tn))
               (t
                (inst bis alloc-tn fun-pointer-lowtag result)))
-        (storew temp result 0 fun-pointer-lowtag))
-      (storew function result closure-fun-slot fun-pointer-lowtag))))
+        (storew temp result 0 fun-pointer-lowtag)
+        (storew function result closure-fun-slot fun-pointer-lowtag)))))
 
 ;;; The compiler likes to be able to directly make value cells.
 (define-vop (make-value-cell)
index 0d41dcb..008117d 100644 (file)
         (inst move alloc-tn result)
         (inst dep fun-pointer-lowtag 31 3 result)
         (inst li (logior (ash (1- size) n-widetag-bits) closure-header-widetag) temp)
-        (storew temp result 0 fun-pointer-lowtag)))
-    (storew function result closure-fun-slot fun-pointer-lowtag)))
+        (storew temp result 0 fun-pointer-lowtag)
+        (storew function result closure-fun-slot fun-pointer-lowtag)))))
 
 ;;; The compiler likes to be able to directly make value cells.
 (define-vop (make-value-cell)
index fdeb152..033f4c8 100644 (file)
         (inst or result fun-pointer-lowtag)
         (inst li temp (logior (ash (1- size) n-widetag-bits)
                               closure-header-widetag))
-        (storew temp result 0 fun-pointer-lowtag))
-      (storew function result closure-fun-slot fun-pointer-lowtag))))
+        (storew temp result 0 fun-pointer-lowtag)
+        (storew function result closure-fun-slot fun-pointer-lowtag)))))
 
 ;;; The compiler likes to be able to directly make value cells.
 (define-vop (make-value-cell)
index 7d39b39..aa4f8b8 100644 (file)
                (inst andn result alloc-tn lowtag-mask)
                (inst or result fun-pointer-lowtag)))
         (inst li temp (logior (ash (1- size) n-widetag-bits) closure-header-widetag))
-        (storew temp result 0 fun-pointer-lowtag))
-      (storew function result closure-fun-slot fun-pointer-lowtag))))
+        (storew temp result 0 fun-pointer-lowtag)
+        (storew function result closure-fun-slot fun-pointer-lowtag)))))
 
 ;;; The compiler likes to be able to directly make value cells.
 (define-vop (make-value-cell)
index 3939434..afafc4d 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".)
-"1.0.9.33"
+"1.0.9.34"