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

List:       sbcl-commits
Subject:    [Sbcl-commits] CVS: sbcl NEWS, 1.1377, 1.1378 OPTIMIZATIONS, 1.39,
From:       Nikodemus Siivola <demoss () users ! sourceforge ! net>
Date:       2008-07-31 12:52:40
Message-ID: E1KOXe4-0004ai-BT () sc8-pr-cvs8 ! sourceforge ! net
[Download RAW message or body]

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

Modified Files:
	NEWS OPTIMIZATIONS version.lisp-expr 
Log Message:
1.0.19.9: elide runtime calls to %COERCE-CALLABLE-TO-FUN in more cases

 * Core change: %COERCE-CALLABLE-TO-FUN can now convert to
   GLOBAL-FUNCTION.

 * While at it, refactor the whole "make up a form that returns a
   function to use instead of this lvar or source form" thing for
   clarity.

 * Record slightly crazy OPTIMIZATION possibility.


Index: NEWS
===================================================================
RCS file: /cvsroot/sbcl/sbcl/NEWS,v
retrieving revision 1.1377
retrieving revision 1.1378
diff -u -d -r1.1377 -r1.1378
--- NEWS	31 Jul 2008 06:50:54 -0000	1.1377
+++ NEWS	31 Jul 2008 12:52:37 -0000	1.1378
@@ -4,6 +4,8 @@
     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: 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
     breakage. (reported by Stelian Ionescu, Andy Hefner and Stanislaw
     Halik)

Index: OPTIMIZATIONS
===================================================================
RCS file: /cvsroot/sbcl/sbcl/OPTIMIZATIONS,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -d -r1.39 -r1.40
--- OPTIMIZATIONS	4 Jun 2008 12:39:38 -0000	1.39
+++ OPTIMIZATIONS	31 Jul 2008 12:52:37 -0000	1.40
@@ -390,3 +390,18 @@
 is both a decently large chunk of code and unnecessary, as we could ensure
 the TLS index at load-time as well.
 
+--------------------------------------------------------------------------------
+#40
+
+When FTYPE is declared -- to say (function (t t t t t) t), and
+function has a compiler-macro,
+
+  (apply #'foo 'x1 x2 'x3 more)
+
+can be transformed into
+
+  (apply (lambda (x2 x4 x5) (foo 'x1 x2 'x3 x4 x5)) x2 more)
+
+which allows compiler-macro-expansion for FOO. (Only constant
+arguments can be moved inside the new lambda -- otherwise evaluation
+order is altered.)

Index: version.lisp-expr
===================================================================
RCS file: /cvsroot/sbcl/sbcl/version.lisp-expr,v
retrieving revision 1.4042
retrieving revision 1.4043
diff -u -d -r1.4042 -r1.4043
--- version.lisp-expr	31 Jul 2008 06:50:54 -0000	1.4042
+++ version.lisp-expr	31 Jul 2008 12:52:37 -0000	1.4043
@@ -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.8"
+"1.0.19.9"


-------------------------------------------------------------------------
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