Almost ready to signoff, remaining concern about performance hit in CFA
(see comment there).


http://gwt-code-reviews.appspot.com/1447821/diff/9006/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/9006/dev/core/src/com/google/gwt/dev/jjs/impl/ControlFlowAnalyzer.java#newcode996
dev/core/src/com/google/gwt/dev/jjs/impl/ControlFlowAnalyzer.java:996:
(Just copied over the same comments I had earlier from patch set 2)

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/diff/9006/dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaScriptAST.java
File dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaScriptAST.java
(right):

http://gwt-code-reviews.appspot.com/1447821/diff/9006/dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaScriptAST.java#newcode1817
dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaScriptAST.java:1817:
for (JMethod method : x.getMethods()) {
Can you add a comment of explanation here, as discussed in patch set 2?

http://gwt-code-reviews.appspot.com/1447821/diff/9006/dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaScriptAST.java#newcode1822
dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaScriptAST.java:1822:
if (JProgram.isClinit(method)) {
Add an assert (as discussed in comment in patch set 2)?

http://gwt-code-reviews.appspot.com/1447821/

--
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to