You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by mo...@apache.org on 2001/10/10 11:16:38 UTC

cvs commit: xml-xalan/java/src/org/apache/xalan/xsltc/compiler AbsolutePathPattern.java

morten      01/10/10 02:16:38

  Modified:    java/src/org/apache/xalan/xsltc/compiler
                        AbsolutePathPattern.java
  Log:
  Updated the absolute location path's branch instruction to allow for long
  code branches. This is a common problem with large stylesheets. Some code
  fragments similar to:
      IFEQ(target)
  Must be replaced with:
      IFNE(skip)
      GOTO_W(target)
  skip:
      NOP
  This allows for branches with large branch target offsets.
  PR:		n/a
  Obtained from:	n/a
  Submitted by:	morten@xml.apache.org
  Reviewed by:	morten@xml.apache.org
  
  Revision  Changes    Path
  1.4       +6 -2      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/AbsolutePathPattern.java
  
  Index: AbsolutePathPattern.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/AbsolutePathPattern.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- AbsolutePathPattern.java	2001/08/27 09:07:19	1.3
  +++ AbsolutePathPattern.java	2001/10/10 09:16:38	1.4
  @@ -1,5 +1,5 @@
   /*
  - * @(#)$Id: AbsolutePathPattern.java,v 1.3 2001/08/27 09:07:19 morten Exp $
  + * @(#)$Id: AbsolutePathPattern.java,v 1.4 2001/10/10 09:16:38 morten Exp $
    *
    * The Apache Software License, Version 1.1
    *
  @@ -140,7 +140,11 @@
   	}
   	il.append(new INVOKEINTERFACE(getType, 2));
   	il.append(new PUSH(cpg, DOM.ROOT));
  -	_falseList.add(il.append(new IF_ICMPNE(null)));
  +	
  +	// long jump: _falseList.add(il.append(new IF_ICMPNE(null)));
  +	final BranchHandle skip = il.append(new IF_ICMPEQ(null));
  +	_falseList.add(il.append(new GOTO_W(null)));
  +	skip.setTarget(il.append(NOP));
       }
   	
       public String toString() {
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org