From: Juho S. <js...@us...> - 2007-04-17 04:20:30
|
Update of /cvsroot/sbcl/sbcl In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv32238 Modified Files: NEWS package-data-list.lisp-expr version.lisp-expr Log Message: 1.0.4.92: faster generic array access * Replace the typecase-based HAIRY-DATA-VECTOR-* with a table-driven dispatch on widetags * Move bounds checking of one-dimension AREFs into HAIRY-DATA-VECTOR-* from the caller, so that we can avoid doing a full ARRAY-DIMENSION in the common case. * 3-5x speedup on generic array accesses Index: NEWS =================================================================== RCS file: /cvsroot/sbcl/sbcl/NEWS,v retrieving revision 1.1181 retrieving revision 1.1182 diff -u -d -r1.1181 -r1.1182 --- NEWS 16 Apr 2007 04:38:07 -0000 1.1181 +++ NEWS 17 Apr 2007 04:19:28 -0000 1.1182 @@ -18,6 +18,11 @@ variants no longer cons. * optimization: Direct calls to CHAR-{EQUAL,LESSP,GREATERP} and their NOT- variants no longer cons. + * optimization: EQUAL hash tables no longer use SXHASH for objects + of all data types, but instead use an EQL hash for types for which + EQUAL is the same as EQL + * optimization: the non-inlined generic versions of AREF and (SETF AREF) + are significantly faster * enhancement: XREF information is now collected to references made to global variables using SYMBOL-VALUE and a constant argument. * enhancement: SIGINT now causes a specific condition @@ -54,9 +59,6 @@ * bug fix: modifying the contents of an array could change the return value of SXHASH on that array, which is only allowed for strings and bit vectors (bug introduced in 0.9.16) - * optimization: EQUAL hash tables no longer use SXHASH for objects - of all data types, but instead use an EQL hash for types for which - EQUAL is the same as EQL * improvement: the x86-64/darwin port now passes all tests and should be considered non-experimental. * improvement: a style-warning is signaled for CASE (etc) clauses with Index: package-data-list.lisp-expr =================================================================== RCS file: /cvsroot/sbcl/sbcl/package-data-list.lisp-expr,v retrieving revision 1.395 retrieving revision 1.396 diff -u -d -r1.395 -r1.396 --- package-data-list.lisp-expr 11 Apr 2007 18:08:40 -0000 1.395 +++ package-data-list.lisp-expr 17 Apr 2007 04:19:30 -0000 1.396 @@ -1262,7 +1262,8 @@ "GET-CLOSURE-LENGTH" "GET-HEADER-DATA" "GET-LISP-OBJ-ADDRESS" "LOWTAG-OF" "WIDETAG-OF" "GET-MACHINE-VERSION" "HAIRY-DATA-VECTOR-REF" - "HAIRY-DATA-VECTOR-SET" "HAIRY-TYPE" + "HAIRY-DATA-VECTOR-REF/CHECK-BOUNDS" "HAIRY-DATA-VECTOR-SET" + "HAIRY-DATA-VECTOR-SET/CHECK-BOUNDS""HAIRY-TYPE" "HAIRY-TYPE-CHECK-TEMPLATE-NAME" "HAIRY-TYPE-SPECIFIER" "HANDLE-CIRCULARITY" "HOST" "IGNORE-IT" "ILL-BIN" "ILL-BOUT" "ILL-IN" "ILL-OUT" "INDEX-OR-MINUS-1" @@ -1542,6 +1543,7 @@ "%NUMERATOR" "CLASSOID-TYPEP" "DSD-READ-ONLY" "DSD-DEFAULT" "LAYOUT-INHERITS" "DD-LENGTH" "%CODE-ENTRY-POINTS" "%DENOMINATOR" "%SIMPLE-FUN-XREFS" + "%OTHER-POINTER-P" "STANDARD-CLASSOID" "CLASSOID-OF" "MAKE-STANDARD-CLASSOID" "CLASSOID-CELL-TYPEP" Index: version.lisp-expr =================================================================== RCS file: /cvsroot/sbcl/sbcl/version.lisp-expr,v retrieving revision 1.3346 retrieving revision 1.3347 diff -u -d -r1.3346 -r1.3347 --- version.lisp-expr 16 Apr 2007 04:59:02 -0000 1.3346 +++ version.lisp-expr 17 Apr 2007 04:19:30 -0000 1.3347 @@ -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.91" +"1.0.4.92" |