X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fsparc%2Farray.lisp;h=b39f0b19c0bf8a20cca89e673d1eabdca91eef6a;hb=9c510b74eca61bbcc2014dc2b1d02049dff50508;hp=31eff2f00a408d310af71d95d925427a8f591613;hpb=dd04bd449535e9016b5652a708a3cac2ca24c87d;p=sbcl.git diff --git a/src/compiler/sparc/array.lisp b/src/compiler/sparc/array.lisp index 31eff2f..b39f0b1 100644 --- a/src/compiler/sparc/array.lisp +++ b/src/compiler/sparc/array.lisp @@ -20,14 +20,14 @@ (: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)