SPARC gencgc
[sbcl.git] / src / compiler / sparc / array.lisp
index 31eff2f..b39f0b1 100644 (file)
   (:arg-types tagged-num tagged-num)
   (:temporary (:scs (descriptor-reg) :to (:result 0) :target result) header)
   (:temporary (:scs (non-descriptor-reg)) ndescr)
+  (:temporary (:scs (non-descriptor-reg)) gencgc-temp)
   (:results (result :scs (descriptor-reg)))
   (:generator 0
     (pseudo-atomic ()
-      (inst or header alloc-tn other-pointer-lowtag)
       (inst add ndescr rank (+ (* (1+ array-dimensions-offset) n-word-bytes)
                                lowtag-mask))
       (inst andn ndescr lowtag-mask)
-      (inst add alloc-tn ndescr)
+      (allocation header ndescr other-pointer-lowtag :temp-tn gencgc-temp)
       (inst add ndescr rank (fixnumize (1- array-dimensions-offset)))
       (inst sll ndescr ndescr n-widetag-bits)
       (inst or ndescr ndescr type)