Are there any design docs for runAsync ?

Cheers

Cameron

On Sat, Oct 18, 2008 at 2:24 AM, Lex Spoon <[EMAIL PROTECTED]> wrote:

> Hi, Bob,
>
> Can you be the main reviewer for the merge of the runAsync branch to
> the trunk?  The attached patch is the outstanding difference between
> trunk and branch, plus a few minor changes.
>
> The overall structure is like this:
>
> 1. JsProgram no longer has a single global block.  It has a number of
> JsFragments, each of which has its own global JsBlock.  If there are
> no calls to runAsync in the program, then there will be exactly one
> JsFragment.
>
> 2. The linkers are updated for this structure, though most of them
> simply fail if there is more than one fragment.
>
> 3. The ControlFlowAnalyzer refactor is included, described in a previous
> email.
>
> 4. FindDeferredSitesVisitors arranges that, for every call to
> runAsync, there is an AsyncLoader class generated for that call.
>
> 5. ReplaceRunAsync actually replaces calls to runAsync with calls into
> AsyncLoaders.  Each call is associated with its own AsyncLoader class.
>
> 6. GenerateJavaScriptAST now generates a map, JavaToJavaScriptMap,
> that associates Java AST nodes to JavaScript AST nodes.  This should
> eventually be done using information recorded in SourceInfos, now that
> JavaScript nodes have a SourceInfo, but unless you see an immediate
> problem it would be nice to do that in a subsequent patch.
>
> 7. CodeSplitter actually splits the program into fragments.  It relies
> on ControlFlowAnalyzer to decide how to split everything up, and it
> uses FragmentExtractor for the nitty gritty mechanics of extracting a
> fragment of code.  Note that extracting a fragment is a little
> trickier than "this statement in, this statement out".  Extracting
> interned strings is one example that doesn't work like that.
>
>
> I think that's it.  Comments are very welcome, both about the
> implementation and the general design.  I would just ask that we
> remember there is more work to be done, and not everything has to be
> in this one already large patch.
>
> Lex
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
http://groups.google.com/group/Google-Web-Toolkit-Contributors
-~----------~----~----~----~------~----~------~--~---

Reply via email to