From: Nathan F. <nf...@us...> - 2007-05-07 00:42:42
|
Update of /cvsroot/sbcl/sbcl/src/compiler/generic In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv15385/src/compiler/generic Modified Files: utils.lisp vm-fndb.lisp vm-tran.lisp Log Message: 10.CVS: ---------------------------------------------------------------------- Index: utils.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/compiler/generic/utils.lisp,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- utils.lisp 27 Jan 2007 03:45:49 -0000 1.10 +++ utils.lisp 7 May 2007 00:42:38 -0000 1.11 @@ -19,7 +19,7 @@ (error "~W is too big for a fixnum." num))) ;;; Determining whether a constant offset fits in an addressing mode. -#!+x86 +#!+(or x86 x86-64) (defun foldable-constant-offset-p (element-size lowtag data-offset offset) (if (< element-size n-byte-bits) nil Index: vm-fndb.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/compiler/generic/vm-fndb.lisp,v retrieving revision 1.42 retrieving revision 1.43 diff -u -d -r1.42 -r1.43 --- vm-fndb.lisp 17 Apr 2007 04:19:37 -0000 1.42 +++ vm-fndb.lisp 7 May 2007 00:42:38 -0000 1.43 @@ -290,14 +290,14 @@ (defknown %bignum-ref (bignum-type bignum-index) bignum-element-type (flushable)) -#!+x86 +#!+(or x86 x86-64) (defknown %bignum-ref-with-offset (bignum-type bignum-index (signed-byte 24)) bignum-element-type (flushable always-translatable)) (defknown %bignum-set (bignum-type bignum-index bignum-element-type) bignum-element-type (unsafe)) -#!+x86 +#!+(or x86 x86-64) (defknown %bignum-set-with-offset (bignum-type bignum-index (signed-byte 24) bignum-element-type) bignum-element-type (unsafe always-translatable)) Index: vm-tran.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/compiler/generic/vm-tran.lisp,v retrieving revision 1.75 retrieving revision 1.76 diff -u -d -r1.75 -r1.76 --- vm-tran.lisp 10 Apr 2007 13:50:45 -0000 1.75 +++ vm-tran.lisp 7 May 2007 00:42:38 -0000 1.76 @@ -33,7 +33,7 @@ '(if (< x 0) (- x) x)) ;;; We don't want to clutter the bignum code. -#!+x86 +#!+(or x86 x86-64) (define-source-transform sb!bignum:%bignum-ref (bignum index) ;; KLUDGE: We use TRULY-THE here because even though the bignum code ;; is (currently) compiled with (SAFETY 0), the compiler insists on @@ -45,7 +45,7 @@ `(sb!bignum:%bignum-ref-with-offset ,bignum (truly-the bignum-index ,index) 0)) -#!+x86 +#!+(or x86 x86-64) (defun fold-index-addressing (fun-name element-size lowtag data-offset index offset &optional setter-p) (multiple-value-bind (func index-args) (extract-fun-args index '(+ -) 2) @@ -65,7 +65,7 @@ (,fun-name thing index (,func off2 off1) ,@(when setter-p '(value)))))))) -#!+x86 +#!+(or x86 x86-64) (deftransform sb!bignum:%bignum-ref-with-offset ((bignum index offset) * * :node node) (fold-index-addressing 'sb!bignum:%bignum-ref-with-offset @@ -173,7 +173,7 @@ ;;; Transform data vector access to a form that opens up optimization ;;; opportunities. -#!+x86 +#!+(or x86 x86-64) (deftransform data-vector-ref ((array index) ((or (simple-unboxed-array (*)) simple-vector) t)) @@ -186,7 +186,7 @@ (give-up-ir1-transform)) `(data-vector-ref-with-offset array index 0)))) -#!+x86 +#!+(or x86 x86-64) (deftransform data-vector-ref-with-offset ((array index offset) ((or (simple-unboxed-array (*)) simple-vector) @@ -262,7 +262,7 @@ ;;; Transform data vector access to a form that opens up optimization ;;; opportunities. -#!+x86 +#!+(or x86 x86-64) (deftransform data-vector-set ((array index new-value) ((or (simple-unboxed-array (*)) simple-vector) t t)) @@ -275,7 +275,7 @@ (give-up-ir1-transform)) `(data-vector-set-with-offset array index 0 new-value)))) -#!+x86 +#!+(or x86 x86-64) (deftransform data-vector-set-with-offset ((array index offset new-value) ((or (simple-unboxed-array (*)) simple-vector) |