Part of patch for XALANJ-1324 and others.

Added support for splitting and outlining chunks of a method that would
otherwise exceed the 64KB limit imposed by the Java Virtual Machine
specification on the length of the byte code in a method.  See Javadocs for all
the gory details.

Also made changes to fix-up branches that would overflow a 16-bit relative
branch offset.  Such branches could occur even in methods that would not exceed
the 64KB method size limit.  The sense of the branch is reversed and made to
guard an unconditional branch whose target is the target of the original
conditional branch.  A wide (32-bit) offset is used in the unconditional branch.

See org.apache.xalan.xsltc.compiler.util.MethodGenerator.outlineChunks for more
information.

Patch reviewed by Christine Li and Erin Harris.

3 files changed