[prev in list] [next in list] [prev in thread] [next in thread] 

List:       sbcl-commits
Subject:    [Sbcl-commits] CVS: sbcl NEWS, 1.1378,
From:       Nikodemus Siivola <demoss () users ! sourceforge ! net>
Date:       2008-07-31 13:32:12
Message-ID: E1KOYGK-0000MP-Uh () sc8-pr-cvs8 ! sourceforge ! net
[Download RAW message or body]

Update of /cvsroot/sbcl/sbcl
In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv986

Modified Files:
	NEWS package-data-list.lisp-expr version.lisp-expr 
Log Message:
additional list seeking transformations

 * Implement TRANSFORM-LIST-PRED-SEEK, very much akin to
   TRANSFORM-LIST-ITEM-SEEK, and use it to optimize MEMBER-IF[-NOT],
   ASSOC-IF[-NOT], and RASSOC-IF[-NOT].

 * Implement full versions of list seeking functions in terms of the
   specialized versions: in some cases this is a win, in some cases a
   loss -- but the number of places where functionality is duplicated
   is reduced, which should be easier on the maintenance and less
   bug-prone.

 * Add a TRANSFORM-LIST-ITEM-SEEK transform for RASSOC.

 * LVAR-FOR-NAMED-FUNCTION was a restricted form of LVAR-FUN-IS.  Do
   away with the former, and move the latter to ir1util.lisp.


Index: NEWS
===================================================================
RCS file: /cvsroot/sbcl/sbcl/NEWS,v
retrieving revision 1.1378
retrieving revision 1.1379
diff -u -d -r1.1378 -r1.1379
--- NEWS	31 Jul 2008 12:52:37 -0000	1.1378
+++ NEWS	31 Jul 2008 13:32:10 -0000	1.1379
@@ -4,6 +4,9 @@
     SB-C::STACK-ALLOCATE-DYNAMIC-EXTENT, SB-C::STACK-ALLOCATE-VECTOR,
     and SB-C::STACK-ALLOCATE-VALUE-CELLS no longer exist. See documentation
     and SB-EXT:*STACK-ALLOCATE-DYNAMIC-EXTENT* for details.
+  * optimization: ASSOC-IF, ASSOC-IF-NOT, MEMBER-IF, MEMBER-IF-NOT,
+    RASSOC, RASSOC-IF, and RASSOC-IF-NOT are now equally efficient
+    as ASSOC and MEMEBER.
   * optimization: runtime lookup of function definitions can be
     elided in more cases, eg: (let ((x 'foo)) (funcall foo)).
   * bug fix: fixed #427: unused local aliens no longer cause compiler

Index: package-data-list.lisp-expr
===================================================================
RCS file: /cvsroot/sbcl/sbcl/package-data-list.lisp-expr,v
retrieving revision 1.462
retrieving revision 1.463
diff -u -d -r1.462 -r1.463
--- package-data-list.lisp-expr	30 Jul 2008 17:58:39 -0000	1.462
+++ package-data-list.lisp-expr	31 Jul 2008 13:32:10 -0000	1.463
@@ -1185,6 +1185,10 @@
                "%ARRAY-FILL-POINTER-P" "%ARRAY-RANK"
                "%ASSOC"
                "%ASSOC-EQ"
+               "%ASSOC-IF"
+               "%ASSOC-IF-KEY"
+               "%ASSOC-IF-NOT"
+               "%ASSOC-IF-NOT-KEY"
                "%ASSOC-KEY"
                "%ASSOC-KEY-EQ"
                "%ASSOC-KEY-TEST"
@@ -1230,6 +1234,10 @@
                "%MASK-FIELD"
                "%MEMBER"
                "%MEMBER-EQ"
+               "%MEMBER-IF"
+               "%MEMBER-IF-KEY"
+               "%MEMBER-IF-NOT"
+               "%MEMBER-IF-NOT-KEY"
                "%MEMBER-KEY"
                "%MEMBER-KEY-EQ"
                "%MEMBER-KEY-TEST"
@@ -1237,6 +1245,18 @@
                "%MEMBER-TEST"
                "%MEMBER-TEST-NOT"
                "%NEGATE" "%POW" "%PUTHASH"
+               "%RASSOC"
+               "%RASSOC-EQ"
+               "%RASSOC-IF"
+               "%RASSOC-IF-KEY"
+               "%RASSOC-IF-NOT"
+               "%RASSOC-IF-NOT-KEY"
+               "%RASSOC-KEY"
+               "%RASSOC-KEY-EQ"
+               "%RASSOC-KEY-TEST"
+               "%RASSOC-KEY-TEST-NOT"
+               "%RASSOC-TEST"
+               "%RASSOC-TEST-NOT"
                "%RAW-BITS" "%RAW-BITS-WITH-OFFSET" "%VECTOR-RAW-BITS"
                "%RAW-REF-COMPLEX-DOUBLE" "%RAW-REF-COMPLEX-LONG"
                "%RAW-REF-COMPLEX-SINGLE" "%RAW-REF-DOUBLE"

Index: version.lisp-expr
===================================================================
RCS file: /cvsroot/sbcl/sbcl/version.lisp-expr,v
retrieving revision 1.4043
retrieving revision 1.4044
diff -u -d -r1.4043 -r1.4044
--- version.lisp-expr	31 Jul 2008 12:52:37 -0000	1.4043
+++ version.lisp-expr	31 Jul 2008 13:32:10 -0000	1.4044
@@ -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.19.9"
+"1.0.19.10"


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Sbcl-commits mailing list
Sbcl-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sbcl-commits
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic