Author: hindessm
Date: Mon Aug 23 21:24:31 2010
New Revision: 988315
URL: http://svn.apache.org/viewvc?rev=988315&view=rev
Log:
Merge change from /harmony/enhanced/java/trunk@986626:
r986626 | sjanuary | 2010-08-18 12:30:50 +0100 (Wed, 18 Aug 2010) | 1 line
Pack200 - new tests and some accompanying bug fixes
Added:
harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/test/java/org/apache/harmony/pack200/tests/RunCodecTest.java
- copied unchanged from r986626, harmony/enhanced/java/trunk/classlib/modules/pack200/src/test/java/org/apache/harmony/pack200/tests/RunCodecTest.java
harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/test/resources/org/apache/harmony/pack200/tests/annotations.jar
- copied unchanged from r986626, harmony/enhanced/java/trunk/classlib/modules/pack200/src/test/resources/org/apache/harmony/pack200/tests/annotations.jar
Modified:
harmony/enhanced/java/branches/java6/ (props changed)
harmony/enhanced/java/branches/java6/classlib/ (props changed)
harmony/enhanced/java/branches/java6/classlib/depends/libs/ (props changed)
harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/main/java/org/apache/harmony/pack200/ClassBands.java
harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/main/java/org/apache/harmony/pack200/MetadataBandGroup.java
harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/main/java/org/apache/harmony/pack200/PackingUtils.java
harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/main/java/org/apache/harmony/pack200/PopulationCodec.java
harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/main/java/org/apache/harmony/pack200/RunCodec.java
harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/main/java/org/apache/harmony/pack200/Segment.java
harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/test/java/org/apache/harmony/pack200/tests/ArchiveTest.java
harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/test/java/org/apache/harmony/pack200/tests/CodecTest.java
harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/test/java/org/apache/harmony/pack200/tests/PopulationCodecTest.java
harmony/enhanced/java/branches/java6/drlvm/ (props changed)
harmony/enhanced/java/branches/java6/jdktools/ (props changed)
Propchange: harmony/enhanced/java/branches/java6/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Aug 23 21:24:31 2010
@@ -1,4 +1,4 @@
/harmony/enhanced/java/branches/mrh:935751-941490
-/harmony/enhanced/java/trunk:929253-979569,979593,979613,979615,979647,979659,979682,979897,980326,980632,981356,981763,981811,981820,982146,982148,982183,982250,982377,982498,982614,982650,982777,982887,983879,983902,984367,984577,984597-984598,984613,984682,984708,984731,984779,984784,984798,985098,985141,986136,986141,986147,986150,986205,986223-986224,986228,986248,986356,986603
+/harmony/enhanced/java/trunk:929253-979569,979593,979613,979615,979647,979659,979682,979897,980326,980632,981356,981763,981811,981820,982146,982148,982183,982250,982377,982498,982614,982650,982777,982887,983879,983902,984367,984577,984597-984598,984613,984682,984708,984731,984779,984784,984798,985098,985141,986136,986141,986147,986150,986205,986223-986224,986228,986248,986356,986603,986626
/harmony/enhanced/trunk:476395-929252
/incubator/harmony/enhanced/trunk:292550-476394
Propchange: harmony/enhanced/java/branches/java6/classlib/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Aug 23 21:24:31 2010
@@ -1,7 +1,7 @@
/harmony/enhanced/classlib/trunk:713674-735919,765923-926091,926318-926838
/harmony/enhanced/classlib/trunk/working_classlib:884014-884286
/harmony/enhanced/java/branches/mrh/classlib:935751-941490
-/harmony/enhanced/java/trunk/classlib:929253-979569,979593,979613,979615,979647,979659,979682,979897,980326,980632,981356,981763,981811,981820,982146,982148,982183,982250,982377,982498,982614,982650,982777,982887,983879,983902,984367,984577,984597-984598,984613,984682,984708,984731,984779,984784,984798,985098,985141,986136,986141,986147,986150,986205,986223-986224,986228,986248,986356,986603
+/harmony/enhanced/java/trunk/classlib:929253-979569,979593,979613,979615,979647,979659,979682,979897,980326,980632,981356,981763,981811,981820,982146,982148,982183,982250,982377,982498,982614,982650,982777,982887,983879,983902,984367,984577,984597-984598,984613,984682,984708,984731,984779,984784,984798,985098,985141,986136,986141,986147,986150,986205,986223-986224,986228,986248,986356,986603,986626
/harmony/enhanced/trunk/classlib:476395-929252
/harmony/enhanced/trunk/working_classlib:476396-920147
/incubator/harmony/enhanced/trunk/classlib:292550-476394
Propchange: harmony/enhanced/java/branches/java6/classlib/depends/libs/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Aug 23 21:24:31 2010
@@ -1,4 +1,4 @@
/harmony/enhanced/classlib/trunk/depends/libs:544451-926091
-/harmony/enhanced/java/trunk/classlib/depends/libs:929253-979569,979593,979613,979615,979647,979659,979682,979897,980326,980632,981356,981763,981811,981820,982146,982148,982183,982250,982377,982498,982614,982650,982777,982887,983879,983902,984367,984577,984597-984598,984613,984682,984708,984731,984779,984784,984798,985098,985141,986136,986141,986147,986150,986205,986223-986224,986228,986248,986356,986603
+/harmony/enhanced/java/trunk/classlib/depends/libs:929253-979569,979593,979613,979615,979647,979659,979682,979897,980326,980632,981356,981763,981811,981820,982146,982148,982183,982250,982377,982498,982614,982650,982777,982887,983879,983902,984367,984577,984597-984598,984613,984682,984708,984731,984779,984784,984798,985098,985141,986136,986141,986147,986150,986205,986223-986224,986228,986248,986356,986603,986626
/harmony/enhanced/trunk/classlib/depends/libs:476395-929252
/incubator/harmony/enhanced/trunk/classlib/depends/libs:292550-476394
Modified: harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/main/java/org/apache/harmony/pack200/ClassBands.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/main/java/org/apache/harmony/pack200/ClassBands.java?rev=988315&r1=988314&r2=988315&view=diff
==============================================================================
--- harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/main/java/org/apache/harmony/pack200/ClassBands.java
(original)
+++ harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/main/java/org/apache/harmony/pack200/ClassBands.java
Mon Aug 23 21:24:31 2010
@@ -1328,22 +1328,22 @@ public class ClassBands extends BandSet
boolean visible, List nameRU, List t, List values, List caseArrayN, List nestTypeRS,
List nestNameRU, List nestPairN) {
if(visible) {
method_RVPA_bands.addAnnotation(desc, nameRU, t, values, caseArrayN, nestTypeRS,
nestNameRU, nestPairN);
- Integer flag = (Integer) tempMethodFlags.remove(tempMethodFlags.size() - 1);
+ Long flag = (Long) tempMethodFlags.remove(tempMethodFlags.size() - 1);
if((flag.intValue() & (1<<23)) != 0) {
method_RVPA_bands.incrementAnnoN();
} else {
method_RVPA_bands.newEntryInAnnoN();
}
- tempMethodFlags.add(new Integer(flag.intValue() | (1<<23)));
+ tempMethodFlags.add(new Long(flag.longValue() | (1<<23)));
} else {
method_RIPA_bands.addAnnotation(desc, nameRU, t, values, caseArrayN, nestTypeRS,
nestNameRU, nestPairN);
- Integer flag = (Integer) tempMethodFlags.remove(tempMethodFlags.size() - 1);
- if((flag.intValue() & (1<<24)) != 0) {
+ Long flag = (Long) tempMethodFlags.remove(tempMethodFlags.size() - 1);
+ if((flag.longValue() & (1<<24)) != 0) {
method_RIPA_bands.incrementAnnoN();
} else {
method_RIPA_bands.newEntryInAnnoN();
}
- tempMethodFlags.add(new Integer(flag.intValue() | (1<<24)));
+ tempMethodFlags.add(new Long(flag.longValue() | (1<<24)));
}
}
Modified: harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/main/java/org/apache/harmony/pack200/MetadataBandGroup.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/main/java/org/apache/harmony/pack200/MetadataBandGroup.java?rev=988315&r1=988314&r2=988315&view=diff
==============================================================================
--- harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/main/java/org/apache/harmony/pack200/MetadataBandGroup.java
(original)
+++ harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/main/java/org/apache/harmony/pack200/MetadataBandGroup.java
Mon Aug 23 21:24:31 2010
@@ -268,7 +268,7 @@ public class MetadataBandGroup extends B
} else if (tag.equals("J")) {
Long value = (Long)valuesIterator.next();
caseJ_KJ.add(cpBands.getConstant(value));
- } else if (tag.equals("C")) {
+ } else if (tag.equals("c")) {
String value = (String)valuesIterator.next();
casec_RS.add(cpBands.getCPSignature(value));
} else if (tag.equals("e")) {
Modified: harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/main/java/org/apache/harmony/pack200/PackingUtils.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/main/java/org/apache/harmony/pack200/PackingUtils.java?rev=988315&r1=988314&r2=988315&view=diff
==============================================================================
--- harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/main/java/org/apache/harmony/pack200/PackingUtils.java
(original)
+++ harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/main/java/org/apache/harmony/pack200/PackingUtils.java
Mon Aug 23 21:24:31 2010
@@ -86,7 +86,7 @@ public class PackingUtils {
}
/**
- * When effort is 0, the packer copys through the original jar input stream
+ * When effort is 0, the packer copies through the original jar input stream
* without compression
*
* @param jarInputStream
Modified: harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/main/java/org/apache/harmony/pack200/PopulationCodec.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/main/java/org/apache/harmony/pack200/PopulationCodec.java?rev=988315&r1=988314&r2=988315&view=diff
==============================================================================
--- harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/main/java/org/apache/harmony/pack200/PopulationCodec.java
(original)
+++ harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/main/java/org/apache/harmony/pack200/PopulationCodec.java
Mon Aug 23 21:24:31 2010
@@ -151,11 +151,16 @@ public class PopulationCodec extends Cod
}
public byte[] encode(int[] favoured, int[] tokens, int[] unfavoured) throws Pack200Exception
{
- byte[] favouredEncoded = favouredCodec.encode(favoured);
+ int[] favoured2 = new int[favoured.length + 1];
+ System.arraycopy(favoured, 0, favoured2, 0, favoured.length);
+ favoured2[favoured2.length - 1] = favoured[favoured.length - 1]; // repeat last value;
+ byte[] favouredEncoded = favouredCodec.encode(favoured2);
byte[] tokensEncoded = tokenCodec.encode(tokens);
byte[] unfavouredEncoded = unfavouredCodec.encode(unfavoured);
byte[] band = new byte[favouredEncoded.length + tokensEncoded.length + unfavouredEncoded.length];
-
+ System.arraycopy(favouredEncoded, 0, band, 0, favouredEncoded.length);
+ System.arraycopy(tokensEncoded, 0, band, favouredEncoded.length, tokensEncoded.length);
+ System.arraycopy(unfavouredEncoded, 0, band, favouredEncoded.length + tokensEncoded.length,
unfavouredEncoded.length);
return band;
}
Modified: harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/main/java/org/apache/harmony/pack200/RunCodec.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/main/java/org/apache/harmony/pack200/RunCodec.java?rev=988315&r1=988314&r2=988315&view=diff
==============================================================================
--- harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/main/java/org/apache/harmony/pack200/RunCodec.java
(original)
+++ harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/main/java/org/apache/harmony/pack200/RunCodec.java
Mon Aug 23 21:24:31 2010
@@ -135,13 +135,11 @@ public class RunCodec extends Codec {
}
public byte[] encode(int value, int last) throws Pack200Exception {
- // TODO Auto-generated method stub
- return null;
+ throw new Pack200Exception("Must encode entire band at once with a RunCodec");
}
public byte[] encode(int value) throws Pack200Exception {
- // TODO Auto-generated method stub
- return null;
+ throw new Pack200Exception("Must encode entire band at once with a RunCodec");
}
public int getK() {
Modified: harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/main/java/org/apache/harmony/pack200/Segment.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/main/java/org/apache/harmony/pack200/Segment.java?rev=988315&r1=988314&r2=988315&view=diff
==============================================================================
--- harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/main/java/org/apache/harmony/pack200/Segment.java
(original)
+++ harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/main/java/org/apache/harmony/pack200/Segment.java
Mon Aug 23 21:24:31 2010
@@ -458,31 +458,40 @@ public class Segment implements ClassVis
name = "";
}
nameRU.add(name);
- values.add(value);
- addTag(value);
+ addValueAndTag(value);
}
- private void addTag(Object value) {
+ private void addValueAndTag(Object value) {
if(value instanceof Integer) {
T.add("I");
+ values.add(value);
} else if (value instanceof Double) {
T.add("D");
+ values.add(value);
} else if (value instanceof Float) {
T.add("F");
+ values.add(value);
} else if (value instanceof Long) {
T.add("J");
+ values.add(value);
} else if (value instanceof Byte) {
T.add("B");
+ values.add(new Integer(((Byte)value).intValue()));
} else if (value instanceof Character) {
T.add("C");
+ values.add(new Integer(((Character)value).charValue()));
} else if (value instanceof Short) {
T.add("S");
+ values.add(new Integer(((Short)value).intValue()));
} else if (value instanceof Boolean) {
T.add("Z");
+ values.add(new Integer(((Boolean)value).booleanValue() ? 1 : 0));
} else if (value instanceof String) {
T.add("s");
+ values.add(value);
} else if (value instanceof Type) {
T.add("c");
+ values.add(((Type)value).toString());
}
}
@@ -499,8 +508,7 @@ public class Segment implements ClassVis
Integer numPairs = (Integer) nestPairN.remove(nestPairN.size() - 1);
nestPairN.add(new Integer(numPairs.intValue() + 1));
nestNameRU.add(name);
- values.add(value);
- addTag(value);
+ addValueAndTag(value);
}
public AnnotationVisitor visitAnnotation(String arg0,
@@ -543,8 +551,7 @@ public class Segment implements ClassVis
name = "";
}
nameRU.add(name);
- values.add(value);
- addTag(value);
+ addValueAndTag(value);
}
public AnnotationVisitor visitAnnotation(String arg0,
Modified: harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/test/java/org/apache/harmony/pack200/tests/ArchiveTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/test/java/org/apache/harmony/pack200/tests/ArchiveTest.java?rev=988315&r1=988314&r2=988315&view=diff
==============================================================================
--- harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/test/java/org/apache/harmony/pack200/tests/ArchiveTest.java
(original)
+++ harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/test/java/org/apache/harmony/pack200/tests/ArchiveTest.java
Mon Aug 23 21:24:31 2010
@@ -344,6 +344,20 @@ public class ArchiveTest extends TestCas
compareFiles(jarFile, jarFile2);
}
+
+ public void testAnnotations2() throws IOException, Pack200Exception,
+ URISyntaxException {
+ in = new JarFile(new File(Archive.class.getResource(
+ "/org/apache/harmony/pack200/tests/annotations.jar").toURI()));
+ file = File.createTempFile("annotations", ".pack");
+ file.deleteOnExit();
+ out = new FileOutputStream(file);
+ PackingOptions options = new PackingOptions();
+ options.setGzip(false);
+ new Archive(in, out, options).pack();
+ in.close();
+ out.close();
+ }
public void testE0() throws Pack200Exception, IOException, URISyntaxException {
File f1 = new File(Archive.class.getResource(
Modified: harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/test/java/org/apache/harmony/pack200/tests/CodecTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/test/java/org/apache/harmony/pack200/tests/CodecTest.java?rev=988315&r1=988314&r2=988315&view=diff
==============================================================================
--- harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/test/java/org/apache/harmony/pack200/tests/CodecTest.java
(original)
+++ harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/test/java/org/apache/harmony/pack200/tests/CodecTest.java
Mon Aug 23 21:24:31 2010
@@ -165,23 +165,6 @@ public class CodecTest extends TestCase
assertFalse(byte2s.encodes(256));
}
- public void testRunCodec() throws Exception {
- RunCodec runCodec = new RunCodec(1, Codec.UNSIGNED5, Codec.BYTE1);
- ByteArrayInputStream bais = new ByteArrayInputStream(new byte[] {
- (byte) 192, 0, (byte) 192, 0 });
- assertEquals(192, runCodec.decode(bais));
- assertEquals(192, runCodec.decode(bais));
- assertEquals(0, runCodec.decode(bais));
- assertEquals(0, bais.available());
- runCodec = new RunCodec(1, Codec.BYTE1, Codec.UNSIGNED5);
- bais = new ByteArrayInputStream(new byte[] { (byte) 192, 0, (byte) 192,
- 0 });
- assertEquals(192, runCodec.decode(bais));
- assertEquals(0, runCodec.decode(bais));
- assertEquals(192, runCodec.decode(bais));
- assertEquals(0, bais.available());
- }
-
public void testUnsigned5() throws Exception {
decode(Codec.UNSIGNED5, new byte[] { 1 }, 1, 0);
decode(Codec.UNSIGNED5, new byte[] { (byte) 191 }, 191, 0);
Modified: harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/test/java/org/apache/harmony/pack200/tests/PopulationCodecTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/test/java/org/apache/harmony/pack200/tests/PopulationCodecTest.java?rev=988315&r1=988314&r2=988315&view=diff
==============================================================================
--- harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/test/java/org/apache/harmony/pack200/tests/PopulationCodecTest.java
(original)
+++ harmony/enhanced/java/branches/java6/classlib/modules/pack200/src/test/java/org/apache/harmony/pack200/tests/PopulationCodecTest.java
Mon Aug 23 21:24:31 2010
@@ -22,6 +22,7 @@ import java.io.InputStream;
import junit.framework.TestCase;
+import org.apache.harmony.pack200.BHSDCodec;
import org.apache.harmony.pack200.Codec;
import org.apache.harmony.pack200.Pack200Exception;
import org.apache.harmony.pack200.PopulationCodec;
@@ -63,5 +64,20 @@ public class PopulationCodecTest extends
}
assertEquals(0, in.available());
}
+
+ public void testEncodeSingleValue() {
+ try {
+ new PopulationCodec(BHSDCodec.SIGNED5, BHSDCodec.SIGNED5, BHSDCodec.UDELTA5).encode(5);
+ fail("Should not allow a single value to be encoded as we don't know which codec
to use");
+ } catch (Pack200Exception e) {
+ // pass
+ }
+ try {
+ new PopulationCodec(BHSDCodec.SIGNED5, BHSDCodec.SIGNED5, BHSDCodec.UDELTA5).encode(5,
8);
+ fail("Should not allow a single value to be encoded as we don't know which codec
to use");
+ } catch (Pack200Exception e) {
+ // pass
+ }
+ }
}
Propchange: harmony/enhanced/java/branches/java6/drlvm/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Aug 23 21:24:31 2010
@@ -1,5 +1,5 @@
/harmony/enhanced/java/branches/mrh/drlvm:935751-941490
-/harmony/enhanced/java/trunk/drlvm:929253-979569,979593,979613,979615,979647,979659,979682,979897,980326,980632,981356,981763,981811,981820,982146,982148,982183,982250,982377,982498,982614,982650,982777,982887,983879,983902,984367,984577,984597-984598,984613,984682,984708,984731,984779,984784,984798,985098,985141,986136,986141,986147,986150,986205,986223-986224,986228,986248,986356,986603
+/harmony/enhanced/java/trunk/drlvm:929253-979569,979593,979613,979615,979647,979659,979682,979897,980326,980632,981356,981763,981811,981820,982146,982148,982183,982250,982377,982498,982614,982650,982777,982887,983879,983902,984367,984577,984597-984598,984613,984682,984708,984731,984779,984784,984798,985098,985141,986136,986141,986147,986150,986205,986223-986224,986228,986248,986356,986603,986626
/harmony/enhanced/trunk/drlvm:476395-929252
/harmony/enhanced/trunk/working_vm:476396-920147
/incubator/harmony/enhanced/trunk/drlvm:292550-476394
Propchange: harmony/enhanced/java/branches/java6/jdktools/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Aug 23 21:24:31 2010
@@ -1,4 +1,4 @@
-/harmony/enhanced/java/trunk/jdktools:929253-979569,979593,979613,979615,979647,979659,979682,979897,980326,980632,981356,981763,981811,981820,982146,982148,982183,982250,982377,982498,982614,982650,982777,982887,983879,983902,984367,984577,984597-984598,984613,984682,984708,984731,984779,984784,984798,985098,985141,986136,986141,986147,986150,986205,986223-986224,986228,986248,986356,986603
+/harmony/enhanced/java/trunk/jdktools:929253-979569,979593,979613,979615,979647,979659,979682,979897,980326,980632,981356,981763,981811,981820,982146,982148,982183,982250,982377,982498,982614,982650,982777,982887,983879,983902,984367,984577,984597-984598,984613,984682,984708,984731,984779,984784,984798,985098,985141,986136,986141,986147,986150,986205,986223-986224,986228,986248,986356,986603,986626
/harmony/enhanced/jdktools/trunk:630107-925933
/harmony/enhanced/trunk/jdktools:476395-929252
/harmony/enhanced/trunk/working_jdktools:476396-920147
|