Reviewers: cromwellian, Description: Before: correlations from parents get copied to every single child SourceInfoCorrelation, using lots of extra memory.
After: SourceInfoCorrelations have parent pointers, and the list of correlations is computed on demand, saving a lot of memory. Other changes: - Got rid of the idea of merging and having more than one correlation of a given type per node. These features were only used in practice a couple of minor cases (static evaluation of string concats, for example). - Generally, not routing through JProgram to create child nodes. - Cleaned up a couple of wrongful/wonky attributes. - Output is nearly identical after this change. Please review this at http://gwt-code-reviews.appspot.com/1352804/show Affected files: M dev/core/src/com/google/gwt/core/ext/soyc/impl/StoryRecorder.java M dev/core/src/com/google/gwt/dev/jjs/SourceInfo.java M dev/core/src/com/google/gwt/dev/jjs/SourceInfoCorrelation.java M dev/core/src/com/google/gwt/dev/jjs/SourceOrigin.java M dev/core/src/com/google/gwt/dev/jjs/ast/JProgram.java M dev/core/src/com/google/gwt/dev/jjs/impl/BuildTypeMap.java M dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaAST.java M dev/core/src/com/google/gwt/dev/jjs/impl/JsoDevirtualizer.java M dev/core/src/com/google/gwt/dev/jjs/impl/MakeCallsStatic.java M dev/core/src/com/google/gwt/dev/jjs/impl/ResolveRebinds.java M dev/core/src/com/google/gwt/dev/js/JsParser.java M dev/core/src/com/google/gwt/dev/js/JsStaticEval.java -- http://groups.google.com/group/Google-Web-Toolkit-Contributors