https://bz.apache.org/bugzilla/show_bug.cgi?id=69377

--- Comment #4 from John Engebretson <jeng...@amazon.com> ---
The biggest error comes when a JSP uses the following structure:

<c:if>
  <c:when>
  </c:when>
</c:if>

I didn't know this was a supported behavior, but it shows up throughout our
application.  The code generation for <c:when> delegates the last brace to the
conclusion of the surrounding <c:choose>, which does not exist in this case,
and results in the generated Java missing a '}' and not compiling.

Activating the feature for <c:set> and <c:if> results in ~33% smaller class
files and clearly faster runtime, but comes with a big red flag: certain
methods have become much, much larger.  This is because the generated code
eliminates methods entirely and inlines all of the logic into the higher-level
caller.  With when/choose/otherwise enabled, a few methods are too large for
comfort (64KB limit and all that).

I'm still considering whether to fix and use the current code, or do something
similar to my original intent, which modifies the method implementation but
does not increase the size of any method.

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to