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 [EMAIL PROTECTED] ========================================================================== "The earth is but one country, and mankind its citizens." -- Baha'u'llah _______________________________________________ Gcl-devel mailing list [email protected] http://lists.gnu.org/mailman/listinfo/gcl-devel
