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

Reply via email to