You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by am...@apache.org on 2002/09/23 15:04:01 UTC
cvs commit: xml-xalan/java/xdocs/sources/xalan xsltc_constraints.xml xsltc_usage.xml
amiro 2002/09/23 06:04:01
Modified: java/xdocs/sources/xalan xsltc_constraints.xml
xsltc_usage.xml
Log:
compile -n option changed so inlining is now the default
Revision Changes Path
1.38 +11 -7 xml-xalan/java/xdocs/sources/xalan/xsltc_constraints.xml
Index: xsltc_constraints.xml
===================================================================
RCS file: /home/cvs/xml-xalan/java/xdocs/sources/xalan/xsltc_constraints.xml,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -r1.37 -r1.38
--- xsltc_constraints.xml 2 Aug 2002 18:46:45 -0000 1.37
+++ xsltc_constraints.xml 23 Sep 2002 13:04:01 -0000 1.38
@@ -131,15 +131,19 @@
elements="*"/></code>, if you do an identity transform by matching on
the root node (/) and then do a <code>copy-of select="."</code>, the whitespace-only
nodes are not stripped out. <code>xsl:strip-space</code> works when you do not do a copy-of.<br/><br/></li>
- <li>In some cases, XSLTC can generate methods that are too long (<em>> 64K length</em>)
+ <li>The default for template inlining has been changed. Previously,
+ by default, inlining (putting all the templates into one big method) was on and
+ the <code>"-n"</code> option to the compile command line disabled inlining.
+ With inlining on, XSLTC can generate methods that are too long (<em>> 64K length</em>)
to run, or contain jump offsets that are too large for the JVM to handle.
- You can minimize this by breaking up large templates into smaller templates.
- XSLTC has a new compile option to disable template inlining, compiling each
- template in a separate method. From the command line, you would use <code>"-n"</code>
- to turn off inlining, or with TrAX set the "disable-inlining" attribute to the TransformationFactory.
+ Now the default is not to inline templates. Instead, compilation creates separate
+ methods for each template. Inlining was thought to improve performance,
+ but with recent hotspot technology in the Java 1.4.x JVM, performance is better with
+ inlining off. From the command line, you would use <code>"-n"</code>
+ to turn on inlining, or with TrAX set the "enable-inlining" attribute to the TransformerFactory.
For example,
- <source>TransformationFactory tfac = new TransformationFactory();
-tfac.setAttribute("disable-inlining", new Boolean(true))</source><br/></li>
+ <source>TransformerFactory tfac = new TransformerFactory();
+tfac.setAttribute("enable-inlining", Boolean.TRUE)</source><br/></li>
<li>XSLTC tries to determine the order in which global variables are initialized
by tracking the dependencies between them. In some cases, the value of a variable
may depend on a template, e.g., if <code>xsl:call-template</code> is used to initialized
1.30 +1 -1 xml-xalan/java/xdocs/sources/xalan/xsltc_usage.xml
Index: xsltc_usage.xml
===================================================================
RCS file: /home/cvs/xml-xalan/java/xdocs/sources/xalan/xsltc_usage.xml,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- xsltc_usage.xml 17 May 2002 21:08:24 -0000 1.29
+++ xsltc_usage.xml 23 Sep 2002 13:04:01 -0000 1.30
@@ -201,7 +201,7 @@
Specifies a package name for the generated translet
classes.
--n Disables template inlining to reduce method length.
+-n Enables template inlining (default behavior better on average).
-x Turns on additional debugging messages.
---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org