I'm about a 3rd of the way through this, but here's some initial comments. I'll be able to spend more time on this evening....
http://gwt-code-reviews.appspot.com/1447821/diff/3001/dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java File dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java (right): http://gwt-code-reviews.appspot.com/1447821/diff/3001/dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java#newcode312 dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java:312: // prune all Object.getClass() overrides and replace with inline field ref It's a shame this can't be called earlier on, so that optimizers can take advantage of the loss of polymorphism with getClass()... http://gwt-code-reviews.appspot.com/1447821/diff/3001/dev/core/src/com/google/gwt/dev/jjs/impl/ControlFlowAnalyzer.java File dev/core/src/com/google/gwt/dev/jjs/impl/ControlFlowAnalyzer.java (right): http://gwt-code-reviews.appspot.com/1447821/diff/3001/dev/core/src/com/google/gwt/dev/jjs/impl/ControlFlowAnalyzer.java#newcode937 dev/core/src/com/google/gwt/dev/jjs/impl/ControlFlowAnalyzer.java:937: } whitespace http://gwt-code-reviews.appspot.com/1447821/diff/3001/dev/core/src/com/google/gwt/dev/jjs/impl/ControlFlowAnalyzer.java#newcode995 dev/core/src/com/google/gwt/dev/jjs/impl/ControlFlowAnalyzer.java:995: This seems a bit expensive (iterating through all instantiated types). It looks like it could be called many times per optimization pass? For instance, traverseFrom() is called multiple times in a loop, in traverseEntryMethods(). Is there any impact on execution time, for large projects? It seems like it should only be called once per CFA pass, no? Also, traverseFrom is called in many places external to this class, in tight loops iterating over multiple methods, etc. http://gwt-code-reviews.appspot.com/1447821/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
