On Fri, May 13, 2011 at 11:15 AM, Eric Ayers <[email protected]> wrote:
> I've been reading the code and talking to Scott about it. The loop > being removed is the while() loop in execImpl(). The "jitter" is the > fact that the ControlFlowAnalyzer might return one result for liveness > before the Pruner runs, and a different result after Pruner runs. If > you don't loop inside of Pruner, then the entire optimization pass may > have to run extra times. Great explanation! The last time we tried to naively remove the while loop from Pruner, the outer optimization loop went from ~7 passes to ~10 passes for Showcase, and the total optimization time went up. You can think of my patch as "converging faster". With my patch in and the Pruner loop gone, you still only get ~7 outer optimization loops, and the total optimization time goes down. -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
