|
[Sbcl-commits] CVS: sbcl version.lisp-expr,1.1483,1.1484
From: Christophe Rhodes <crhodes@us...> - 2004-03-01 23:41
|
Update of /cvsroot/sbcl/sbcl In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5388 Modified Files: version.lisp-expr Log Message: 0.8.8.10: MORE MICRO-OPTIMIZATION ... renumber all widetags. (LESS BINARY-COMPATIBILITY) ... implement some smarter type tag checking on the x86. The smarter type checking comes in several flavours. * If we have two adjacent lowtags, in three cases out of four we can do "and, cmp, branch", rather than "cmp, branch, cmp, branch"; * If we have two lowtags that are unadjacent but differ by just one bit, we can likewise do "and, cmp, branch" rather than "cmp, branch, cmp, branch"; * If we have a contiguous range of lowtags that includes the most positive lowtag, we do not need to test the upper bound; * If we have four lowtags with only two bits different, we can do "and, cmp, branch" rather than *four* "cmp, branch" pairs. This change will conflict with ongoing 64-bit ports. The conflict is resolvable (there are enough widetags in the "array" range (which in practice is 130 - 254; currently there are five in this range unused (or three with long-float arrays) Index: version.lisp-expr =================================================================== RCS file: /cvsroot/sbcl/sbcl/version.lisp-expr,v retrieving revision 1.1483 retrieving revision 1.1484 diff -u -d -r1.1483 -r1.1484 --- version.lisp-expr 1 Mar 2004 21:32:42 -0000 1.1483 +++ version.lisp-expr 1 Mar 2004 23:22:25 -0000 1.1484 @@ -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".) -"0.8.8.9" +"0.8.8.10" |
| Thread | Author | Date |
|---|---|---|
| [Sbcl-commits] CVS: sbcl version.lisp-expr,1.1483,1.1484 | Christophe Rhodes <crhodes@us...> |