I've done a quick scan of this and it looks ok, but I'd like to take some time tonight to review it in more detail. I like the 'membersLiveExceptForInstantiability' change, I was going the suggest something like that when I was doing the JSO CFA overhaul last time. Also the checks in Pruner are simpler now.
On Fri, May 13, 2011 at 11:37 AM, Scott Blum <[email protected]> wrote: > 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 -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
