gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gcl-devel] tagbody


From: Camm Maguire
Subject: [Gcl-devel] tagbody
Date: 25 Nov 2006 22:18:29 -0500
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Greetings!  Have checked in the experimental tagbody optimization,
which can use a heavy test.  This makes many loops, for example,
without optimization keywords like fixnum, fully optimizable anyway.
I've gotten a significant speedup on ansi tests with this in.

Ideally, it could be implemented better.  Some considerable work has
been done in centralizing the type propagation logic into pass1 of the
compiler -- here we try to guess a nil return type pertaining to the
solitary true branch of a toplevel if in the tagbody using
macroexpansion, portable-source calls, and a tiny code walker.  This
is to prevent yet another iteration over pass1 in tagbody at the
expense of possibly missing some cases.

Checkout:
(disassemble '(lambda (x) (loop for i below (length x) do (incf i))) nil) 

Take care,
-- 
Camm Maguire                                            address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah




reply via email to

[Prev in Thread] Current Thread [Next in Thread]