From: Thiemo S. <th...@us...> - 2008-12-23 14:10:29
|
Update of /cvsroot/sbcl/sbcl/src/compiler/ppc In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv25684/src/compiler/ppc Modified Files: array.lisp Log Message: 1.0.23.66: Calculate array sizes in a more reliable way. * The old implementation depended on the array header size being an even number of words. * Also, another micro-optimization for MIPS. Index: array.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/compiler/ppc/array.lisp,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- array.lisp 4 Jun 2006 14:25:07 -0000 1.14 +++ array.lisp 23 Dec 2008 14:10:23 -0000 1.15 @@ -28,7 +28,8 @@ (:results (result :scs (descriptor-reg))) (:generator 0 (pseudo-atomic (pa-flag) - (inst addi ndescr rank (* (1+ array-dimensions-offset) n-word-bytes)) + (inst addi ndescr rank (+ (* (1+ array-dimensions-offset) n-word-bytes) + lowtag-mask)) (inst clrrwi ndescr ndescr n-lowtag-bits) (allocation header ndescr other-pointer-lowtag :temp-tn gc-temp |