(t
(move ,temp-tn ,size)))
+ #!-sb-thread
(inst lr ,flag-tn (make-fixup "boxed_region" :foreign))
+ #!-sb-thread
(inst lwz ,result-tn ,flag-tn 0)
+ #!+sb-thread
+ (inst lwz ,result-tn thread-base-tn (* thread-alloc-region-slot
+ n-word-bytes))
;; we can optimize this to only use one fixup here, once we get
;; it working
;; (inst lr ,flag-tn (make-fixup "boxed_region" :foreign 4))
;; (inst lwz ,flag-tn ,flag-tn 0)
+ #!-sb-thread
(inst lwz ,flag-tn ,flag-tn 4)
+ #!+sb-thread
+ (inst lwz ,flag-tn thread-base-tn (* (1+ thread-alloc-region-slot)
+ n-word-bytes))
(without-scheduling ()
;; CAUTION: The C code depends on the exact order of
(inst b ,fix-addr)
(emit-label ,inline-alloc)
+ #!-sb-thread
(inst lr ,flag-tn (make-fixup "boxed_region" :foreign))
+ #!-sb-thread
(inst stw ,result-tn ,flag-tn 0)
+ #!+sb-thread
+ (inst stw ,result-tn thread-base-tn (* thread-alloc-region-slot
+ n-word-bytes))
(emit-label ,fix-addr)
;; At this point, result-tn points at the end of the object.
;;; 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.41.36"
+"1.0.41.37"