[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