As a practical example, ClientBundle can already generate deep
expressions for Css resource injection that exhaust the stack space of
the JVM when compiling. You end up with something like:

var cssText = a + b + c + ..... (hundreds)

which produces a very deeply nested binary expression tree.

-Ray


On Wed, May 20, 2009 at 9:04 AM,  <[email protected]> wrote:
>
> It is still possible for super-deep expressions to come out of the
> compiler.  As yet it is not a practical problem, however.  The depth
> limit is 10000.  We are only bumping into such a large limit because of
> the unusual encoding used for var statements.
>
> That said, if it's a practical problem, would could de-deepen trees in
> general.  However, it is actually a little bit tricky to do this in
> general and also preserve order of evaluation, so it would take multiple
> days to develop.
>
>
> http://gwt-code-reviews.appspot.com/33826/diff/1/6
> File dev/core/src/com/google/gwt/dev/js/JsBreakUpLargeVarStatements.java
> (right):
>
> http://gwt-code-reviews.appspot.com/33826/diff/1/6#newcode34
> Line 34: * trouble on Safari 4 and possibly other Webkit-based browsers.
> See Issue 3455.
> My mistake.  The comments need to indicate the JS engine being the
> problem.
>
> http://gwt-code-reviews.appspot.com/33826
>
> >
>

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

Reply via email to