Mercurial > hg > release > icedtea6-1.12
changeset 2889:8182b4c86fed
PR1117: IcedTea6 prebuilds far too many classes on bootstrap
2012-08-15 Andrew John Hughes <ahughes@redhat.com>
PR1117: IcedTea6 prebuilds far too many classes on bootstrap
* patches/ecj/hotspot.patch:
Removed; replaced by hotspot-jdk-dependency
We don't need to add rt.jar on the classpath
as well as the bootclasspath.
* Makefile.am:
(ICEDTEA_BOOTSTRAP_DIRS): Removed.
(ICEDTEA_BOOTSTRAP_CLASSES): Extend with new
cases found through building without
ICEDTEA_BOOTSTRAP_DIRS.
(ICEDTEA_ECJ_PATCHES): Add new patches, remove
hotspot.patch.
(rt-source-files.txt): Remove use of
ICEDTEA_BOOTSTRAP_CLASSES.
* NEWS: Updated.
* patches/ecj/7010849-make_sa-jdi_build_with_1.5.patch:
Backport from OpenJDK7. Allows the serviceability
agent to be compiled with 1.5. Added to bootstrap
only to reduce potential issues with the API change.
* patches/ecj/corba-dependencies.patch:
Point the CORBA build at the JDK sources as it
requires sun.tools.java.
* patches/ecj/hotspot-jdk-dependency.patch:
Point the HotSpot build at the JDK sources as it
requires com.sun.jdi for the serviceability agent.
Building com.sun.jdi requires 1.5+ source code and
thus 7010849 is necessary.
* patches/ecj/icedtea.patch:
Extend CORBA Defs-java changes so that it uses the
just-built langtools instead of the boot jdk's
tools.jar.
* patches/ecj/jaxws-jdk-dependency.patch:
Point the JAXWS build at the JDK sources as it
depends on com.sun.net.httpserver.
* patches/ecj/jaxws-langtools-dependency.patch:
Point the JAXWS build at the full langtools
distribution, rather than just javac/javah/javadoc
as it requires com.sun.mirror.
author | Andrew John Hughes <ahughes@redhat.com> |
---|---|
date | Wed, 15 Aug 2012 23:07:12 +0100 |
parents | a5758742058d |
children | b41a73ca64e6 |
files | ChangeLog Makefile.am NEWS patches/ecj/7010849-make_sa-jdi_build_with_1.5.patch patches/ecj/corba-dependencies.patch patches/ecj/hotspot-jdk-dependency.patch patches/ecj/hotspot.patch patches/ecj/icedtea.patch patches/ecj/jaxws-jdk-dependency.patch patches/ecj/jaxws-langtools-dependency.patch |
diffstat | 10 files changed, 590 insertions(+), 41 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Wed Aug 15 12:17:03 2012 +0100 +++ b/ChangeLog Wed Aug 15 23:07:12 2012 +0100 @@ -1,3 +1,44 @@ +2012-08-15 Andrew John Hughes <ahughes@redhat.com> + + PR1117: IcedTea6 prebuilds far too many classes on bootstrap + * patches/ecj/hotspot.patch: + Removed; replaced by hotspot-jdk-dependency + We don't need to add rt.jar on the classpath + as well as the bootclasspath. + * Makefile.am: + (ICEDTEA_BOOTSTRAP_DIRS): Removed. + (ICEDTEA_BOOTSTRAP_CLASSES): Extend with new + cases found through building without + ICEDTEA_BOOTSTRAP_DIRS. + (ICEDTEA_ECJ_PATCHES): Add new patches, remove + hotspot.patch. + (rt-source-files.txt): Remove use of + ICEDTEA_BOOTSTRAP_CLASSES. + * NEWS: Updated. + * patches/ecj/7010849-make_sa-jdi_build_with_1.5.patch: + Backport from OpenJDK7. Allows the serviceability + agent to be compiled with 1.5. Added to bootstrap + only to reduce potential issues with the API change. + * patches/ecj/corba-dependencies.patch: + Point the CORBA build at the JDK sources as it + requires sun.tools.java. + * patches/ecj/hotspot-jdk-dependency.patch: + Point the HotSpot build at the JDK sources as it + requires com.sun.jdi for the serviceability agent. + Building com.sun.jdi requires 1.5+ source code and + thus 7010849 is necessary. + * patches/ecj/icedtea.patch: + Extend CORBA Defs-java changes so that it uses the + just-built langtools instead of the boot jdk's + tools.jar. + * patches/ecj/jaxws-jdk-dependency.patch: + Point the JAXWS build at the JDK sources as it + depends on com.sun.net.httpserver. + * patches/ecj/jaxws-langtools-dependency.patch: + Point the JAXWS build at the full langtools + distribution, rather than just javac/javah/javadoc + as it requires com.sun.mirror. + 2012-08-14 Andrew John Hughes <ahughes@redhat.com> PR1113: Include tapset tests in distribution.
--- a/Makefile.am Wed Aug 15 12:17:03 2012 +0100 +++ b/Makefile.am Wed Aug 15 23:07:12 2012 +0100 @@ -62,31 +62,18 @@ SOURCEPATH_DIRS = $(abs_top_srcdir)/generated:$(OPENJDK_SOURCEPATH_DIRS) # Sources used from OpenJDK. -ICEDTEA_BOOTSTRAP_DIRS = \ - $(SHARE)/com/sun/jdi \ - $(SHARE)/com/sun/net/httpserver \ - $(SHARE)/com/sun/tools/jdi \ - $(SHARE)/java/io \ - $(SHARE)/java/security/cert \ - $(SHARE)/java/util \ - $(SHARE)/java/rmi \ - $(SHARE)/sun/awt/ \ - $(SHARE)/sun/nio/cs \ - $(SHARE)/sun/rmi/rmic \ - $(SHARE)/sun/tools/java \ - $(SHARE)/javax/net/ssl \ - $(SHARE)/javax/script \ - $(SHARE)/javax/security/auth/kerberos \ - $(SHARE)/javax/security/sasl \ - $(LANGTOOLS)/com/sun/mirror \ - $(LANGTOOLS)/com/sun/tools/apt # PR42003 - javax.swing.plaf.basic.BasicDirectoryModel # PR43389 - javax.management.StandardMBean +# PR54274 - sun.security.other requires missing X509CRLSelector methods +# PR54275 - sun.security.sasl requires missing Sasl.CREDENTIALS field ICEDTEA_BOOTSTRAP_CLASSES = \ $(SHARE)/javax/swing/plaf/basic/BasicDirectoryModel.java \ $(SHARE)/javax/management/StandardMBean.java \ - $(SHARE)/com/sun/java/swing/plaf/nimbus/NimbusLookAndFeel.java + $(SHARE)/com/sun/java/swing/plaf/nimbus/NimbusLookAndFeel.java \ + $(SHARE)/java/security/cert/X509CRLSelector.java \ + $(SHARE)/java/security/cert/X509CertSelector.java \ + $(SHARE)/javax/security/sasl/Sasl.java # Flags MEMORY_LIMIT = -J-Xmx1024m @@ -493,8 +480,9 @@ # Bootstrapping patches -ICEDTEA_ECJ_PATCHES = patches/ecj/icedtea.patch \ - patches/ecj/hotspot.patch \ +ICEDTEA_ECJ_PATCHES = \ + patches/ecj/7010849-make_sa-jdi_build_with_1.5.patch \ + patches/ecj/icedtea.patch \ patches/ecj/javafiles.patch \ patches/ecj/spp.patch \ patches/ecj/jopt.patch \ @@ -502,7 +490,11 @@ patches/ecj/bootver.patch \ patches/ecj/getannotation-cast.patch \ patches/ecj/override.patch \ - patches/ecj/xsltproc.patch + patches/ecj/xsltproc.patch \ + patches/ecj/corba-dependencies.patch \ + patches/ecj/jaxws-langtools-dependency.patch \ + patches/ecj/jaxws-jdk-dependency.patch \ + patches/ecj/hotspot-jdk-dependency.patch if DTDTYPE_QNAME ICEDTEA_ECJ_PATCHES += \ @@ -2422,10 +2414,6 @@ # rt.jar additional class files. rt-source-files.txt: $(OPENJDK_ECJ_TREE) - for dir in $(ICEDTEA_BOOTSTRAP_DIRS) ; \ - do \ - $(FIND) $(abs_top_builddir)/$$dir -name '*.java' >> $@; \ - done for files in $(ICEDTEA_BOOTSTRAP_CLASSES) ; \ do \ echo $$files >> $@ ; \
--- a/NEWS Wed Aug 15 12:17:03 2012 +0100 +++ b/NEWS Wed Aug 15 23:07:12 2012 +0100 @@ -22,6 +22,7 @@ - PR902: PulseAudioClip getMicrosecondsLength() returns length in milliseconds, not microseconds - PR1050: Stream objects not garbage collected - PR1113: Add tapset tests to distribution. + - PR1117: IcedTea6 prebuilds far too many classes on bootstrap * JamVM - ARMv6 armhf: Changes for Raspbian (Raspberry Pi) - PPC: Don't use lwsync if it isn't supported
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/ecj/7010849-make_sa-jdi_build_with_1.5.patch Wed Aug 15 23:07:12 2012 +0100 @@ -0,0 +1,394 @@ +# HG changeset patch +# User andrew +# Date 1301696137 25200 +# Node ID 37be97a5839376b2d2fa1d2ac1ab3a6cbe0653d0 +# Parent b025bffd6c2ca81c7c08f0dd2f4b2e0ba3223c05 +7010849: 5/5 Extraneous javac source/target options when building sa-jdi +Summary: Make code changes necessary to get rid of the '-source 1.4 -target 1.4' options. +Reviewed-by: dholmes, dcubed + +diff --git a/agent/src/share/classes/sun/jvm/hotspot/HelloWorld.java b/agent/src/share/classes/sun/jvm/hotspot/HelloWorld.java +--- openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/HelloWorld.java ++++ openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/HelloWorld.java +@@ -1,5 +1,5 @@ + /* +- * Copyright (c) 2000, 2001, Oracle and/or its affiliates. All rights reserved. ++ * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it +@@ -55,7 +55,7 @@ + synchronized(lock) { + if (useMethodInvoke) { + try { +- Method method = HelloWorld.class.getMethod("e", null); ++ Method method = HelloWorld.class.getMethod("e"); + Integer result = (Integer) method.invoke(null, new Object[0]); + return result.intValue(); + } +diff --git a/agent/src/share/classes/sun/jvm/hotspot/jdi/ByteValueImpl.java b/agent/src/share/classes/sun/jvm/hotspot/jdi/ByteValueImpl.java +--- openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/ByteValueImpl.java ++++ openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/ByteValueImpl.java +@@ -1,5 +1,5 @@ + /* +- * Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved. ++ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it +@@ -52,12 +52,10 @@ + return intValue(); + } + +- public int compareTo(Object obj) { +- byte other = ((ByteValue)obj).value(); +- return value() - other; ++ public int compareTo(ByteValue byteVal) { ++ return value() - byteVal.value(); + } + +- + public Type type() { + return vm.theByteType(); + } +diff --git a/agent/src/share/classes/sun/jvm/hotspot/jdi/CharValueImpl.java b/agent/src/share/classes/sun/jvm/hotspot/jdi/CharValueImpl.java +--- openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/CharValueImpl.java ++++ openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/CharValueImpl.java +@@ -1,5 +1,5 @@ + /* +- * Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved. ++ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it +@@ -52,9 +52,8 @@ + return intValue(); + } + +- public int compareTo(Object obj) { +- char other = ((CharValue)obj).value(); +- return value() - other; ++ public int compareTo(CharValue charVal) { ++ return value() - charVal.value(); + } + + public Type type() { +diff --git a/agent/src/share/classes/sun/jvm/hotspot/jdi/ConnectorImpl.java b/agent/src/share/classes/sun/jvm/hotspot/jdi/ConnectorImpl.java +--- openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/ConnectorImpl.java ++++ openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/ConnectorImpl.java +@@ -1,5 +1,5 @@ + /* +- * Copyright (c) 2002, 2004, Oracle and/or its affiliates. All rights reserved. ++ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it +@@ -186,7 +186,7 @@ + // assert isVMVersionMismatch(throwable), "not a VMVersionMismatch" + Class expClass = throwable.getClass(); + Method targetVersionMethod = expClass.getMethod("getTargetVersion", new Class[0]); +- return (String) targetVersionMethod.invoke(throwable, null); ++ return (String) targetVersionMethod.invoke(throwable); + } + + /** If the causal chain has a sun.jvm.hotspot.runtime.VMVersionMismatchException, +diff --git a/agent/src/share/classes/sun/jvm/hotspot/jdi/DoubleValueImpl.java b/agent/src/share/classes/sun/jvm/hotspot/jdi/DoubleValueImpl.java +--- openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/DoubleValueImpl.java ++++ openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/DoubleValueImpl.java +@@ -1,5 +1,5 @@ + /* +- * Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved. ++ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it +@@ -45,8 +45,8 @@ + } + } + +- public int compareTo(Object obj) { +- double other = ((DoubleValue)obj).value(); ++ public int compareTo(DoubleValue doubleVal) { ++ double other = doubleVal.value(); + if (value() < other) { + return -1; + } else if (value() == other) { +diff --git a/agent/src/share/classes/sun/jvm/hotspot/jdi/FieldImpl.java b/agent/src/share/classes/sun/jvm/hotspot/jdi/FieldImpl.java +--- openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/FieldImpl.java ++++ openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/FieldImpl.java +@@ -145,8 +145,7 @@ + } + + // From interface Comparable +- public int compareTo(Object object) { +- Field field = (Field)object; ++ public int compareTo(Field field) { + ReferenceTypeImpl declaringType = (ReferenceTypeImpl)declaringType(); + int rc = declaringType.compareTo(field.declaringType()); + if (rc == 0) { +diff --git a/agent/src/share/classes/sun/jvm/hotspot/jdi/FloatValueImpl.java b/agent/src/share/classes/sun/jvm/hotspot/jdi/FloatValueImpl.java +--- openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/FloatValueImpl.java ++++ openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/FloatValueImpl.java +@@ -1,5 +1,5 @@ + /* +- * Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved. ++ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it +@@ -52,8 +52,8 @@ + return intValue(); + } + +- public int compareTo(Object obj) { +- float other = ((FloatValue)obj).value(); ++ public int compareTo(FloatValue floatVal) { ++ float other = floatVal.value(); + if (value() < other) { + return -1; + } else if (value() == other) { +diff --git a/agent/src/share/classes/sun/jvm/hotspot/jdi/IntegerValueImpl.java b/agent/src/share/classes/sun/jvm/hotspot/jdi/IntegerValueImpl.java +--- openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/IntegerValueImpl.java ++++ openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/IntegerValueImpl.java +@@ -1,5 +1,5 @@ + /* +- * Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved. ++ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it +@@ -52,9 +52,8 @@ + return intValue(); + } + +- public int compareTo(Object obj) { +- int other = ((IntegerValue)obj).value(); +- return value() - other; ++ public int compareTo(IntegerValue integerVal) { ++ return value() - integerVal.value(); + } + + public Type type() { +diff --git a/agent/src/share/classes/sun/jvm/hotspot/jdi/LocalVariableImpl.java b/agent/src/share/classes/sun/jvm/hotspot/jdi/LocalVariableImpl.java +--- openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/LocalVariableImpl.java ++++ openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/LocalVariableImpl.java +@@ -1,5 +1,5 @@ + /* +- * Copyright (c) 2002, 2004, Oracle and/or its affiliates. All rights reserved. ++ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it +@@ -67,8 +67,8 @@ + return (int)method.hashCode() + slot(); + } + +- public int compareTo(Object object) { +- LocalVariableImpl other = (LocalVariableImpl)object; ++ public int compareTo(LocalVariable localVar) { ++ LocalVariableImpl other = (LocalVariableImpl) localVar; + int rc = method.compareTo(other.method); + if (rc == 0) { + rc = slot() - other.slot(); +diff --git a/agent/src/share/classes/sun/jvm/hotspot/jdi/LocationImpl.java b/agent/src/share/classes/sun/jvm/hotspot/jdi/LocationImpl.java +--- openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/LocationImpl.java ++++ openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/LocationImpl.java +@@ -1,5 +1,5 @@ + /* +- * Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved. ++ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it +@@ -78,8 +78,7 @@ + return method().hashCode() + (int)codeIndex(); + } + +- public int compareTo(Object object) { +- LocationImpl other = (LocationImpl)object; ++ public int compareTo(Location other) { + int rc = method().compareTo(other.method()); + if (rc == 0) { + long diff = codeIndex() - other.codeIndex(); +diff --git a/agent/src/share/classes/sun/jvm/hotspot/jdi/LongValueImpl.java b/agent/src/share/classes/sun/jvm/hotspot/jdi/LongValueImpl.java +--- openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/LongValueImpl.java ++++ openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/LongValueImpl.java +@@ -1,5 +1,5 @@ + /* +- * Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved. ++ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it +@@ -52,8 +52,8 @@ + return intValue(); + } + +- public int compareTo(Object obj) { +- long other = ((LongValue)obj).value(); ++ public int compareTo(LongValue longVal) { ++ long other = longVal.value(); + if (value() < other) { + return -1; + } else if (value() == other) { +diff --git a/agent/src/share/classes/sun/jvm/hotspot/jdi/MethodImpl.java b/agent/src/share/classes/sun/jvm/hotspot/jdi/MethodImpl.java +--- openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/MethodImpl.java ++++ openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/MethodImpl.java +@@ -1,5 +1,5 @@ + /* +- * Copyright (c) 2002, 2005, Oracle and/or its affiliates. All rights reserved. ++ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it +@@ -200,8 +200,7 @@ + } + + // From interface Comparable +- public int compareTo(Object object) { +- Method method = (Method)object; ++ public int compareTo(Method method) { + ReferenceTypeImpl declaringType = (ReferenceTypeImpl)declaringType(); + int rc = declaringType.compareTo(method.declaringType()); + if (rc == 0) { +diff --git a/agent/src/share/classes/sun/jvm/hotspot/jdi/ReferenceTypeImpl.java b/agent/src/share/classes/sun/jvm/hotspot/jdi/ReferenceTypeImpl.java +--- openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/ReferenceTypeImpl.java ++++ openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/ReferenceTypeImpl.java +@@ -1,5 +1,5 @@ + /* +- * Copyright (c) 2002, 2005, Oracle and/or its affiliates. All rights reserved. ++ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it +@@ -99,7 +99,7 @@ + return saKlass.hashCode(); + } + +- public int compareTo(Object object) { ++ public int compareTo(ReferenceType refType) { + /* + * Note that it is critical that compareTo() == 0 + * implies that equals() == true. Otherwise, TreeSet +@@ -108,7 +108,7 @@ + * (Classes of the same name loaded by different class loaders + * or in different VMs must not return 0). + */ +- ReferenceTypeImpl other = (ReferenceTypeImpl)object; ++ ReferenceTypeImpl other = (ReferenceTypeImpl)refType; + int comp = name().compareTo(other.name()); + if (comp == 0) { + Oop rf1 = ref(); +diff --git a/agent/src/share/classes/sun/jvm/hotspot/jdi/ShortValueImpl.java b/agent/src/share/classes/sun/jvm/hotspot/jdi/ShortValueImpl.java +--- openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/ShortValueImpl.java ++++ openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/ShortValueImpl.java +@@ -1,5 +1,5 @@ + /* +- * Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved. ++ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it +@@ -52,9 +52,8 @@ + return intValue(); + } + +- public int compareTo(Object obj) { +- short other = ((ShortValue)obj).value(); +- return value() - other; ++ public int compareTo(ShortValue shortVal) { ++ return value() - shortVal.value(); + } + + public Type type() { +diff --git a/agent/src/share/classes/sun/jvm/hotspot/jdi/VirtualMachineImpl.java b/agent/src/share/classes/sun/jvm/hotspot/jdi/VirtualMachineImpl.java +--- openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/VirtualMachineImpl.java ++++ openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/VirtualMachineImpl.java +@@ -1,5 +1,5 @@ + /* +- * Copyright (c) 2002, 2006, Oracle and/or its affiliates. All rights reserved. ++ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it +@@ -798,12 +798,11 @@ + } + + public String description() { +- String[] versionParts = {"" + vmmgr.majorInterfaceVersion(), +- "" + vmmgr.minorInterfaceVersion(), +- name()}; + return java.text.MessageFormat.format(java.util.ResourceBundle. + getBundle("com.sun.tools.jdi.resources.jdi").getString("version_format"), +- versionParts); ++ "" + vmmgr.majorInterfaceVersion(), ++ "" + vmmgr.minorInterfaceVersion(), ++ name()); + } + + public String version() { +diff --git a/make/linux/makefiles/sa.make b/make/linux/makefiles/sa.make +--- openjdk-ecj/hotspot/make/linux/makefiles/sa.make ++++ openjdk-ecj/hotspot/make/linux/makefiles/sa.make +@@ -1,5 +1,5 @@ + # +-# Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. ++# Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved. + # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + # + # This code is free software; you can redistribute it and/or modify it +@@ -97,8 +97,8 @@ + $(foreach file,$(AGENT_FILES1),$(shell echo $(file) >> $(AGENT_FILES1_LIST))) + $(foreach file,$(AGENT_FILES2),$(shell echo $(file) >> $(AGENT_FILES2_LIST))) + +- $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES1_LIST) +- $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES2_LIST) ++ $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES1_LIST) ++ $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES2_LIST) + + $(QUIETLY) $(REMOTE) $(COMPILE.RMIC) -classpath $(SA_CLASSDIR) -d $(SA_CLASSDIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer + $(QUIETLY) echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES) +diff --git a/make/solaris/makefiles/sa.make b/make/solaris/makefiles/sa.make +--- openjdk-ecj/hotspot/make/solaris/makefiles/sa.make ++++ openjdk-ecj/hotspot/make/solaris/makefiles/sa.make +@@ -1,5 +1,5 @@ + # +-# Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. ++# Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved. + # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + # + # This code is free software; you can redistribute it and/or modify it +@@ -88,8 +88,8 @@ + $(foreach file,$(AGENT_FILES1),$(shell echo $(file) >> $(AGENT_FILES1_LIST))) + $(foreach file,$(AGENT_FILES2),$(shell echo $(file) >> $(AGENT_FILES2_LIST))) + +- $(QUIETLY) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES1_LIST) +- $(QUIETLY) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES2_LIST) ++ $(QUIETLY) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES1_LIST) ++ $(QUIETLY) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES2_LIST) + + $(QUIETLY) $(COMPILE.RMIC) -classpath $(SA_CLASSDIR) -d $(SA_CLASSDIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer + $(QUIETLY) echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES) +diff --git a/make/windows/makefiles/sa.make b/make/windows/makefiles/sa.make +--- openjdk-ecj/hotspot/make/windows/makefiles/sa.make ++++ openjdk-ecj/hotspot/make/windows/makefiles/sa.make +@@ -1,5 +1,5 @@ + # +-# Copyright (c) 2003, 2009, Oracle and/or its affiliates. All rights reserved. ++# Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved. + # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + # + # This code is free software; you can redistribute it and/or modify it +@@ -55,9 +55,9 @@ + $(GENERATED)\sa-jdi.jar: $(AGENT_FILES1:/=\) $(AGENT_FILES2:/=\) + @if not exist $(SA_CLASSDIR) mkdir $(SA_CLASSDIR) + @echo ...Building sa-jdi.jar +- @echo ...$(COMPILE_JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -d $(SA_CLASSDIR) .... +- @$(COMPILE_JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) $(AGENT_FILES1:/=\) +- @$(COMPILE_JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) $(AGENT_FILES2:/=\) ++ @echo ...$(COMPILE_JAVAC) -classpath $(SA_CLASSPATH) -d $(SA_CLASSDIR) .... ++ @$(COMPILE_JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) $(AGENT_FILES1:/=\) ++ @$(COMPILE_JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) $(AGENT_FILES2:/=\) + $(COMPILE_RMIC) -classpath $(SA_CLASSDIR) -d $(SA_CLASSDIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer + $(QUIETLY) echo $(SA_BUILD_VERSION_PROP)> $(SA_PROPERTIES) + $(QUIETLY) rm -f $(SA_CLASSDIR)/sun/jvm/hotspot/utilities/soql/sa.js
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/ecj/corba-dependencies.patch Wed Aug 15 23:07:12 2012 +0100 @@ -0,0 +1,17 @@ +diff -Nru openjdk.orig/corba/make/common/Rules.gmk openjdk/corba/make/common/Rules.gmk +--- openjdk-ecj.orig/corba/make/common/Rules.gmk 2012-08-15 16:52:40.749869095 +0100 ++++ openjdk-ecj/corba/make/common/Rules.gmk 2012-08-15 16:59:16.800640493 +0100 +@@ -202,9 +202,11 @@ + $(CAT) $(JAVA_SOURCE_LIST); \ + $(ECHO) "# Running javac:"; \ + $(ECHO) $(JAVAC_CMD) $(JAVAC_PREFER_SOURCE) -bootclasspath $(ICEDTEA_RT):$(CLASSBINDIR) \ +- -sourcepath "$(SOURCEPATH)" -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST); \ ++ -sourcepath "$(SOURCEPATH):$(JDK_TOPDIR)/src/share/classes:$(JDK_TOPDIR)/src/solaris/classes" \ ++ -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST); \ + $(JAVAC_CMD) $(JAVAC_PREFER_SOURCE) -bootclasspath $(ICEDTEA_RT):$(CLASSBINDIR) \ +- -sourcepath "$(SOURCEPATH)" -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST); \ ++ -sourcepath "$(SOURCEPATH):$(JDK_TOPDIR)/src/share/classes:$(JDK_TOPDIR)/src/solaris/classes" \ ++ -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST); \ + fi + @$(java-vm-cleanup) +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/ecj/hotspot-jdk-dependency.patch Wed Aug 15 23:07:12 2012 +0100 @@ -0,0 +1,25 @@ +diff -Nru openjdk-ecj.orig/hotspot/make/linux/makefiles/sa.make openjdk-ecj/hotspot/make/linux/makefiles/sa.make +--- openjdk-ecj.orig/hotspot/make/linux/makefiles/sa.make 2012-05-01 22:15:06.000000000 +0100 ++++ openjdk-ecj/hotspot/make/linux/makefiles/sa.make 2012-08-15 19:43:49.830577295 +0100 +@@ -97,8 +97,8 @@ + $(foreach file,$(AGENT_FILES1),$(shell echo $(file) >> $(AGENT_FILES1_LIST))) + $(foreach file,$(AGENT_FILES2),$(shell echo $(file) >> $(AGENT_FILES2_LIST))) + +- $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES1_LIST) +- $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES2_LIST) ++ $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR):$(JDK_TOPDIR)/src/share/classes:$(JDK_TOPDIR)/src/solaris/classes:$(GENSRCDIR) -d $(SA_CLASSDIR) @$(AGENT_FILES1_LIST) ++ $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR):$(JDK_TOPDIR)/src/share/classes:$(JDK_TOPDIR)/src/solaris/classes:$(GENSRCDIR) -d $(SA_CLASSDIR) @$(AGENT_FILES2_LIST) + + $(QUIETLY) $(REMOTE) $(COMPILE.RMIC) -classpath $(SA_CLASSDIR) -d $(SA_CLASSDIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer + $(QUIETLY) echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES) +diff -Nru openjdk-ecj.orig/make/hotspot-rules.gmk openjdk-ecj/make/hotspot-rules.gmk +--- openjdk-ecj.orig/make/hotspot-rules.gmk 2012-05-01 22:13:57.000000000 +0100 ++++ openjdk-ecj/make/hotspot-rules.gmk 2012-08-15 19:44:23.215116331 +0100 +@@ -83,6 +83,7 @@ + HOTSPOT_BUILD_ARGUMENTS += $(COMMON_BUILD_ARGUMENTS) + HOTSPOT_BUILD_ARGUMENTS += ALT_OUTPUTDIR=$(HOTSPOT_OUTPUTDIR) + HOTSPOT_BUILD_ARGUMENTS += ALT_EXPORT_PATH=$(HOTSPOT_EXPORT_PATH) ++HOTSPOT_BUILD_ARGUMENTS += GENSRCDIR=$(GENSRCDIR) + + # Why do these need to be passed in? Because of windows nmake? and MAKEFLAGS=? + # Or is there something wrong with hotspot/make/Makefile?
--- a/patches/ecj/hotspot.patch Wed Aug 15 12:17:03 2012 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,14 +0,0 @@ -diff -Nru openjdk-ecj.orig/hotspot/make/linux/makefiles/sa.make openjdk-ecj/hotspot/make/linux/makefiles/sa.make ---- openjdk-ecj.orig/hotspot/make/linux/makefiles/sa.make 2010-03-29 21:34:15.000000000 +0100 -+++ openjdk-ecj/hotspot/make/linux/makefiles/sa.make 2010-03-29 21:41:28.000000000 +0100 -@@ -80,8 +80,8 @@ - $(foreach file,$(AGENT_FILES1),$(shell echo $(file) >> $(AGENT_FILES1_LIST))) - $(foreach file,$(AGENT_FILES2),$(shell echo $(file) >> $(AGENT_FILES2_LIST))) - -- $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES1_LIST) -- $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES2_LIST) -+ $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH):$(BOOT_JAVA_HOME)/jre/lib/rt.jar -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES1_LIST) -+ $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH):$(BOOT_JAVA_HOME)/jre/lib/rt.jar -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES2_LIST) - - $(QUIETLY) $(REMOTE) $(COMPILE.RMIC) -classpath $(SA_CLASSDIR) -d $(SA_CLASSDIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer - $(QUIETLY) echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES)
--- a/patches/ecj/icedtea.patch Wed Aug 15 12:17:03 2012 +0100 +++ b/patches/ecj/icedtea.patch Wed Aug 15 23:07:12 2012 +0100 @@ -346,7 +346,9 @@ diff -Nru openjdk-ecj.orig/corba/make/common/shared/Defs-java.gmk openjdk-ecj/corba/make/common/shared/Defs-java.gmk --- openjdk-ecj.orig/corba/make/common/shared/Defs-java.gmk 2012-01-18 16:50:57.569109033 +0000 +++ openjdk-ecj/corba/make/common/shared/Defs-java.gmk 2012-01-18 21:43:04.150185964 +0000 -@@ -120,31 +120,13 @@ +@@ -120,32 +120,14 @@ +-JAVACFLAGS += -classpath $(BOOTDIR)/lib/tools.jar ++JAVACFLAGS += -classpath $(LANGTOOLS_DIST)/lib/classes.jar JAVACFLAGS += $(OTHER_JAVACFLAGS) # Needed for javah
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/ecj/jaxws-jdk-dependency.patch Wed Aug 15 23:07:12 2012 +0100 @@ -0,0 +1,47 @@ +diff -Nru openjdk-ecj.orig/jaxws/build.properties openjdk-ecj/jaxws/build.properties +--- openjdk-ecj.orig/jaxws/build.properties 2012-08-15 18:46:16.919765424 +0100 ++++ openjdk-ecj/jaxws/build.properties 2012-08-15 18:47:22.540691870 +0100 +@@ -66,6 +66,10 @@ + # JAXP built files + jaxp.classes.dir=${output.dir}/../jaxp/build/classes + ++# JDK sources ++ ++jdk.sources=${jdk.topdir}/src/share/classes:${jdk.topdir}/src/solaris/classes ++ + # Distributed results + dist.dir=${output.dir}/dist + dist.lib.dir=${dist.dir}/lib +@@ -110,6 +114,7 @@ + dist.dir=${dist.dir}${line.separator}\ + drop.dir=${drop.dir}${line.separator}\ + drops.dir=${drops.dir}${line.separator}\ ++ jdk.topdir=${jdk.topdir}${line.separator}\ + ${line.separator} + + # Failure messages when source cannot be found on the file system +diff -Nru openjdk-ecj.orig/jaxws/build.xml openjdk-ecj/jaxws/build.xml +--- openjdk-ecj.orig/jaxws/build.xml 2012-08-15 18:46:16.919765424 +0100 ++++ openjdk-ecj/jaxws/build.xml 2012-08-15 18:46:41.328109723 +0100 +@@ -125,6 +125,7 @@ + <javac + includeAntRuntime="false" + classpath="${jaxp.classes.dir}:${build.classes.dir}:${langtools.jar}" ++ sourcepath="${jdk.sources}" + fork="true" + destdir="${build.classes.dir}" + memoryInitialSize="${javac.memoryInitialSize}" +diff -Nru openjdk-ecj.orig/jaxws/make/Makefile openjdk-ecj/jaxws/make/Makefile +--- openjdk-ecj.orig/jaxws/make/Makefile 2012-08-15 18:46:16.923765481 +0100 ++++ openjdk-ecj/jaxws/make/Makefile 2012-08-15 18:46:41.328109723 +0100 +@@ -140,6 +140,10 @@ + endif + endif + ++ifdef JDK_TOPDIR ++ ANT_OPTIONS += -Djdk.topdir=$(JDK_TOPDIR) ++endif ++ + # Default target and expected 'do everything' target + default: all +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/ecj/jaxws-langtools-dependency.patch Wed Aug 15 23:07:12 2012 +0100 @@ -0,0 +1,48 @@ +diff -Nru openjdk-boot.orig/jaxws/build.properties openjdk-boot/jaxws/build.properties +--- openjdk-ecj.orig/jaxws/build.properties 2011-03-08 18:42:23.703875234 +0000 ++++ openjdk-ecj/jaxws/build.properties 2011-03-08 18:40:33.955159212 +0000 +@@ -32,7 +32,8 @@ + # other tools, and product versions of all the tools. + # Override this path as needed, either on the command line or in + # one of the standard user build.properties files (see build.xml) +-javac.jar=${bootstrap.dir}/lib/javac.jar ++javac.jar=${langtools.dist}/bootstrap/lib/javac.jar ++langtools.jar=${langtools.dist}/lib/classes.jar + + # The tools.jar is needed in the classpath to compile these sources + jdk.home=${java.home}/.. +@@ -93,8 +94,9 @@ + os.name=${os.name}${line.separator}\ + os.arch=${os.arch}${line.separator}\ + os.version=${os.version}${line.separator}\ +- bootstrap.dir=${bootstrap.dir}${line.separator}\ ++ bootstrap.dir=${langtools.dist}/bootstrap${line.separator}\ + javac.jar=${javac.jar}${line.separator}\ ++ langtools.jar=${langtools.jar}${line.separator}\ + javac.memoryInitialSize=${javac.memoryInitialSize}${line.separator}\ + javac.memoryMaximumSize=${javac.memoryMaximumSize}${line.separator}\ + javac.source=${javac.source}${line.separator}\ +diff -Nru openjdk-boot.orig/jaxws/build.xml openjdk-boot/jaxws/build.xml +--- openjdk-ecj.orig/jaxws/build.xml 2011-03-08 18:43:11.778436442 +0000 ++++ openjdk-ecj/jaxws/build.xml 2011-03-08 18:40:29.639288336 +0000 +@@ -124,7 +124,7 @@ + <mkdir dir="${build.classes.dir}"/> + <javac + includeAntRuntime="false" +- classpath="${jaxp.classes.dir}:${build.classes.dir}:${tools.jar}" ++ classpath="${jaxp.classes.dir}:${build.classes.dir}:${langtools.jar}" + fork="true" + destdir="${build.classes.dir}" + memoryInitialSize="${javac.memoryInitialSize}" +diff -Nru openjdk-boot.orig/jaxws/make/Makefile openjdk-boot/jaxws/make/Makefile +--- openjdk-ecj.orig/jaxws/make/Makefile 2011-03-08 18:41:00.178374622 +0000 ++++ openjdk-ecj/jaxws/make/Makefile 2011-03-08 18:40:14.167751211 +0000 +@@ -120,7 +120,7 @@ + ANT_JAVA_HOME = JAVA_HOME=$(ALT_BOOTDIR) + ANT_OPTIONS += -Djdk.home=$(ALT_BOOTDIR) + endif +- ANT_OPTIONS += -Dbootstrap.dir=$(ALT_LANGTOOLS_DIST)/bootstrap ++ ANT_OPTIONS += -Dlangtools.dist=$(ALT_LANGTOOLS_DIST) + else + ifdef ALT_JDK_IMPORT_PATH + ANT_JAVA_HOME = JAVA_HOME=$(ALT_JDK_IMPORT_PATH)