Reviewers: scottb, Lex, bobv, Description: Changes normal GWT vtable setup from
function foo() { ... } _.foo = foo; to _.foo = function foo() { ... } This reduces gzip'ed size on Showcase by 2%. Independent testing of programs with 100% polymorphism shows that this can improve module parse/startup latency by 20% (or more on mobile WebKit). Showcase currently has about 30% functions polymorphic, so this might boil down to 6% savings in startup time (unbenchmarked) Note, that if you don't desire correct stack traces, you can use the following construct: _.foo = function() { ... } This results in a 6% post-gzip size reduction on Showcase. It might be useful to introduce a permutation parameter like "stripStackInformation", like -XdisableClassMetadata to enable this feature. Please review this at http://gwt-code-reviews.appspot.com/89810 Affected files: 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/js/EvalFunctionsAtTopScope.java --~--~---------~--~----~------------~-------~--~----~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~----------~----~----~----~------~----~------~--~---