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
-~----------~----~----~----~------~----~------~--~---