sandygao 2003/01/20 08:32:59 Modified: java/src/org/apache/xerces/impl/xs/traversers XSDAbstractParticleTraverser.java Log: Small performance fix: if the number of particle is 0, we don't need to always create an array of length 0. Revision Changes Path 1.12 +9 -6 xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDAbstractParticleTraverser.java Index: XSDAbstractParticleTraverser.java =================================================================== RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDAbstractParticleTraverser.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- XSDAbstractParticleTraverser.java 26 Jul 2002 18:59:18 -0000 1.11 +++ XSDAbstractParticleTraverser.java 20 Jan 2003 16:32:59 -0000 1.12 @@ -381,11 +381,14 @@ // end the current context, and return an array of particles XSParticleDecl[] popContext() { int count = fPos[fContextCount] - fPos[fContextCount-1]; - XSParticleDecl[] array = new XSParticleDecl[count]; - System.arraycopy(fParticles, fPos[fContextCount-1], array, 0, count); - // clear the particle array, to release memory - for (int i = fPos[fContextCount-1]; i < fPos[fContextCount]; i++) - fParticles[i] = null; + XSParticleDecl[] array = null; + if (count != 0) { + array = new XSParticleDecl[count]; + System.arraycopy(fParticles, fPos[fContextCount-1], array, 0, count); + // clear the particle array, to release memory + for (int i = fPos[fContextCount-1]; i < fPos[fContextCount]; i++) + fParticles[i] = null; + } fContextCount--; return array; }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]