Thanks, Bob! I have several things to change; my plans are in the line-by-line comments.
http://gwt-code-reviews.appspot.com/33848/diff/1/4 File dev/core/src/com/google/gwt/core/ext/soyc/impl/SplitPointRecorder.java (right): http://gwt-code-reviews.appspot.com/33848/diff/1/4#newcode107 Line 107: Map<Integer, String> names = new HashMap<Integer, String>(); I'll sort them. It will work to have recordSplitPoints() loop from 1..size instead of looping over the map's key set. http://gwt-code-reviews.appspot.com/33848/diff/1/5 File dev/core/src/com/google/gwt/core/linker/SoycReportLinker.java (right): http://gwt-code-reviews.appspot.com/33848/diff/1/5#newcode43 Line 43: if (soycFiles.getDepFile() != null) { It's a new requirement. A StandardCompilationAnalysis is now always added even when -soyc is turned off, because it's both useful and fast to generate. When -soyc is off, the SCA will include the split point map but not the other two files. http://gwt-code-reviews.appspot.com/33848/diff/1/10 File dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java (right): http://gwt-code-reviews.appspot.com/33848/diff/1/10#newcode327 Line 327: Will do. http://gwt-code-reviews.appspot.com/33848/diff/1/10#newcode363 Line 363: System.out.println("Completed SOYC phase in " Will do. I missed that one. http://gwt-code-reviews.appspot.com/33848/diff/1/11 File dev/core/src/com/google/gwt/dev/jjs/ast/JProgram.java (right): http://gwt-code-reviews.appspot.com/33848/diff/1/11#newcode231 Line 231: private Map<Integer, RunAsyncReplacement> runAsyncReplacements = new HashMap<Integer, RunAsyncReplacement>(); It could be d.u.c.Maps.create(). The setter might not be called, in which case an empty map leads to simpler code. http://gwt-code-reviews.appspot.com/33848/diff/1/11#newcode1051 Line 1051: splitPointInitialSequence.addAll(list); It should only be called once. I'll add an assert that the existing sequence is empty. http://gwt-code-reviews.appspot.com/33848/diff/1/6 File dev/core/src/com/google/gwt/dev/jjs/impl/CodeSplitter.java (right): http://gwt-code-reviews.appspot.com/33848/diff/1/6#newcode340 Line 340: * TODO(spoon) accept a labeled runAsync call, once runAsyncs can be labeled Some kind of annotation at the runAsync call site. The details are TBD. http://gwt-code-reviews.appspot.com/33848/diff/1/6#newcode349 Line 349: + PROP_INITIAL_SEQUENCE + ": " + refString); Yes! http://gwt-code-reviews.appspot.com/33848/diff/1/6#newcode380 Line 380: "Method includes multiple runAsync calls, so it's ambiguous which one is meant: " On 2009/06/10 23:08:17, bobv wrote: > Split the string literal to improve formatting. Sure. > This happens after pruning, right? I'll pull up the code and double check, but it shouldn't be called after optimization starts. It should run pre-optimization, so that the jsni references can actually be looked up. This method converts the JSNI reference to an integer, which will be stable for the whole compile. http://gwt-code-reviews.appspot.com/33848/diff/1/6#newcode451 Line 451: Map<JMethod, List<Integer>> revmap = new java.util.HashMap<JMethod, List<Integer>>(); I'll change it to use GWT's hash map. http://gwt-code-reviews.appspot.com/33848/diff/1/8 File dev/core/src/com/google/gwt/dev/jjs/impl/ReplaceRunAsyncs.java (right): http://gwt-code-reviews.appspot.com/33848/diff/1/8#newcode36 Line 36: * " by calls to a fragment loader. Will delete. http://gwt-code-reviews.appspot.com/33848 --~--~---------~--~----~------------~-------~--~----~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~----------~----~----~----~------~----~------~--~---
