From: Nathan F. <nf...@us...> - 2007-04-10 13:50:51
|
Update of /cvsroot/sbcl/sbcl In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv27991 Modified Files: version.lisp-expr NEWS package-data-list.lisp-expr Log Message: 1.0.4.55: Optimized REPLACE and UB*-BASH-COPY routines * Expand simple cases of UB*-BASH-COPY inline to avoid full call overhead and generate better code generally; * Handle more cases of REPLACE; we now optimize REPLACE on all simple specialized array types (only element types <= n-word-bits are handled generally, though); * Use a single COPY-SEQ and SUBSEQ transform rather than one per specialized array type; generate inline copies for these too when possible; * Tests; * Backend cleanup: introduce a FIND-SAETP to eliminate duplicate code; * Backend cleanup: change %{SET-,}VECTOR-RAW-BITS on x86 to use the *-WITH-OFFSET machinery. Index: version.lisp-expr =================================================================== RCS file: /cvsroot/sbcl/sbcl/version.lisp-expr,v retrieving revision 1.3309 retrieving revision 1.3310 diff -u -d -r1.3309 -r1.3310 --- version.lisp-expr 10 Apr 2007 04:18:10 -0000 1.3309 +++ version.lisp-expr 10 Apr 2007 13:50:43 -0000 1.3310 @@ -17,4 +17,4 @@ ;;; 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.4.54" +"1.0.4.55" Index: NEWS =================================================================== RCS file: /cvsroot/sbcl/sbcl/NEWS,v retrieving revision 1.1165 retrieving revision 1.1166 diff -u -d -r1.1165 -r1.1166 --- NEWS 8 Apr 2007 12:38:19 -0000 1.1165 +++ NEWS 10 Apr 2007 13:50:43 -0000 1.1166 @@ -12,6 +12,8 @@ in multithreaded application code. * optimization: GET-INTERNAL-REAL-TIME has been optimized on POSIX platforms. (thanks to James Anderson for the optimization hint) + * optimization: REPLACE, SUBSEQ, and COPY-SEQ are now optimized in + more cases. * enhancement: XREF information is now collected to references made to global variables using SYMBOL-VALUE with a constant argument. * bug fix: dead unbound variable references now signal an error. Index: package-data-list.lisp-expr =================================================================== RCS file: /cvsroot/sbcl/sbcl/package-data-list.lisp-expr,v retrieving revision 1.392 retrieving revision 1.393 diff -u -d -r1.392 -r1.393 --- package-data-list.lisp-expr 7 Apr 2007 13:58:57 -0000 1.392 +++ package-data-list.lisp-expr 10 Apr 2007 13:50:44 -0000 1.393 @@ -1145,7 +1145,7 @@ "%MAP-TO-LIST-ARITY-1" "%MAP-TO-NIL-ON-SEQUENCE" "%MAP-TO-NIL-ON-SIMPLE-VECTOR" "%MAP-TO-NIL-ON-VECTOR" "%MASK-FIELD" "%NEGATE" "%POW" "%PUTHASH" - "%RAW-BITS" "%VECTOR-RAW-BITS" + "%RAW-BITS" "%RAW-BITS-WITH-OFFSET" "%VECTOR-RAW-BITS" "%RAW-REF-COMPLEX-DOUBLE" "%RAW-REF-COMPLEX-LONG" "%RAW-REF-COMPLEX-SINGLE" "%RAW-REF-DOUBLE" "%RAW-REF-LONG" "%RAW-REF-SINGLE" @@ -1160,7 +1160,8 @@ "%RAW-INSTANCE-REF/COMPLEX-DOUBLE" "%RAW-INSTANCE-SET/COMPLEX-DOUBLE" "%SET-ARRAY-DIMENSION" "%SET-FUNCALLABLE-INSTANCE-INFO" - "%SET-RAW-BITS" "%SET-VECTOR-RAW-BITS" + "%SET-RAW-BITS" "%SET-RAW-BITS-WITH-OFFSET" + "%SET-VECTOR-RAW-BITS" "%SET-SAP-REF-16" "%SET-SAP-REF-32" "%SET-SAP-REF-64" "%SET-SAP-REF-WORD" "%SET-SAP-REF-8" "%SET-SAP-REF-DOUBLE" "%SET-SAP-REF-LONG" "%SET-SAP-REF-SAP" |