Reviewers: kathrin, bobv,

Description:
This patch modifies the compiler to produce a size breakdown in a much
faster way than it currently does in trunk.  It also updates
SoycDashboard to deal with the new breakdown.

In the compiler, there is a new SizeBreakdown class that replaces the
saved story information by default.  Users can also specify -XsoycExtra
to get the fine-grained story information emitted if they want.

A Sizebreakdown is computed by a new subclass of JsToStringVisitor that
takes a JavaToJavaScriptMap as an argument.  I tried to get it working
with the SymbolData information, but there is too much information still
in JavaToJavaScriptMap that is not in the SymbolDatas.  I think it would
be cleaner to shrink JjsMap down to just 2-3 maps and move most of the
rest over to SymbolDatas, but since JjsMap can't be eliminated entirely
I dropped it for now.

For SoycDashboard, the XML reader is rewritten for the new format.
GlobalInformation and SizeBreakdown are slimmed down because they don't
do fractional billing any longer.  I also tweaked the output in the
minimal ways that seemed important.  Since string types are no longer
computed (compiler vs. user vs. a few other possibilities), I removed
that pane, and to use up the new space enlarged the package breakdown.
Also, all byte counts are reported as integers now, since there is no
fractional billing.

Please review this at http://gwt-code-reviews.appspot.com/51804

Affected files:
   dev/core/src/com/google/gwt/core/ext/linker/CompilationAnalysis.java
    
dev/core/src/com/google/gwt/core/ext/linker/impl/StandardCompilationAnalysis.java
   dev/core/src/com/google/gwt/core/ext/soyc/impl/SizeMapRecorder.java
   dev/core/src/com/google/gwt/core/linker/SoycReportLinker.java
   dev/core/src/com/google/gwt/dev/Precompile.java
   dev/core/src/com/google/gwt/dev/jjs/JJSOptions.java
   dev/core/src/com/google/gwt/dev/jjs/JJSOptionsImpl.java
   dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java
   dev/core/src/com/google/gwt/dev/jjs/impl/FragmentExtractor.java
   dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaScriptAST.java
   dev/core/src/com/google/gwt/dev/jjs/impl/JavaToJavaScriptMap.java
   dev/core/src/com/google/gwt/dev/js/JsReportGenerationVisitor.java
    
dev/core/src/com/google/gwt/dev/js/JsSourceGenerationVisitorWithSizeBreakdown.java
   dev/core/src/com/google/gwt/dev/js/SizeBreakdown.java
   dev/core/src/com/google/gwt/dev/util/arg/ArgHandlerSoycExtra.java
   dev/core/src/com/google/gwt/dev/util/arg/OptionSoycExtra.java
   tools/soyc-vis/src/com/google/gwt/soyc/CodeCollection.java
   tools/soyc-vis/src/com/google/gwt/soyc/GlobalInformation.java
   tools/soyc-vis/src/com/google/gwt/soyc/LiteralsCollection.java
   tools/soyc-vis/src/com/google/gwt/soyc/MakeTopLevelHtmlForPerm.java
   tools/soyc-vis/src/com/google/gwt/soyc/SizeBreakdown.java
   tools/soyc-vis/src/com/google/gwt/soyc/SoycDashboard.java



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

Reply via email to