Author: mrglavas
Date: Sat Oct 29 21:45:32 2005
New Revision: 329519

URL: http://svn.apache.org/viewcvs?rev=329519&view=rev
Log:
JIRA Issue #1110:
http://issues.apache.org/jira/browse/XERCESJ-1110

Use System.arraycopy() instead of doing inefficient loop copying. Patch thanks 
to Dave Brosius.

Modified:
    xerces/java/trunk/src/org/apache/xerces/impl/dtd/models/DFAContentModel.java
    xerces/java/trunk/src/org/apache/xerces/impl/xs/models/XSDFACM.java

Modified: 
xerces/java/trunk/src/org/apache/xerces/impl/dtd/models/DFAContentModel.java
URL: 
http://svn.apache.org/viewcvs/xerces/java/trunk/src/org/apache/xerces/impl/dtd/models/DFAContentModel.java?rev=329519&r1=329518&r2=329519&view=diff
==============================================================================
--- 
xerces/java/trunk/src/org/apache/xerces/impl/dtd/models/DFAContentModel.java 
(original)
+++ 
xerces/java/trunk/src/org/apache/xerces/impl/dtd/models/DFAContentModel.java 
Sat Oct 29 21:45:32 2005
@@ -713,12 +713,9 @@
                         int[][] newTransTable = new int[newSize][];
 
                         // Copy over all of the existing content
-                        for (int expIndex = 0; expIndex < curArraySize; 
expIndex++)
-                        {
-                            newToDo[expIndex] = statesToDo[expIndex];
-                            newFinalFlags[expIndex] = 
fFinalStateFlags[expIndex];
-                            newTransTable[expIndex] = fTransTable[expIndex];
-                        }
+                        System.arraycopy(statesToDo, 0, newToDo, 0, 
curArraySize);
+                        System.arraycopy(fFinalStateFlags, 0, newFinalFlags, 
0, curArraySize);
+                        System.arraycopy(fTransTable, 0, newTransTable, 0, 
curArraySize);
 
                         // Store the new array size
                         curArraySize = newSize;

Modified: xerces/java/trunk/src/org/apache/xerces/impl/xs/models/XSDFACM.java
URL: 
http://svn.apache.org/viewcvs/xerces/java/trunk/src/org/apache/xerces/impl/xs/models/XSDFACM.java?rev=329519&r1=329518&r2=329519&view=diff
==============================================================================
--- xerces/java/trunk/src/org/apache/xerces/impl/xs/models/XSDFACM.java 
(original)
+++ xerces/java/trunk/src/org/apache/xerces/impl/xs/models/XSDFACM.java Sat Oct 
29 21:45:32 2005
@@ -627,11 +627,9 @@
                         int[][] newTransTable = new int[newSize][];
 
                         // Copy over all of the existing content
-                        for (int expIndex = 0; expIndex < curArraySize; 
expIndex++) {
-                            newToDo[expIndex] = statesToDo[expIndex];
-                            newFinalFlags[expIndex] = 
fFinalStateFlags[expIndex];
-                            newTransTable[expIndex] = fTransTable[expIndex];
-                        }
+                        System.arraycopy(statesToDo, 0, newToDo, 0, 
curArraySize);
+                        System.arraycopy(fFinalStateFlags, 0, newFinalFlags, 
0, curArraySize);
+                        System.arraycopy(fTransTable, 0, newTransTable, 0, 
curArraySize);
 
                         // Store the new array size
                         curArraySize = newSize;



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to