Hey, Bob, I hope your trip back was pleasant. Can you review this patch for me?
What it does is do a better job with static fields. This was spurred by a bug that occurs for static fields initialized to strings. While fixing that, it was just as easy to improve static fields in general. Static fields can now be moved out of the initial download. Also, if a program has a class full of static fields pointing to string literals, the individual strings can be downloaded one by one, rather than all of them coming together as soon as any of them are needed. It shaves off 2431 bytes (1.9%) of Showcase's uncompressed initial download. The specifics changes are: FragmentExtractor: static field declarations can be moved out of the initial download ControlFlowAnalyzer: for static fields initialized to strings, the string becomes live when the field does, but *not* when the class's initializer does. CodeSplitter: There is a load-order dependency of the field on the string. Also, when logging the fragment map, fields and string literals are now logegd. There are also some cleanups: one method is moved and made private, and three individual comments are moved to a more central location. Lex --~--~---------~--~----~------------~-------~--~----~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~----------~----~----~----~------~----~------~--~---
deferFields2-r4151.patch
Description: Binary data