From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 00:41:51 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 08:41:51 +0000 Subject: [Bug 448] New: cacao fails to load icedtea plugin because ManagementFactory is broken on cacao VM Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=448 Summary: cacao fails to load icedtea plugin because ManagementFactory is broken on cacao VM Product: IcedTea Version: 6-1.7 Platform: all OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: CACAO AssignedTo: unassigned at icedtea.classpath.org ReportedBy: xerxes at zafena.se testcase load any java applet using the icedtea browser plugin http://oneslime.net a reduced testcase for cacao exist in the debian bug #506130 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=506130 result cacao hits exception when loading the applet: Exception in thread "Applet" java.lang.InternalError: Unsupported Management version at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1747) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1664) at java.lang.Runtime.loadLibrary0(Runtime.java:840) at java.lang.System.loadLibrary(System.java:1047) at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:67) at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:47) at java.security.AccessController.doPrivileged(Native Method) at sun.management.ManagementFactory.(ManagementFactory.java:485) at java.lang.management.ManagementFactory.getThreadMXBean(ManagementFactory.java:391) at net.sourceforge.jnlp.Launcher.setContextClassLoaderForAllThreads(Launcher.java:476) at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:598) at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:547) at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:728) java.lang.NullPointerException at net.sourceforge.jnlp.NetxPanel.runLoader(NetxPanel.java:99) at sun.applet.AppletPanel.run(AppletPanel.java:380) at java.lang.Thread.run(Thread.java:636) java.lang.NullPointerException at sun.applet.AppletPanel.run(AppletPanel.java:430) at java.lang.Thread.run(Thread.java:636) -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From mjw at icedtea.classpath.org Mon Mar 1 00:49:23 2010 From: mjw at icedtea.classpath.org (mjw at icedtea.classpath.org) Date: Mon, 01 Mar 2010 08:49:23 +0000 Subject: /hg/icedtea6: Don't add generated dir to bootclasspath in langto... Message-ID: changeset 7c740ee6ff74 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=7c740ee6ff74 author: Mark Wielaard date: Mon Mar 01 09:41:01 2010 +0100 Don't add generated dir to bootclasspath in langtools/make/build.xml. 2010-03-01 Mark Wielaard * patches/ecj/icedtea.patch: Don't add generated dir to bootclasspath in langtools/make/build.xml. diffstat: 2 files changed, 7 insertions(+), 2 deletions(-) ChangeLog | 5 +++++ patches/ecj/icedtea.patch | 4 ++-- diffs (33 lines): diff -r b849c299f6ff -r 7c740ee6ff74 ChangeLog --- a/ChangeLog Fri Feb 26 21:56:21 2010 +0100 +++ b/ChangeLog Mon Mar 01 09:41:01 2010 +0100 @@ -1,3 +1,8 @@ 2010-02-26 Mark Wielaard + + * patches/ecj/icedtea.patch: Don't add generated dir to + bootclasspath in langtools/make/build.xml. + 2010-02-26 Mark Wielaard * patches/openjdk/6928623-verbose-langtools.patch: New patch. diff -r b849c299f6ff -r 7c740ee6ff74 patches/ecj/icedtea.patch --- a/patches/ecj/icedtea.patch Fri Feb 26 21:56:21 2010 +0100 +++ b/patches/ecj/icedtea.patch Mon Mar 01 09:41:01 2010 +0100 @@ -902,7 +902,7 @@ diff -Nru openjdk-ecj.orig/langtools/mak includeAntRuntime="no" source="@{javac.source}" target="@{javac.target}"> -+ ++ @@ -910,7 +910,7 @@ diff -Nru openjdk-ecj.orig/langtools/mak target="@{javac.target}" debug="${javac.debug}" debuglevel="${javac.debuglevel}"> -+ ++ From mark at klomp.org Mon Mar 1 00:53:32 2010 From: mark at klomp.org (Mark Wielaard) Date: Mon, 01 Mar 2010 09:53:32 +0100 Subject: IcedTea6 build failed for a47b53c08a6a In-Reply-To: <20100219140105.GW11988@rivendell.middle-earth.co.uk> References: <20100219140105.GW11988@rivendell.middle-earth.co.uk> Message-ID: <1267433612.2349.19.camel@hermans.wildebeest.org> Hi, On Fri, 2010-02-19 at 14:01 +0000, Andrew John Hughes wrote: > On 22:20 Thu 18 Feb , GNU Classpath Developer wrote: > > The current IcedTea build fails. > > Possibly, but not necessarily, because of one of these changes: > > > > rev: a47b53c08a6a > > user: Andrew John Hughes > > date: Thu Feb 18 22:02:18 2010 +0000 > > > > Remove hotspot-tools build to simplify bootstrapping. > > Explicitly create the destination directory for the class rewriter. > > > [...] > > > > build-bootstrap-javac: > > [mkdir] Created dir: /home/cpdev/icedtea6-build/openjdk-ecj/build/linux-i586/langtools/build/bootstrap/gensrc > > [mkdir] Created dir: /home/cpdev/icedtea6-build/openjdk-ecj/build/linux-i586/langtools/build/bootstrap/classes > > [pcompile] Generating 7 resource files to /home/cpdev/icedtea6-build/openjdk-ecj/build/linux-i586/langtools/build/bootstrap/gensrc > > [copy] Copying 1 file to /home/cpdev/icedtea6-build/openjdk-ecj/build/linux-i586/langtools/build/bootstrap/gensrc > > [pcompile] Generating 1 resource files to /home/cpdev/icedtea6-build/openjdk-ecj/build/linux-i586/langtools/build/bootstrap/gensrc > > [javac] Compiling 8 source files to /home/cpdev/icedtea6-build/openjdk-ecj/build/linux-i586/langtools/build/bootstrap/classes > > [javac] Compiling 244 source files to /home/cpdev/icedtea6-build/openjdk-ecj/build/linux-i586/langtools/build/bootstrap/classes > > [javac] ---------- > > [javac] 1. ERROR in /home/cpdev/icedtea6-build/openjdk-ecj/langtools/../../generated/java/nio/CharBuffer.java (at line 460) > > [javac] return new StringCharBuffer(csq, start, end); > > [javac] ^^^^^^^^^^^^^^^^ > > [javac] StringCharBuffer cannot be resolved to a type > > [javac] ---------- > > [javac] 2. ERROR in /home/cpdev/icedtea6-build/openjdk-ecj/langtools/../../generated/java/nio/CharBuffer.java (at line 666) > > [javac] checkBounds(offset, length, dst.length); > > [javac] ^^^^^^^^^^^ > > [javac] The method checkBounds(int, int, int) is undefined for the type CharBuffer > > [javac] ---------- > > [javac] 3. ERROR in /home/cpdev/icedtea6-build/openjdk-ecj/langtools/../../generated/java/nio/CharBuffer.java (at line 801) > > [javac] checkBounds(offset, length, src.length); > > [javac] ^^^^^^^^^^^ > > [javac] The method checkBounds(int, int, int) is undefined for the type CharBuffer > > [javac] ---------- > > [javac] 4. ERROR in /home/cpdev/icedtea6-build/openjdk-ecj/langtools/../../generated/java/nio/CharBuffer.java (at line 888) > > [javac] checkBounds(start, end - start, src.length()); > > [javac] ^^^^^^^^^^^ > > [javac] The method checkBounds(int, int, int) is undefined for the type CharBuffer > > [javac] ---------- > > [javac] 5. ERROR in /home/cpdev/icedtea6-build/openjdk-ecj/langtools/../../generated/java/nio/CharBuffer.java (at line 1213) > > [javac] return get(position() + checkIndex(index, 1)); > > [javac] ^^^^^^^^^^ > > [javac] The method checkIndex(int) in the type Buffer is not applicable for the arguments (int, int) > > [javac] ---------- > > [javac] 5 problems (5 errors) > > > > BUILD FAILED > > /home/cpdev/icedtea6-build/openjdk-ecj/langtools/make/build.xml:192: The following error occurred while executing this line: > > /home/cpdev/icedtea6-build/openjdk-ecj/langtools/make/build.xml:431: The following error occurred while executing this line: > > /home/cpdev/icedtea6-build/openjdk-ecj/langtools/make/build.xml:472: The following error occurred while executing this line: > > /home/cpdev/icedtea6-build/openjdk-ecj/langtools/make/build.xml:542: Compile failed; see the compiler error output for details. > > > > Total time: 22 seconds > > make[2]: *** [build] Error 1 > > make[2]: Leaving directory `/home/cpdev/icedtea6-build/openjdk-ecj/langtools/make' > > make[1]: *** [langtools-build] Error 2 > > make[1]: Leaving directory `/home/cpdev/icedtea6-build/openjdk-ecj' > > make: *** [stamps/icedtea-ecj.stamp] Error 2 > > Ok, I give up. I have no idea what is wrong with the build on this > machine. Finally made progress on this. There are multiple issues: - For some reason the generated/ directory, containing only source files, was explicitly added to the bootstrap classpath by one of our patches. This is unnecessary, the .class versions are available, but caused the version of ecj on the machine to "helpfully" try to compile them. This was easily fixed: 2010-03-01 Mark Wielaard * patches/ecj/icedtea.patch: Don't add generated dir to bootclasspath in langtools/make/build.xml. That didn't fully fix it, and later on in bootstrapping corba one would get an unexpected issue with one source file trying to use sun.security.action.GetPropertyAction. This was caused by a buggy gjar on the machine. We really should have a configure check to detect this gjar -u bug: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36636 For now I added --with-jar=faster to the configure line. This almost fixes the bootstrap issue, except we are getting: [javac] 1. ERROR in /home/cpdev/icedtea6-build/openjdk-ecj/build/linux-i586/jaxws/drop/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StAXEventConnector.java (at line 279) [javac] String type = staxAttr.getDTDType(); [javac] ^^^^^^^^^^^^^^^^^^^^^ [javac] Type mismatch: cannot convert from QName to String This seems to have a fix/workaround in icedtea7 (patches/icedtea-jaxws-getdtdtype.patch). I am testing a backport to icedtea6 Cheers, Mark -------------- next part -------------- A non-text attachment was scrubbed... Name: bootclasspath.patch Type: text/x-patch Size: 1443 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100301/67fac24c/bootclasspath.patch From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 00:54:49 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 08:54:49 +0000 Subject: [Bug 448] cacao fails to load icedtea plugin because ManagementFactory is broken on cacao VM Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=448 ------- Comment #1 from xerxes at zafena.se 2010-03-01 08:54 ------- I have pushed this bug forward to the cacao bugzilla: http://server.complang.tuwien.ac.at/cgi-bin/bugzilla/show_bug.cgi?id=136 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From mark at klomp.org Mon Mar 1 01:17:54 2010 From: mark at klomp.org (Mark Wielaard) Date: Mon, 01 Mar 2010 10:17:54 +0100 Subject: build issue: Ant related? In-Reply-To: <17c6771e1002281430w6f642f0dp2593c76344b78a63@mail.gmail.com> References: <17c6771e1002261021te92d8bche06296ae17fb2281@mail.gmail.com> <20100228124226.2295c8c8@laptop64.home> <17c6771e1002281430w6f642f0dp2593c76344b78a63@mail.gmail.com> Message-ID: <1267435074.2349.21.camel@hermans.wildebeest.org> On Sun, 2010-02-28 at 22:30 +0000, Andrew John Hughes wrote: > On 28 February 2010 11:42, Andreas Radke wrote: > > the new release fails here. Maybe it's our apache-ant update to > > 1.8.0? We haven't changed anything major since 1.7 release. > > > It's OpenJDK that's failing due to your update to Ant. You should use > the recommended version of Ant which is 1.7. Do we know what the actual problem is with 1.8? It would be nice to have a configure check for it to warn early in the build. Cheers, Mark From caster at gentoo.org Mon Mar 1 01:21:53 2010 From: caster at gentoo.org (Vlastimil Babka) Date: Mon, 01 Mar 2010 10:21:53 +0100 Subject: build issue: Ant related? In-Reply-To: <1267435074.2349.21.camel@hermans.wildebeest.org> References: <17c6771e1002261021te92d8bche06296ae17fb2281@mail.gmail.com> <20100228124226.2295c8c8@laptop64.home> <17c6771e1002281430w6f642f0dp2593c76344b78a63@mail.gmail.com> <1267435074.2349.21.camel@hermans.wildebeest.org> Message-ID: <4B8B8731.9070104@gentoo.org> On 03/01/2010 10:17 AM, Mark Wielaard wrote: > On Sun, 2010-02-28 at 22:30 +0000, Andrew John Hughes wrote: >> On 28 February 2010 11:42, Andreas Radke wrote: >>> the new release fails here. Maybe it's our apache-ant update to >>> 1.8.0? We haven't changed anything major since 1.7 release. >>> >> It's OpenJDK that's failing due to your update to Ant. You should use >> the recommended version of Ant which is 1.7. > > Do we know what the actual problem is with 1.8? It would be nice to have > a configure check for it to warn early in the build. > > Cheers, > > Mark > Hi, It seems that ant -diagnostics fails (abruptly exits) in Ant 1.8 when xerces and xalan are not available (typically in ANT_HOME/lib). In 1.7 this did not happen. I am now building with the libraries available to ant, to see if this is the only fix needed. Vlastimil From caster at gentoo.org Mon Mar 1 02:10:32 2010 From: caster at gentoo.org (Vlastimil Babka) Date: Mon, 01 Mar 2010 11:10:32 +0100 Subject: build issue: Ant related? In-Reply-To: <4B8B8731.9070104@gentoo.org> References: <17c6771e1002261021te92d8bche06296ae17fb2281@mail.gmail.com> <20100228124226.2295c8c8@laptop64.home> <17c6771e1002281430w6f642f0dp2593c76344b78a63@mail.gmail.com> <1267435074.2349.21.camel@hermans.wildebeest.org> <4B8B8731.9070104@gentoo.org> Message-ID: <4B8B9298.4090906@gentoo.org> On 03/01/2010 10:21 AM, Vlastimil Babka wrote: > On 03/01/2010 10:17 AM, Mark Wielaard wrote: >> On Sun, 2010-02-28 at 22:30 +0000, Andrew John Hughes wrote: >>> On 28 February 2010 11:42, Andreas Radke wrote: >>>> the new release fails here. Maybe it's our apache-ant update to >>>> 1.8.0? We haven't changed anything major since 1.7 release. >>>> >>> It's OpenJDK that's failing due to your update to Ant. You should use >>> the recommended version of Ant which is 1.7. >> >> Do we know what the actual problem is with 1.8? It would be nice to have >> a configure check for it to warn early in the build. I would say run ant -diagnostics and see if it doesn't fail, but that needs a working java already, so dunno how feasible it would be in the early check? I would however argue against checking files existence in ANT_HOME/lib because e.g. in gentoo we don't have xalan there, but put in on classpath in /usr/bin/ant from elsewhere. > It seems that ant -diagnostics fails (abruptly exits) in Ant 1.8 when > xerces and xalan are not available (typically in ANT_HOME/lib). In 1.7 > this did not happen. I am now building with the libraries available to > ant, to see if this is the only fix needed. So, it worked. Vlastimil From gnu_andrew at member.fsf.org Mon Mar 1 05:18:01 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Mon, 1 Mar 2010 13:18:01 +0000 Subject: IcedTea6 build failed for a47b53c08a6a In-Reply-To: <1267433612.2349.19.camel@hermans.wildebeest.org> References: <20100219140105.GW11988@rivendell.middle-earth.co.uk> <1267433612.2349.19.camel@hermans.wildebeest.org> Message-ID: <17c6771e1003010518n36729d48g2ba1615e02f0ae8b@mail.gmail.com> On 1 March 2010 08:53, Mark Wielaard wrote: > Hi, > > On Fri, 2010-02-19 at 14:01 +0000, Andrew John Hughes wrote: >> On 22:20 Thu 18 Feb ? ? , GNU Classpath Developer wrote: >> > The current IcedTea build fails. >> > Possibly, but not necessarily, because of one of these changes: >> > >> > rev: ?a47b53c08a6a >> > user: Andrew John Hughes >> > date: Thu Feb 18 22:02:18 2010 +0000 >> > >> > Remove hotspot-tools build to simplify bootstrapping. >> > Explicitly create the destination directory for the class rewriter. >> > >> [...] >> > >> > build-bootstrap-javac: >> > ? ? [mkdir] Created dir: /home/cpdev/icedtea6-build/openjdk-ecj/build/linux-i586/langtools/build/bootstrap/gensrc >> > ? ? [mkdir] Created dir: /home/cpdev/icedtea6-build/openjdk-ecj/build/linux-i586/langtools/build/bootstrap/classes >> > ?[pcompile] Generating 7 resource files to /home/cpdev/icedtea6-build/openjdk-ecj/build/linux-i586/langtools/build/bootstrap/gensrc >> > ? ? ?[copy] Copying 1 file to /home/cpdev/icedtea6-build/openjdk-ecj/build/linux-i586/langtools/build/bootstrap/gensrc >> > ?[pcompile] Generating 1 resource files to /home/cpdev/icedtea6-build/openjdk-ecj/build/linux-i586/langtools/build/bootstrap/gensrc >> > ? ? [javac] Compiling 8 source files to /home/cpdev/icedtea6-build/openjdk-ecj/build/linux-i586/langtools/build/bootstrap/classes >> > ? ? [javac] Compiling 244 source files to /home/cpdev/icedtea6-build/openjdk-ecj/build/linux-i586/langtools/build/bootstrap/classes >> > ? ? [javac] ---------- >> > ? ? [javac] 1. ERROR in /home/cpdev/icedtea6-build/openjdk-ecj/langtools/../../generated/java/nio/CharBuffer.java (at line 460) >> > ? ? [javac] ? ? ? ? return new StringCharBuffer(csq, start, end); >> > ? ? [javac] ? ? ? ? ? ? ? ? ? ?^^^^^^^^^^^^^^^^ >> > ? ? [javac] StringCharBuffer cannot be resolved to a type >> > ? ? [javac] ---------- >> > ? ? [javac] 2. ERROR in /home/cpdev/icedtea6-build/openjdk-ecj/langtools/../../generated/java/nio/CharBuffer.java (at line 666) >> > ? ? [javac] ? ? ? ? checkBounds(offset, length, dst.length); >> > ? ? [javac] ? ? ? ? ^^^^^^^^^^^ >> > ? ? [javac] The method checkBounds(int, int, int) is undefined for the type CharBuffer >> > ? ? [javac] ---------- >> > ? ? [javac] 3. ERROR in /home/cpdev/icedtea6-build/openjdk-ecj/langtools/../../generated/java/nio/CharBuffer.java (at line 801) >> > ? ? [javac] ? ? ? ? checkBounds(offset, length, src.length); >> > ? ? [javac] ? ? ? ? ^^^^^^^^^^^ >> > ? ? [javac] The method checkBounds(int, int, int) is undefined for the type CharBuffer >> > ? ? [javac] ---------- >> > ? ? [javac] 4. ERROR in /home/cpdev/icedtea6-build/openjdk-ecj/langtools/../../generated/java/nio/CharBuffer.java (at line 888) >> > ? ? [javac] ? ? ? ? checkBounds(start, end - start, src.length()); >> > ? ? [javac] ? ? ? ? ^^^^^^^^^^^ >> > ? ? [javac] The method checkBounds(int, int, int) is undefined for the type CharBuffer >> > ? ? [javac] ---------- >> > ? ? [javac] 5. ERROR in /home/cpdev/icedtea6-build/openjdk-ecj/langtools/../../generated/java/nio/CharBuffer.java (at line 1213) >> > ? ? [javac] ? ? ? ? return get(position() + checkIndex(index, 1)); >> > ? ? [javac] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ^^^^^^^^^^ >> > ? ? [javac] The method checkIndex(int) in the type Buffer is not applicable for the arguments (int, int) >> > ? ? [javac] ---------- >> > ? ? [javac] 5 problems (5 errors) >> > >> > BUILD FAILED >> > /home/cpdev/icedtea6-build/openjdk-ecj/langtools/make/build.xml:192: The following error occurred while executing this line: >> > /home/cpdev/icedtea6-build/openjdk-ecj/langtools/make/build.xml:431: The following error occurred while executing this line: >> > /home/cpdev/icedtea6-build/openjdk-ecj/langtools/make/build.xml:472: The following error occurred while executing this line: >> > /home/cpdev/icedtea6-build/openjdk-ecj/langtools/make/build.xml:542: Compile failed; see the compiler error output for details. >> > >> > Total time: 22 seconds >> > make[2]: *** [build] Error 1 >> > make[2]: Leaving directory `/home/cpdev/icedtea6-build/openjdk-ecj/langtools/make' >> > make[1]: *** [langtools-build] Error 2 >> > make[1]: Leaving directory `/home/cpdev/icedtea6-build/openjdk-ecj' >> > make: *** [stamps/icedtea-ecj.stamp] Error 2 >> >> Ok, I give up. ?I have no idea what is wrong with the build on this >> machine. > > Finally made progress on this. There are multiple issues: > > - For some reason the generated/ directory, containing only source > files, was explicitly added to the bootstrap classpath by one of our > patches. This is unnecessary, the .class versions are available, but > caused the version of ecj on the machine to "helpfully" try to compile > them. This was easily fixed: > > 2010-03-01 ?Mark Wielaard ? > > ? ? ? ?* patches/ecj/icedtea.patch: Don't add generated dir to > ? ? ? ?bootclasspath in langtools/make/build.xml. > Thanks. tools.jar can also be trimmed I think, as it's now a symlink to rt.jar; testing now. > That didn't fully fix it, and later on in bootstrapping corba one would > get an unexpected issue with one source file trying to use > sun.security.action.GetPropertyAction. This was caused by a buggy gjar > on the machine. We really should have a configure check to detect this > gjar -u bug: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36636 > For now I added --with-jar=faster to the configure line. > Probably because you're the only one with an old enough gjar to see this :-) > This almost fixes the bootstrap issue, except we are getting: > > ? ?[javac] 1. ERROR > in /home/cpdev/icedtea6-build/openjdk-ecj/build/linux-i586/jaxws/drop/jaxws_src/src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StAXEventConnector.java (at line 279) > ? ?[javac] ? ? String type = staxAttr.getDTDType(); > ? ?[javac] ? ? ? ? ? ? ? ? ? ^^^^^^^^^^^^^^^^^^^^^ > ? ?[javac] Type mismatch: cannot convert from QName to String > > This seems to have a fix/workaround in icedtea7 > (patches/icedtea-jaxws-getdtdtype.patch). I am testing a backport to > icedtea6 > There is a configure test that goes with it. I think it was fixed on 7 for your machine as versions of gcj based on Classpath 0.98 (i.e. 4.4.x) don't have this bug. > Cheers, > > Mark > -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From gnu_andrew at member.fsf.org Mon Mar 1 05:26:09 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Mon, 1 Mar 2010 13:26:09 +0000 Subject: build issue: Ant related? In-Reply-To: <1267435074.2349.21.camel@hermans.wildebeest.org> References: <17c6771e1002261021te92d8bche06296ae17fb2281@mail.gmail.com> <20100228124226.2295c8c8@laptop64.home> <17c6771e1002281430w6f642f0dp2593c76344b78a63@mail.gmail.com> <1267435074.2349.21.camel@hermans.wildebeest.org> Message-ID: <17c6771e1003010526h6915bfd3t78fc9ddf319ae580@mail.gmail.com> On 1 March 2010 09:17, Mark Wielaard wrote: > On Sun, 2010-02-28 at 22:30 +0000, Andrew John Hughes wrote: >> On 28 February 2010 11:42, Andreas Radke wrote: >> > the new release fails here. Maybe it's our apache-ant update to >> > 1.8.0? We haven't changed anything major since 1.7 release. >> > >> It's OpenJDK that's failing due to your update to Ant. ?You should use >> the recommended version of Ant which is 1.7. > > Do we know what the actual problem is with 1.8? It would be nice to have > a configure check for it to warn early in the build. > Builds just fine with 1.8 here. I suggest this is something to do with the reduced way distros package it, rather than the OpenJDK build. Make sure ant-nodeps is installed rather than just the core. It's needed for HEAD anyway. > Cheers, > > Mark > > -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From andrew at icedtea.classpath.org Mon Mar 1 07:20:45 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 01 Mar 2010 15:20:45 +0000 Subject: /hg/icedtea6: 5 new changesets Message-ID: changeset 917e99004afb in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=917e99004afb author: Andrew John Hughes date: Mon Mar 01 13:51:34 2010 +0000 Don't add tools.jar to bootclasspath; now a symlink to rt.jar. 2010-03-01 Andrew John Hughes * patches/ecj/icedtea.patch: Don't add tools.jar to bootclasspath; now just a symlink to rt.jar. changeset 2eb60c97dd3c in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=2eb60c97dd3c author: Andrew John Hughes date: Mon Mar 01 14:31:42 2010 +0000 Patch the JAXWS source if getDTDType() has the wrong return type (gcj 4.3 and earlier) 2010-03-01 Andrew John Hughes * Makefile.am: (stamps/extract.stamp): Add meta extract target to pull in both extract-openjdk and extract- jaxws. (stamps/extract-openjdk.stamp): Rename stamp file to extract-openjdk.stamp. (clean-extract-jaxws): Remove jaxws sources. 2009-11-17 Andrew John Hughes * Makefile.am: Make use of JAXWS dependent on absence of getDTDType() bug. Add new JAXWS patch. (extract-jaxws.stamp): Apply getDTDType() patch if bug found. * acinclude.m4: (IT_GETDTDTYPE_CHECK): Check for old versions of gcj/Classpath which have javax.xml.stream.events.Attribute.getDTDType() with a return type of QName not String. * configure.ac: Invoke new IT_GETDTDTYPE_CHECK macro. * patches/icedtea-jaxws-getdtdtype.patch: New patch to work around the getDTDType() bug. changeset 3f0dcd8de43f in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=3f0dcd8de43f author: Andrew John Hughes date: Tue Nov 17 19:49:20 2009 +0000 Add additional JAXWS gcj 4.3 fix for AttributeBase.java 2009-11-17 Andrew John Hughes * patches/ecj/icedtea-jaxws-getdtdtype.patch: Add additional fix for AttributeBase.java changeset 7110db4670d3 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=7110db4670d3 author: Andrew John Hughes date: Tue Nov 17 21:35:00 2009 +0000 Make the AttributeBase fix actually compile... 2009-11-17 Andrew John Hughes * patches/ecj/icedtea-jaxws-getdtdtype.patch: Replace getDTDType method, don't add another. * HACKING: Document the patch. changeset 278ade392786 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=278ade392786 author: Andrew John Hughes date: Mon Mar 01 15:20:29 2010 +0000 Simplify JAXWS patching for OpenJDK6. 2010-03-01 Andrew John Hughes Simply JAXWS patching for OpenJDK6. * Makefile.am, (NEED_JAXWS_SRC): Removed. (JAXWS_PATCHES): Removed. (ICEDTEA_ENV_ECJ): Add getdtdtype patch. (extract.stamp): Remove extract-jaxws dependency. (clean-extract): Remove clean-extract-jaxws dependency. (extract-jaxws.stamp): Removed. (clean-extract-jaxws): Removed. * patches/ecj/icedtea-jaxws-getdtdtype.patch: Updated to apply to JAXWS tree as a patch. diffstat: 8 files changed, 186 insertions(+), 8 deletions(-) ChangeLog | 55 ++++++++++++++++++++ Makefile.am | 20 +++++-- String | 11 ++++ acinclude.m4 | 74 ++++++++++++++++++++++++++++ configure.ac | 1 patches/ecj/icedtea-jaxws-getdtdtype.patch | 23 ++++++++ patches/ecj/icedtea.patch | 4 - return | 6 ++ diffs (276 lines): diff -r 7c740ee6ff74 -r 278ade392786 ChangeLog --- a/ChangeLog Mon Mar 01 09:41:01 2010 +0100 +++ b/ChangeLog Mon Mar 01 15:20:29 2010 +0000 @@ -1,3 +1,58 @@ 2010-03-01 Mark Wielaard + + Simply JAXWS patching for OpenJDK6. + * Makefile.am, + (NEED_JAXWS_SRC): Removed. + (JAXWS_PATCHES): Removed. + (ICEDTEA_ENV_ECJ): Add getdtdtype patch. + (extract.stamp): Remove extract-jaxws dependency. + (clean-extract): Remove clean-extract-jaxws dependency. + (extract-jaxws.stamp): Removed. + (clean-extract-jaxws): Removed. + * patches/ecj/icedtea-jaxws-getdtdtype.patch: + Updated to apply to JAXWS tree as a patch. + +2009-11-17 Andrew John Hughes + + * patches/ecj/icedtea-jaxws-getdtdtype.patch: + Replace getDTDType method, don't add another. + +2009-11-17 Andrew John Hughes + + * patches/ecj/icedtea-jaxws-getdtdtype.patch: + Add additional fix for AttributeBase.java + +2010-03-01 Andrew John Hughes + + * Makefile.am: + (stamps/extract.stamp): Add meta extract target + to pull in both extract-openjdk and extract-jaxws. + (stamps/extract-openjdk.stamp): Rename stamp file + to extract-openjdk.stamp. + (clean-extract-jaxws): Remove jaxws sources. + +2009-11-17 Andrew John Hughes + + * Makefile.am: + Make use of JAXWS dependent on absence of + getDTDType() bug. Add new JAXWS patch. + (extract-jaxws.stamp): Apply getDTDType() patch + if bug found. + * acinclude.m4: + (IT_GETDTDTYPE_CHECK): Check for old versions of + gcj/Classpath which have + javax.xml.stream.events.Attribute.getDTDType() + with a return type of QName not String. + * configure.ac: + Invoke new IT_GETDTDTYPE_CHECK macro. + * patches/icedtea-jaxws-getdtdtype.patch: + New patch to work around the getDTDType() bug. + +2010-03-01 Andrew John Hughes + + * patches/ecj/icedtea.patch: Don't add tools.jar + to bootclasspath; now just a symlink to rt.jar. + 2010-03-01 Mark Wielaard * patches/ecj/icedtea.patch: Don't add generated dir to diff -r 7c740ee6ff74 -r 278ade392786 Makefile.am --- a/Makefile.am Mon Mar 01 09:41:01 2010 +0100 +++ b/Makefile.am Mon Mar 01 15:20:29 2010 +0000 @@ -61,7 +61,6 @@ LANGTOOLS = openjdk/langtools/src/share/ LANGTOOLS = openjdk/langtools/src/share/classes JAXP = openjdk/jaxp/src/share/classes CORBA = openjdk/corba/src/share/classes -JAXWS = openjdk/jaxws/src/share/classes # FIXME (netx): NetX source directories go here @@ -580,6 +579,11 @@ ICEDTEA_ENV_ECJ += \ RHINO_JAR="$(abs_top_builddir)/rhino/rhino.jar" endif +if DTDTYPE_QNAME +ICEDTEA_ENV_ECJ += \ + patches/ecj/icedtea-jaxws-getdtdtype.patch +endif + # Source files # FIXME (distclean): Add generated file list # FIXME (distclean): Add jtreg sources @@ -894,7 +898,14 @@ endif endif #FIXME (meta): Split into multiple targets -stamps/extract.stamp: stamps/download.stamp +stamps/extract.stamp: stamps/extract-openjdk.stamp \ + mkdir -p stamps + touch $@ + +clean-extract: + rm -f stamps/extract.stamp + +stamps/extract-openjdk.stamp: stamps/download.stamp if OPENJDK_SRC_DIR_FOUND cp -a $(OPENJDK_SRC_DIR) openjdk else @@ -949,10 +960,7 @@ endif -o -type d -exec chmod 750 '{}' ';'; \ fi mkdir -p stamps - touch stamps/extract.stamp - -clean-extract: - rm -f stamps/extract.stamp + touch stamps/extract-openjdk.stamp stamps/replace-hotspot.stamp: stamps/extract.stamp if WITH_ALT_HSBUILD diff -r 7c740ee6ff74 -r 278ade392786 acinclude.m4 --- a/acinclude.m4 Mon Mar 01 09:41:01 2010 +0100 +++ b/acinclude.m4 Mon Mar 01 15:20:29 2010 +0000 @@ -1244,6 +1244,80 @@ AC_DEFUN_ONCE([IT_FIND_NUMBER_OF_PROCESS AC_PROVIDE([$0])dnl ]) +AC_DEFUN([IT_GETDTDTYPE_CHECK],[ + AC_CACHE_CHECK([if javax.xml.stream.events.Attribute.getDTDType() wrongly returns a QName], it_cv_dtdtype, [ + CLASS=Test.java + BYTECODE=$(echo $CLASS|sed 's#\.java##') + mkdir tmp.$$ + cd tmp.$$ + cat << \EOF > $CLASS +[/* [#]line __oline__ "configure" */ +import javax.xml.namespace.QName; +import javax.xml.stream.Location; +import javax.xml.stream.events.Attribute; +import javax.xml.stream.events.Characters; +import javax.xml.stream.events.EndElement; +import javax.xml.stream.events.StartElement; + +import java.lang.reflect.Method; + +public class Test + implements Attribute +{ + // This method will not qualify if using an + // old version of Classpath where it returns + // a QName. + public String getDTDType() { return "Boom"; } + + // Other Attribute methods + public QName getName() { return null; } + public String getValue() { return "Bang"; } + public boolean isSpecified() { return false; } + + // XMLEvent methods + public Characters asCharacters() { return null; } + public EndElement asEndElement() { return null; } + public StartElement asStartElement() { return null; } + public int getEventType() { return 42; } + public Location getLocation() { return null; } + public QName getSchemaType() { return null; } + public boolean isAttribute() { return true; } + public boolean isCharacters() { return false; } + public boolean isEndDocument() { return false; } + public boolean isEndElement() { return false; } + public boolean isEntityReference() { return false; } + public boolean isNamespace() { return false; } + public boolean isProcessingInstruction() { return false; } + public boolean isStartDocument() { return false; } + public boolean isStartElement() { return false; } + public void writeAsEncodedUnicode(java.io.Writer w) {} + + public static void main(String[] args) + { + for (Method m : Attribute.class.getMethods()) + if (m.getName().equals("getDTDType")) + if (m.getReturnType().equals(QName.class)) + System.exit(1); + } +}] +EOF + if $JAVAC -cp . $JAVACFLAGS -source 5 $CLASS >&AS_MESSAGE_LOG_FD 2>&1; then + if $JAVA -classpath . $BYTECODE >&AS_MESSAGE_LOG_FD 2>&1; then + it_cv_dtdtype=no; + else + it_cv_dtdtype=yes; + fi + else + it_cv_dtdtype=yes; + fi + rm -f $CLASS *.class + cd .. + rmdir tmp.$$ + ]) +AM_CONDITIONAL([DTDTYPE_QNAME], test x"${it_cv_dtdtype}" = "xyes") +AC_PROVIDE([$0])dnl +]) + # Provides the option --with-parallel-jobs # * --with-parallel-jobs; use jobs=processors + 1 # * --with-parallel-jobs=x; use jobs=x diff -r 7c740ee6ff74 -r 278ade392786 configure.ac --- a/configure.ac Mon Mar 01 09:41:01 2010 +0100 +++ b/configure.ac Mon Mar 01 15:20:29 2010 +0000 @@ -204,6 +204,7 @@ AC_CHECK_WITH_HG_REVISION AC_CHECK_WITH_HG_REVISION AC_CHECK_WITH_TZDATA_DIR IT_CHECK_FOR_CLASS([SUN_AWT_TOOLKIT], [sun.awt.SunToolkit]) +IT_GETDTDTYPE_CHECK IT_CHECK_XULRUNNER_VERSION if test "x${enable_visualvm}" = "xyes" diff -r 7c740ee6ff74 -r 278ade392786 patches/ecj/icedtea-jaxws-getdtdtype.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/ecj/icedtea-jaxws-getdtdtype.patch Mon Mar 01 15:20:29 2010 +0000 @@ -0,0 +1,43 @@ +diff -Nru openjdk-ecj.orig/jaxws/build.properties openjdk-ecj/jaxws/build.properties +--- openjdk-ecj.orig/jaxws/build.properties 2010-03-01 15:13:38.000000000 +0000 ++++ openjdk-ecj/jaxws/build.properties 2010-03-01 15:14:30.000000000 +0000 +@@ -81,7 +81,7 @@ + patches.dir=patches + + # Patches to apply +-jaxws_src.patch.list=xjc.patch ++jaxws_src.patch.list=xjc.patch getdtdtype.patch + + # Sanity information + sanity.info= Sanity Settings:${line.separator}\ +diff -Nru openjdk-ecj.orig/jaxws/patches/jaxws_src/getdtdtype.patch openjdk-ecj/jaxws/patches/jaxws_src/getdtdtype.patch +--- openjdk-ecj.orig/jaxws/patches/jaxws_src/getdtdtype.patch 1970-01-01 01:00:00.000000000 +0100 ++++ openjdk-ecj/jaxws/patches/jaxws_src/getdtdtype.patch 2010-03-01 15:15:10.000000000 +0000 +@@ -0,0 +1,27 @@ ++--- src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StAXEventConnector.java 2009-11-17 16:37:06.000000000 +0000 +++++ src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StAXEventConnector.java 2009-11-17 16:38:00.000000000 +0000 ++@@ -276,7 +276,7 @@ ++ qName = localName; ++ else ++ qName = prefix + ':' + localName; ++- String type = staxAttr.getDTDType(); +++ String type = staxAttr.getDTDType().toString(); ++ String value = staxAttr.getValue(); ++ ++ attrs.addAttribute(uri, localName, qName, type, value); ++--- src/com/sun/xml/internal/fastinfoset/stax/events/AttributeBase.java.old 2009-11-17 19:46:11.000000000 +0000 +++++ src/com/sun/xml/internal/fastinfoset/stax/events/AttributeBase.java 2009-11-17 19:46:35.000000000 +0000 ++@@ -108,11 +108,10 @@ ++ * the String "CDATA" ++ * @return the type as a String, default is "CDATA" ++ */ ++- public String getDTDType() { ++- return _attributeType; +++ public QName getDTDType() { +++ return new QName(_attributeType); ++ } ++ ++- ++ /** ++ * A flag indicating whether this attribute was actually ++ * specified in the start-tag of its element, or was defaulted from the schema. diff -r 7c740ee6ff74 -r 278ade392786 patches/ecj/icedtea.patch --- a/patches/ecj/icedtea.patch Mon Mar 01 09:41:01 2010 +0100 +++ b/patches/ecj/icedtea.patch Mon Mar 01 15:20:29 2010 +0000 @@ -902,7 +902,7 @@ diff -Nru openjdk-ecj.orig/langtools/mak includeAntRuntime="no" source="@{javac.source}" target="@{javac.target}"> -+ ++ @@ -910,7 +910,7 @@ diff -Nru openjdk-ecj.orig/langtools/mak target="@{javac.target}" debug="${javac.debug}" debuglevel="${javac.debuglevel}"> -+ ++ From andrew at icedtea.classpath.org Mon Mar 1 07:26:13 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 01 Mar 2010 15:26:13 +0000 Subject: /hg/release/icedtea6-1.7: Explicitly create destination director... Message-ID: changeset 240dae063336 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=240dae063336 author: Andrew John Hughes date: Mon Mar 01 15:26:06 2010 +0000 Explicitly create destination directory for Rhino as Sun's javac doesn't. 2010-02-17 Andrew John Hughes * Makefile.am: (rewriter.stamp): Explicitly create destination directory as Sun's javac doesn't. diffstat: 2 files changed, 7 insertions(+) ChangeLog | 6 ++++++ Makefile.am | 1 + diffs (24 lines): diff -r dbb5ddd34731 -r 240dae063336 ChangeLog --- a/ChangeLog Fri Feb 26 18:03:04 2010 +0000 +++ b/ChangeLog Mon Mar 01 15:26:06 2010 +0000 @@ -1,3 +1,9 @@ 2010-02-26 Andrew John Hughes + + * Makefile.am: + (rewriter.stamp): Explicitly create destination + directory as Sun's javac doesn't. + 2010-02-26 Andrew John Hughes * NEWS: Updated for 1.7.1 diff -r dbb5ddd34731 -r 240dae063336 Makefile.am --- a/Makefile.am Fri Feb 26 18:03:04 2010 +0000 +++ b/Makefile.am Mon Mar 01 15:26:06 2010 +0000 @@ -1713,6 +1713,7 @@ endif stamps/rewriter.stamp: $(INITIAL_BOOTSTRAP_LINK_STAMP) if WITH_RHINO + mkdir -p $(abs_top_builddir)/rewriter (cd $(abs_top_srcdir)/rewriter ; \ $(ICEDTEA_BOOT_DIR)/bin/javac -g \ -d $(abs_top_builddir)/rewriter $(REWRITER_SRCS) \ From andrew at icedtea.classpath.org Mon Mar 1 07:33:09 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 01 Mar 2010 15:33:09 +0000 Subject: /hg/icedtea6: Remove errant backslash. Message-ID: changeset 15ae6e3a64d2 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=15ae6e3a64d2 author: Andrew John Hughes date: Mon Mar 01 15:33:01 2010 +0000 Remove errant backslash. 2010-03-01 Andrew John Hughes * Makefile.am: Remove errant backslash. diffstat: 2 files changed, 6 insertions(+), 1 deletion(-) ChangeLog | 5 +++++ Makefile.am | 2 +- diffs (24 lines): diff -r 278ade392786 -r 15ae6e3a64d2 ChangeLog --- a/ChangeLog Mon Mar 01 15:20:29 2010 +0000 +++ b/ChangeLog Mon Mar 01 15:33:01 2010 +0000 @@ -1,3 +1,8 @@ 2010-03-01 Andrew John Hughes + + * Makefile.am: + Remove errant backslash. + 2010-03-01 Andrew John Hughes Simply JAXWS patching for OpenJDK6. diff -r 278ade392786 -r 15ae6e3a64d2 Makefile.am --- a/Makefile.am Mon Mar 01 15:20:29 2010 +0000 +++ b/Makefile.am Mon Mar 01 15:33:01 2010 +0000 @@ -898,7 +898,7 @@ endif endif #FIXME (meta): Split into multiple targets -stamps/extract.stamp: stamps/extract-openjdk.stamp \ +stamps/extract.stamp: stamps/extract-openjdk.stamp mkdir -p stamps touch $@ From andrew at icedtea.classpath.org Mon Mar 1 08:06:02 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 01 Mar 2010 16:06:02 +0000 Subject: /hg/icedtea6: Add patch to correct environment variable. Message-ID: changeset 284e36cb50ac in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=284e36cb50ac author: Andrew John Hughes date: Mon Mar 01 16:05:43 2010 +0000 Add patch to correct environment variable. 2010-03-01 Andrew John Hughes * Makefile.am: Patch should be added to ICEDTEA_ECJ_PATCHES not ICEDTEA_ENV_ECJ. diffstat: 2 files changed, 11 insertions(+), 5 deletions(-) ChangeLog | 6 ++++++ Makefile.am | 10 +++++----- diffs (40 lines): diff -r 15ae6e3a64d2 -r 284e36cb50ac ChangeLog --- a/ChangeLog Mon Mar 01 15:33:01 2010 +0000 +++ b/ChangeLog Mon Mar 01 16:05:43 2010 +0000 @@ -1,3 +1,9 @@ 2010-03-01 Andrew John Hughes + + * Makefile.am: + Patch should be added to ICEDTEA_ECJ_PATCHES + not ICEDTEA_ENV_ECJ. + 2010-03-01 Andrew John Hughes * Makefile.am: diff -r 15ae6e3a64d2 -r 284e36cb50ac Makefile.am --- a/Makefile.am Mon Mar 01 15:33:01 2010 +0000 +++ b/Makefile.am Mon Mar 01 16:05:43 2010 +0000 @@ -381,6 +381,11 @@ ICEDTEA_ECJ_PATCHES = patches/ecj/icedte patches/ecj/icedtea-jopt.patch \ patches/ecj/icedtea-jaxp-dependency.patch \ patches/ecj/bootver.patch + +if DTDTYPE_QNAME +ICEDTEA_ECJ_PATCHES += \ + patches/ecj/icedtea-jaxws-getdtdtype.patch +endif # OpenJDK build environment. if ZERO_BUILD @@ -577,11 +582,6 @@ if WITH_RHINO if WITH_RHINO ICEDTEA_ENV_ECJ += \ RHINO_JAR="$(abs_top_builddir)/rhino/rhino.jar" -endif - -if DTDTYPE_QNAME -ICEDTEA_ENV_ECJ += \ - patches/ecj/icedtea-jaxws-getdtdtype.patch endif # Source files From andrew at icedtea.classpath.org Mon Mar 1 11:06:08 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 01 Mar 2010 19:06:08 +0000 Subject: /hg/icedtea6: Use stamps for all Makefile targets. Message-ID: changeset 86d208c50bb8 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=86d208c50bb8 author: Andrew John Hughes date: Mon Mar 01 19:05:45 2010 +0000 Use stamps for all Makefile targets. 2010-03-01 Andrew John Hughes * Makefile.am: (icedtea-against-icedtea): Convert to stamp and provide this as an alias. (icedtea-debug- against-icedtea): Likewise. (stamps/jtreg.stamp): Depend on stamps/icedtea-against-icedtea.stamp (stamps/tools.stamp): Converted from target relying on bootstrap/jdk1.7.0/jre/lib/tools.jar to a stamp target. (clean-tools-jar): Remove the stamp. (stamps/plugs.stamp): Depend on tools.stamp not the jar file itself. (icedtea): Match icedtea.stamp without bringing in additional dependencies. icedtea-against-icedtea is equivalent to the old version. (icedtea-debug): Likewise. (tools-jar): New alias for tools.stamp diffstat: 2 files changed, 43 insertions(+), 15 deletions(-) ChangeLog | 21 +++++++++++++++++++++ Makefile.am | 37 ++++++++++++++++++++++--------------- diffs (122 lines): diff -r 284e36cb50ac -r 86d208c50bb8 ChangeLog --- a/ChangeLog Mon Mar 01 16:05:43 2010 +0000 +++ b/ChangeLog Mon Mar 01 19:05:45 2010 +0000 @@ -1,3 +1,24 @@ 2010-03-01 Andrew John Hughes + + * Makefile.am: + (icedtea-against-icedtea): Convert to stamp + and provide this as an alias. + (icedtea-debug-against-icedtea): Likewise. + (stamps/jtreg.stamp): Depend on + stamps/icedtea-against-icedtea.stamp + (stamps/tools.stamp): Converted from + target relying on + bootstrap/jdk1.7.0/jre/lib/tools.jar to + a stamp target. + (clean-tools-jar): Remove the stamp. + (stamps/plugs.stamp): Depend on tools.stamp + not the jar file itself. + (icedtea): Match icedtea.stamp without bringing in + additional dependencies. icedtea-against-icedtea + is equivalent to the old version. + (icedtea-debug): Likewise. + (tools-jar): New alias for tools.stamp + 2010-03-01 Andrew John Hughes * Makefile.am: diff -r 284e36cb50ac -r 86d208c50bb8 Makefile.am --- a/Makefile.am Mon Mar 01 16:05:43 2010 +0000 +++ b/Makefile.am Mon Mar 01 19:05:45 2010 +0000 @@ -1536,19 +1536,17 @@ clean-icedtea: stamps/extract.stamp -C openjdk clobber rm -f stamps/icedtea.stamp stamps/icedtea-debug.stamp -icedtea-against-icedtea: \ - stamps/bootstrap-directory-symlink.stamp \ - stamps/icedtea.stamp \ - stamps/add-cacao.stamp \ - stamps/add-zero.stamp +stamps/icedtea-against-icedtea.stamp: stamps/bootstrap-directory-symlink.stamp \ + stamps/icedtea.stamp stamps/add-cacao.stamp stamps/add-zero.stamp + mkdir -p stamps + touch stamps/icedtea-against-icedtea.stamp #FIXME (clean): Missing clean-icedtea-against-icedtea -icedtea-debug-against-icedtea: \ - stamps/bootstrap-directory-symlink.stamp \ - stamps/icedtea-debug.stamp \ - stamps/add-cacao-debug.stamp \ - stamps/add-zero-debug.stamp +stamps/icedtea-debug-against-icedtea.stamp: stamps/bootstrap-directory-symlink.stamp \ + stamps/icedtea-debug.stamp stamps/add-cacao-debug.stamp stamps/add-zero-debug.stamp + mkdir -p stamps + touch stamps/icedtea-debug-against-icedtea.stamp #FIXME (clean): Missing clean-icedtea-debug-against-icedtea @@ -2040,7 +2038,7 @@ stamps/plugin-tests.stamp: $(INITIAL_BOO # jtreg -stamps/jtreg.stamp: stamps/icedtea.stamp stamps/add-zero.stamp stamps/add-cacao.stamp +stamps/jtreg.stamp: stamps/icedtea-against-icedtea.stamp rm -rf test/jtreg/classes mkdir -p test/jtreg/classes $(ICEDTEA_BOOT_DIR)/bin/javac -g -d test/jtreg/classes -source 1.5 \ @@ -2171,7 +2169,7 @@ endif touch stamps/rt.stamp # tools.jar -bootstrap/jdk1.7.0/jre/lib/tools.jar: +stamps/tools.stamp: mkdir -p bootstrap/jdk1.7.0/jre/lib/ ln -sf $(ICEDTEA_RT) $(abs_top_builddir)/bootstrap/jdk1.7.0/jre/lib/tools.jar if test -d bootstrap/ecj ; \ @@ -2180,15 +2178,18 @@ bootstrap/jdk1.7.0/jre/lib/tools.jar: ln -sf $(abs_top_builddir)/bootstrap/jdk1.7.0/jre/lib/tools.jar \ $(abs_top_builddir)/bootstrap/ecj/lib/tools.jar; \ fi + mkdir -p stamps + touch stamps/tools.stamp clean-tools-jar: rm -f bootstrap/jdk1.7.0/jre/lib/tools.jar if test -d bootstrap/ecj/lib ; then \ rm -f $(abs_top_builddir)/bootstrap/ecj/lib/tools.jar; \ fi + rm -f stamps/tools.stamp # rt-closed.jar -stamps/plugs.stamp: stamps/rt.stamp bootstrap/jdk1.7.0/jre/lib/tools.jar +stamps/plugs.stamp: stamps/rt.stamp stamps/tools.stamp $(ICEDTEA_BOOT_DIR)/bin/jar cf $(ICEDTEA_PLUGS) \ -C lib/rt com/sun/jmx/snmp $(LIVECONNECT_DIR) \ -C lib/rt net -C lib/rt javax/jnlp ; @@ -2233,11 +2234,15 @@ extract-ecj: stamps/extract-ecj.stamp hotspot-ports: stamps/ports.stamp -icedtea: stamps/icedtea.stamp stamps/add-cacao.stamp stamps/add-zero.stamp +icedtea: stamps/icedtea.stamp + +icedtea-against-icedtea: stamps/icedtea-against-icedtea.stamp icedtea-against-ecj: stamps/icedtea-against-ecj.stamp -icedtea-debug: stamps/icedtea-debug.stamp stamps/add-cacao-debug.stamp stamps/add-zero-debug.stamp +icedtea-debug: stamps/icedtea-debug.stamp + +icedtea-debug-against-icedtea: stamps/icedtea-debug-against-icedtea.stamp icedtea-ecj: stamps/icedtea-ecj.stamp @@ -2271,4 +2276,6 @@ rt-jar: stamps/rt.stamp rt-class-files: stamps/rt-class-files.stamp +tools-jar: stamps/tools.stamp + visualvm: stamps/visualvm.stamp From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 11:15:17 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 19:15:17 +0000 Subject: [Bug 59] SimpleDateFormat default constructor creates the same objects Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=59 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 11:16:40 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 19:16:40 +0000 Subject: [Bug 64] Batik testsuite rendering glitches Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=64 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Licensing Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 11:17:02 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 19:17:02 +0000 Subject: [Bug 65] Text antialiasing off unnecessarily Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=65 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 11:17:19 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 19:17:19 +0000 Subject: [Bug 67] Netbeans modal dialogs won't properly close Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=67 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 11:18:35 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 19:18:35 +0000 Subject: [Bug 77] IcedTea b21 crashed on Ubuntu Gutsy / AMD64 and Eclipse Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=77 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86_64 Version|unspecified |7-1.4 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 11:20:55 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 19:20:55 +0000 Subject: [Bug 78] Use pure Java implementation of zlib from Classpath instead of zlib for java.util.zip Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=78 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 11:21:17 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 19:21:17 +0000 Subject: [Bug 80] README refers to specific out of date OpenJDK build Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=80 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 11:22:40 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 19:22:40 +0000 Subject: [Bug 81] PrinterJob.PageDialog null pointer exception Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=81 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 11:25:09 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 19:25:09 +0000 Subject: [Bug 82] Configure.ac script fails to test for g++ or ant Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=82 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |7-1.4 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 11:26:14 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 19:26:14 +0000 Subject: [Bug 84] jar c0mf@ causes error "Illegal option: @" Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=84 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 11:26:47 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 19:26:47 +0000 Subject: [Bug 86] audioclip.stop seems not to do anything Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=86 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |GCJWebPlugin Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 11:27:07 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 19:27:07 +0000 Subject: [Bug 88] configure should check for Mercurial Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=88 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 11:38:21 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 19:38:21 +0000 Subject: [Bug 89] Error when creating a new Servlet in Eclipse Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=89 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 11:39:34 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 19:39:34 +0000 Subject: [Bug 90] applet does not start, errornous parsing of applet tag? Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=90 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |GCJWebPlugin Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 11:40:40 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 19:40:40 +0000 Subject: [Bug 91] jstack fails to get traces (linux specific?) get_thread_regs failed for a lwp Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=91 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 11:41:03 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 19:41:03 +0000 Subject: [Bug 92] Allow building IcedTea without browser-plugin Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=92 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 11:42:08 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 19:42:08 +0000 Subject: [Bug 93] missing clean target in Makefile Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=93 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Platform|other |all Resolution|FIXED | ------- Comment #2 from gnu_andrew at member.fsf.org 2010-03-01 19:42 ------- make clean should not be the same as make distclean. IcedTea7 differentiates between the two by deleting downloads when running make distclean. Need to be backported to IcedTea6. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 11:42:24 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 19:42:24 +0000 Subject: [Bug 94] empty install target in Makefile.am Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=94 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 11:43:04 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 19:43:04 +0000 Subject: [Bug 95] automatic detection of libgcj 4.1 jar fails on Ubuntu Hardy Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=95 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 11:43:24 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 19:43:24 +0000 Subject: [Bug 97] applet not initialized - instantplay.absolutepoker.com Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=97 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |GCJWebPlugin Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From andrew at icedtea.classpath.org Mon Mar 1 11:48:55 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 01 Mar 2010 19:48:55 +0000 Subject: /hg/icedtea6: Create plugin.stamp with the right filename. Message-ID: changeset ccba25fc9759 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=ccba25fc9759 author: Andrew John Hughes date: Mon Mar 01 19:48:43 2010 +0000 Create plugin.stamp with the right filename. 2010-03-01 Andrew John Hughes * Makefile.am: (stamps/plugin.stamp): Create stamp with the right filename. diffstat: 2 files changed, 7 insertions(+), 1 deletion(-) ChangeLog | 6 ++++++ Makefile.am | 2 +- diffs (25 lines): diff -r 86d208c50bb8 -r ccba25fc9759 ChangeLog --- a/ChangeLog Mon Mar 01 19:05:45 2010 +0000 +++ b/ChangeLog Mon Mar 01 19:48:43 2010 +0000 @@ -1,3 +1,9 @@ 2010-03-01 Andrew John Hughes + + * Makefile.am: + (stamps/plugin.stamp): Create stamp with the + right filename. + 2010-03-01 Andrew John Hughes * Makefile.am: diff -r 86d208c50bb8 -r ccba25fc9759 Makefile.am --- a/Makefile.am Mon Mar 01 19:05:45 2010 +0000 +++ b/Makefile.am Mon Mar 01 19:48:43 2010 +0000 @@ -1666,7 +1666,7 @@ endif stamps/plugin.stamp: $(ICEDTEAPLUGIN_TARGET) $(ICEDTEANPPLUGIN_TARGET) mkdir -p stamps - touch stamps/icedtea-plugin.stamp + touch stamps/plugin.stamp clean-plugin: $(ICEDTEAPLUGIN_CLEAN) $(ICEDTEANPPLUGIN_CLEAN) rm -f stamps/plugin.stamp From gnu_andrew at member.fsf.org Mon Mar 1 11:54:44 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Mon, 1 Mar 2010 19:54:44 +0000 Subject: icedtea6 build failures on alpha and armel using gcj In-Reply-To: <4B894D27.5080804@ubuntu.com> References: <4B894D27.5080804@ubuntu.com> Message-ID: <17c6771e1003011154l556ea301h92e54ff2d457eb6a@mail.gmail.com> On 27 February 2010 16:49, Matthias Klose wrote: > Building icedtea6 on alpha and armel using a two stage bootstrap fails with > different errors. These are no new errors, just rechecked the two stage > bootstrap, because the one stage build fails to build cacao after the b18 > update. On alpha: > > mkdir -p lib/rt > /home/doko/openjdk/openjdk-6-6b18~pre1/build/bootstrap/jdk1.6.0/bin/javac > ?-g -d lib/rt \ > ? ? ? ? ?-source 1.5 \ > ? ? ? ? ?-sourcepath \ > > 'openjdk/jdk/src/share/classes:openjdk/jdk/src/solaris/classes:openjdk/langtools/src/share/classes:openjdk/corba/src/share/classes:/home/doko/openjdk/openjdk-6-6b18~pre1/build/generated' > \ > ? ? ? ? ?-classpath /usr/lib/jvm/java-gcj/jre/lib/rt.jar \ > ? ? ? ? ?-bootclasspath \'\' @rt-source-files.txt ; > incorrect classpath: '' > ---------- > 1. ERROR in > /home/doko/openjdk/openjdk-6-6b18~pre1/build/openjdk/jdk/src/share/classes/sun/misc/FloatConsts.java > (at line 52) > ? ? ? ?public static final float ? MIN_NORMAL ? ? ?= 1.17549435E-38f; > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?^^^^^^^^^^^^^^^ > The literal 1.17549435E-38f of type float is out of range > ---------- > 1 problem (1 error)make[1]: *** [stamps/rt-class-files.stamp] Error 255 > > > I vaguely remember we had a patch in the past to back out some of the > constants stuff. > We do still have a patch. It's applied to the ecj build. Why are you using ecj for a non-bootstrap build, as it appears here? > > On armel: > > touch stamps/rewriter.stamp > mkdir -p rhino/rhino.{old,new} > (cd rhino/rhino.old ; jar xf /usr/share/java/js.jar) > /home/packages/openjdk/openjdk-6-6b18~pre1/build/bootstrap/jdk1.6.0/bin/java > -cp /home/packages/openjdk/openjdk-6-6b18~pre1/build/rewriter \ > ? ? ? ? ?com.redhat.rewriter.ClassRewriter \ > ? ? ? ? ?/home/packages/openjdk/openjdk-6-6b18~pre1/build/rhino/rhino.old > /home/packages/openjdk/openjdk-6-6b18~pre1/build/rhino/rhino.new \ > ? ? ? ? ?org.mozilla sun.org.mozilla > Exception in thread "main" java.lang.ExceptionInInitializerError > ? <> > Caused by: java.lang.RuntimeException: > java.lang.ArrayIndexOutOfBoundsException: 3 > ? <> > Caused by: java.lang.ArrayIndexOutOfBoundsException: 3 > ? <> > make[1]: *** [stamps/rewrite-rhino.stamp] Error 1 > make[1]: Leaving directory > `/home/packages/openjdk/openjdk-6-6b18~pre1/build' > > This is reported as http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40860 > > ?Matthias > -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 12:28:21 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 20:28:21 +0000 Subject: [Bug 100] Java crashes trying to run topcat Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=100 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #46 mime|text/x-log |text/plain type| | -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 12:28:57 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 20:28:57 +0000 Subject: [Bug 100] Java crashes trying to run topcat Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=100 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|critical |normal Platform|other |x86_64 Version|unspecified |7-1.4 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 12:29:22 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 20:29:22 +0000 Subject: [Bug 102] Java logon applet on website not working Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=102 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |GCJWebPlugin Platform|other |x86_64 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 12:33:24 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 20:33:24 +0000 Subject: [Bug 105] Crash-Report ZendStudio for Eclipse Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=105 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86 Version|unspecified |7-1.5 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 12:34:24 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 20:34:24 +0000 Subject: [Bug 106] BankID plugin fails to load Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=106 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |GCJWebPlugin -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 12:35:10 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 20:35:10 +0000 Subject: [Bug 108] Assistive Technology not found: org.GNOME.Accessibility.JavaBridge Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=108 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|FIXED | -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 12:35:35 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 20:35:35 +0000 Subject: [Bug 108] Assistive Technology not found: org.GNOME.Accessibility.JavaBridge Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=108 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED Platform|other |all Resolution| |INVALID Version|unspecified |7-1.5 ------- Comment #4 from gnu_andrew at member.fsf.org 2010-03-01 20:35 ------- Distro bug. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 12:36:49 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 20:36:49 +0000 Subject: [Bug 109] SIGSEGV (0xb) at pc=0xb7f70bad, pid=9683, tid=3027413904 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=109 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86 Version|unspecified |7-1.5 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 12:37:15 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 20:37:15 +0000 Subject: [Bug 110] Failed open NetBeans on Ubuntu 8.04 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=110 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86_64 Version|unspecified |7-1.5 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 12:37:59 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 20:37:59 +0000 Subject: [Bug 114] sun.awt.image.JPEGImageDecoder.initIDs crash Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=114 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |all Version|unspecified |7-1.5 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 12:39:57 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 20:39:57 +0000 Subject: [Bug 115] Firefox plugin crashed Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=115 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86_64 Version|unspecified |7-1.5 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 12:40:29 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 20:40:29 +0000 Subject: [Bug 116] SIGSEGV when starting Netbeans 6.0.1 with JVM IcedTea Client VM 1.7 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=116 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #55 mime|application/octet-stream |text/plain type| | -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 12:40:37 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 20:40:37 +0000 Subject: [Bug 116] SIGSEGV when starting Netbeans 6.0.1 with JVM IcedTea Client VM 1.7 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=116 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86 Version|unspecified |7-1.5 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 12:48:48 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 20:48:48 +0000 Subject: [Bug 117] freemind 0.7 crash bz start Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=117 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86_64 Version|unspecified |7-1.5 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 12:49:17 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 20:49:17 +0000 Subject: [Bug 118] java applet crashed when using BankID Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=118 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |GCJWebPlugin Platform|other |x86_64 Version|unspecified |7-1.5 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 12:49:48 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 20:49:48 +0000 Subject: [Bug 119] IcedTea 7 Crashes Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=119 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|major |normal Platform|other |x86_64 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 12:50:13 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 20:50:13 +0000 Subject: [Bug 122] Don't really know? Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=122 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86_64 Version|unspecified |7-1.5 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 12:51:19 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 20:51:19 +0000 Subject: [Bug 123] Fail to build with static libstdc++ Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=123 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 12:54:07 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 20:54:07 +0000 Subject: [Bug 124] IcedTea6 crash log Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=124 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #59 mime|text/x-log |text/plain type| | -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 12:54:41 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 20:54:41 +0000 Subject: [Bug 124] IcedTea6 crash log Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=124 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86 Version|unspecified |6-1.0 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From andrew at icedtea.classpath.org Mon Mar 1 13:20:56 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 01 Mar 2010 21:20:56 +0000 Subject: /hg/icedtea6: Use rt.jar for CACAO builds rather than the conten... Message-ID: changeset e1e9efa47cbe in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=e1e9efa47cbe author: Andrew John Hughes date: Mon Mar 01 21:20:35 2010 +0000 Use rt.jar for CACAO builds rather than the contents of lib/rt. 2010-03-01 Andrew John Hughes * Makefile.am: (stamps/cacao.stamp): Depend on rt.stamp and use updated rt.jar to build against rather than the contents of lib/rt, so that --with-openjdk builds work. diffstat: 2 files changed, 10 insertions(+), 2 deletions(-) ChangeLog | 8 ++++++++ Makefile.am | 4 ++-- diffs (36 lines): diff -r ccba25fc9759 -r e1e9efa47cbe ChangeLog --- a/ChangeLog Mon Mar 01 19:48:43 2010 +0000 +++ b/ChangeLog Mon Mar 01 21:20:35 2010 +0000 @@ -1,3 +1,11 @@ 2010-03-01 Andrew John Hughes + + * Makefile.am: + (stamps/cacao.stamp): Depend on rt.stamp + and use updated rt.jar to build against rather + than the contents of lib/rt, so that --with-openjdk + builds work. + 2010-03-01 Andrew John Hughes * Makefile.am: diff -r ccba25fc9759 -r e1e9efa47cbe Makefile.am --- a/Makefile.am Mon Mar 01 19:48:43 2010 +0000 +++ b/Makefile.am Mon Mar 01 21:20:35 2010 +0000 @@ -1863,7 +1863,7 @@ clean-visualvm: # CACAO -stamps/cacao.stamp: $(OPENJDK_TREE) stamps/rt-class-files.stamp +stamps/cacao.stamp: $(OPENJDK_TREE) stamps/rt.stamp if BUILD_CACAO if !USE_SYSTEM_CACAO cd cacao/cacao && \ @@ -1874,7 +1874,7 @@ if !USE_SYSTEM_CACAO --prefix=$(abs_top_builddir)/cacao/install \ --with-java-runtime-library=openjdk \ --with-java-runtime-library-prefix=$(abs_top_builddir)/openjdk \ - --with-java-runtime-library-classes=$(abs_top_builddir)/lib/rt \ + --with-java-runtime-library-classes=$(ICEDTEA_RT) \ --enable-jre-layout $(CACAO_CONFIGURE_ARGS); \ $(ARCH_PREFIX) $(MAKE) install ln -s server $(abs_top_builddir)/cacao/install/jre/lib/$(INSTALL_ARCH_DIR)/client From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 13:21:05 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 21:21:05 +0000 Subject: [Bug 125] JabRef will not start Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=125 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86_64 Version|unspecified |7-1.5 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 13:21:26 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 21:21:26 +0000 Subject: [Bug 126] core dump on ubuntu hardy amd64 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=126 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #61 mime|application/octet-stream |text/plain type| | -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 13:21:44 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 21:21:44 +0000 Subject: [Bug 126] core dump on ubuntu hardy amd64 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=126 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86_64 Version|unspecified |7-1.5 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From gnu_andrew at member.fsf.org Mon Mar 1 13:31:27 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Mon, 1 Mar 2010 21:31:27 +0000 Subject: 6b18 build problems In-Reply-To: <4B7F1E8B.6040904@ubuntu.com> References: <4B7F1E8B.6040904@ubuntu.com> Message-ID: <17c6771e1003011331v56a05fd5i5fe31eae42f54f78@mail.gmail.com> On 19 February 2010 23:28, Matthias Klose wrote: > seen some build problems with 6b18 > > ?- ant-1.8 returns an error code != 0 calling ant -diagnostics, > ? breaking the build. if this is intended, then we need a > ? workaround in openjdk. > 1.8 works fine here. The Gentoo build had to request the xerces and xalan tasks for 1.8 explicitly, but otherwise works. Looks like a distro packaging issue or Ant bug rather than an OpenJDK or IcedTea bug. > ?- cacao build failure when configured with > ? ? --with-openjdk=/usr/lib/jvm/java-6-openjdk > ? ? --with-hotspot-build=original > ? ? --with-additional-vms=cacao > ? works with a two stage build using gcj. > Fixed. The build relied on the contents of lib/rt. What actually ended up in there depended on the compiler and which classes it compiled. In the case of OpenJDK builds, a speedup was added so these bootstrap classes weren't build as they are already in the bootstrap JDK. It now uses rt.jar, which will either be the OpenJDK symlinked one or the updated version produced by rt.stamp for gcj builds. A no-bootstrap --enable-cacao build worked for me with this fix, where previously it crashed out unable to find java.lang.Object. > ? details: > > http://launchpadlibrarian.net/39430688/buildlog_ubuntu-lucid-armel.openjdk-6_6b18~pre1-0ubuntu1_FAILEDTOBUILD.txt.gz > > ?- make jtregcheck starts rebuilding the whole openjdk again. apparently > ? an out of date stamp, or a missing stamp. still searching for this one. > ? any ideas? > Three problems, all on top of each other: - icedtea-against-icedtea was a pseudo-target rather than a stamp and so was always being rebuilt. It's now a stamp. - Likewise, tools.jar is now tools.stamp. When tools.jar changed from a regular file to a symlink, the timestamp of rt.jar was used by make, which is updated after plugs.stamp is built. Having to rebuild plugs causes a domino effect leading to icedtea being rebuilt. - There was a typo in plugin.stamp so plugin.stamp was never created but icedtea-plugin.stamp was. All the above are now fixed and a make jtreg goes straight into building jtreg. > Matthias > -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From gnu_andrew at member.fsf.org Mon Mar 1 13:33:50 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Mon, 1 Mar 2010 21:33:50 +0000 Subject: 6b18 build problems In-Reply-To: <4B804BBE.4030706@ubuntu.com> References: <4B7F1E8B.6040904@ubuntu.com> <17c6771e1002200319x751ad52bi69f60762795a6cb2@mail.gmail.com> <4B7FF333.3080402@ubuntu.com> <4B804BBE.4030706@ubuntu.com> Message-ID: <17c6771e1003011333p27f67c66r103bc396a91d463a@mail.gmail.com> On 20 February 2010 20:53, Matthias Klose wrote: > On 20.02.2010 15:35, Matthias Klose wrote: >> >> On 20.02.2010 12:19, Andrew John Hughes wrote: >>> >>> On 19 February 2010 23:28, Matthias Klose wrote: > >>>> >>>> http://launchpadlibrarian.net/39430688/buildlog_ubuntu-lucid-armel.openjdk-6_6b18~pre1-0ubuntu1_FAILEDTOBUILD.txt.gz >>>> >>>> >>>> - make jtregcheck starts rebuilding the whole openjdk again. apparently >>>> an out of date stamp, or a missing stamp. still searching for this one. >>>> any ideas? >>> >>> No, other than make sure you're using the latest HEAD as I did fix a >>> few issues yesterday. >> >> no, didn't fix. Mark (W.), is this seen on the buildd's as well, when >> running make && make check? > > this seems to be broken by the recent IcedTea6 changes when updated to b18: > > ?Prerequisite `bootstrap/jdk1.7.0/jre/lib/tools.jar' > ? ? is newer than target `stamps/plugs.stamp'. > ?Must remake target `stamps/plugs.stamp'. > > The `bootstrap/jdk1.7.0/jre/lib/tools.jar' seems to be a micro optimization > (only build it once for the openjdk-ecj and openjdk builds?). > > The tools.jar symlink seems to be modified in the > stamps/bootstrap-directory-ecj.stamp target as well. > It was a file before. Now, as a symlink, it appears newer. Fixed by replacing with tools.stamp. > I'm adding the add-*.stamp targets to the jtreg target so that these targets > are rebuilt as well, but that doesn't fix the original bug. > Fixed by changing to the icedtea-against-icedtea target. I reverted the change to make icedtea an alias for three targets, as our convention is to alias targets to the name of the stamp (or near enough). icedtea-against-icedtea provides icedtea with add-cacao and add-zero already and jtreg depends on it (in stamp form). > ?Matthias > -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 13:44:51 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 21:44:51 +0000 Subject: [Bug 127] SmartSVN cannot commit Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=127 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|major |normal Platform|other |x86 Version|unspecified |7-1.4 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 13:56:34 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 21:56:34 +0000 Subject: [Bug 129] Crash when running Batik Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=129 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86_64 Version|unspecified |7-1.5 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 14:36:42 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 22:36:42 +0000 Subject: [Bug 130] -XX:+TraceThreadEvents hangs or crashes Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=130 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Platform|other |x86_64 Resolution|FIXED | Version|unspecified |7-1.5 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 14:36:57 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 22:36:57 +0000 Subject: [Bug 130] -XX:+TraceThreadEvents hangs or crashes Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=130 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED Resolution| |INVALID -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 14:37:59 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 22:37:59 +0000 Subject: [Bug 133] Tomcat+SSL: Invalid keystore format Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=133 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |all Version|unspecified |6-hg -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 14:38:35 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 22:38:35 +0000 Subject: [Bug 134] Java on linux amd64. Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=134 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86_64 Version|unspecified |7-1.5 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 14:39:25 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 22:39:25 +0000 Subject: [Bug 137] icedtea6 build fails on Debian unstable (sid) with "missing return value" Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=137 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|FIXED | -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 14:39:55 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 22:39:55 +0000 Subject: [Bug 137] icedtea6 build fails on Debian unstable (sid) with "missing return value" Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=137 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED Platform|other |x86 Resolution| |WORKSFORME Version|unspecified |6-hg -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 14:40:34 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 22:40:34 +0000 Subject: [Bug 139] no source included for maf-1_0.jar, jlfgr-1_0.jar Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=139 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Licensing Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 14:40:43 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 22:40:43 +0000 Subject: [Bug 141] corba .prp files "contain restricted materials of IBM" Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=141 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Licensing Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 14:41:14 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 22:41:14 +0000 Subject: [Bug 142] corrupt and/or files which cannot be built from the source files Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=142 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Licensing Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 14:41:48 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 22:41:48 +0000 Subject: [Bug 143] (J)Hat tool has conflicting GPL/SPL license terms Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=143 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Licensing Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 14:42:04 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 22:42:04 +0000 Subject: [Bug 144] jvmtiLib.xsl and archDesc.cpp generate files with SUN PROPRIETARY/CONFIDENTIAL notices (openjdk6 only) Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=144 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Licensing Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 14:58:18 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 22:58:18 +0000 Subject: [Bug 145] hotspot copy.cpp and vmStructs_parNew.hpp source files contains proprietary sun notice (openjdk6 only) Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=145 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Licensing Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 14:58:41 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 22:58:41 +0000 Subject: [Bug 147] Queens.class isn't built from source Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=147 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Licensing Platform|other |all Summary|Queens.class isn't build |Queens.class isn't built |from source |from source -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 14:58:51 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 22:58:51 +0000 Subject: [Bug 148] AutoMulti and TestALFGenerator generates Sun proprietary notices Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=148 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Licensing Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 1 14:59:16 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 01 Mar 2010 22:59:16 +0000 Subject: [Bug 149] soundbank.gm binary file included in sources Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=149 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Licensing Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 04:38:26 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 12:38:26 +0000 Subject: [Bug 151] Java applet embended with object tag not started Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=151 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |GCJWebPlugin Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 04:38:56 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 12:38:56 +0000 Subject: [Bug 152] HotSpot crashes while compiling GNU Classpath! Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=152 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #71 mime|application/octet-stream |text/plain type| | -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 04:39:18 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 12:39:18 +0000 Subject: [Bug 152] HotSpot crashes while compiling GNU Classpath! Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=152 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 04:39:36 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 12:39:36 +0000 Subject: [Bug 155] Eclipse crashes in [libxul.so+0x9c753c] Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=155 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86_64 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 04:39:55 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 12:39:55 +0000 Subject: [Bug 156] Eclipse crashes in [libglib-2.0.so.0+0x54f39] g_slice_alloc+0x139 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=156 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86_64 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 04:40:14 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 12:40:14 +0000 Subject: [Bug 156] Eclipse crashes in [libglib-2.0.so.0+0x54f39] g_slice_alloc+0x139 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=156 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |6-1.2 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 04:41:56 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 12:41:56 +0000 Subject: [Bug 159] deadlock in AWT code Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=159 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |all Version|unspecified |6-hg -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 04:42:59 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 12:42:59 +0000 Subject: [Bug 160] files fontconfig.Fedora.* in 1.6.0-b09 are wrong Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=160 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|FIXED | -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 04:43:07 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 12:43:07 +0000 Subject: [Bug 160] files fontconfig.Fedora.* in 1.6.0-b09 are wrong Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=160 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED Resolution| |INVALID -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 04:43:19 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 12:43:19 +0000 Subject: [Bug 160] files fontconfig.Fedora.* in 1.6.0-b09 are wrong Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=160 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 05:12:37 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 13:12:37 +0000 Subject: [Bug 161] this applet doesn't work with IcedTea plugg-in Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=161 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Plugin Platform|other |x86_64 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 05:13:14 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 13:13:14 +0000 Subject: [Bug 162] SIGILL during compilation of IcedTea 6.1.2 on Gentoo 64 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=162 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86_64 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 05:13:49 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 13:13:49 +0000 Subject: [Bug 164] java error Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=164 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86_64 Version|unspecified |6-1.2 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 05:14:16 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 13:14:16 +0000 Subject: [Bug 165] seg fault with sisc/jdbc Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=165 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86_64 Version|unspecified |6-1.2 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 06:05:22 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 14:05:22 +0000 Subject: [Bug 168] non-free licenses in patches/icedtea-hotspot-6b06-7b24.patch Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=168 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Licensing -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 06:05:35 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 14:05:35 +0000 Subject: [Bug 168] non-free licenses in patches/icedtea-hotspot-6b06-7b24.patch Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=168 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 06:05:52 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 14:05:52 +0000 Subject: [Bug 171] Crash running Solr 1.3 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=171 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86_64 Version|unspecified |7-1.4 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 06:06:14 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 14:06:14 +0000 Subject: [Bug 172] ecj bootstrap configured with --enable-liveconnect fails Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=172 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Bootstrapping Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 06:08:47 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 14:08:47 +0000 Subject: [Bug 173] Cannot play two sounds simultaneously (Linux) Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=173 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 06:09:14 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 14:09:14 +0000 Subject: [Bug 174] patches/icedtea-hotspot-6b06-7b24.patch needs an update for b11 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=174 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Zero Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 06:24:10 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 14:24:10 +0000 Subject: [Bug 176] openjdk 6b11-2 crashes while starting eclipse 3.4 j2ee Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=176 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86_64 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 06:25:00 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 14:25:00 +0000 Subject: [Bug 178] Icedtea7 configure error Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=178 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |IcedTea7 Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 06:25:37 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 14:25:37 +0000 Subject: [Bug 181] enum issue with icedtea Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=181 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86 Version|unspecified |6-1.2 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 06:26:24 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 14:26:24 +0000 Subject: [Bug 183] Build error: Argument list too long Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=183 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Bootstrapping Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 06:26:53 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 14:26:53 +0000 Subject: [Bug 186] Applet does not work Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=186 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |GCJWebPlugin Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 06:27:29 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 14:27:29 +0000 Subject: [Bug 191] Openjdk Crash Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=191 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Plugin Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 06:27:48 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 14:27:48 +0000 Subject: [Bug 193] Java VM crashes in V [libjvm.so+0x45360c] Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=193 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Plugin Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 06:28:11 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 14:28:11 +0000 Subject: [Bug 196] Corba: ioser.c not passed $(MOZILLA_CFLAGS) but includes jni.h Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=196 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 06:29:15 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 14:29:15 +0000 Subject: [Bug 82] Configure.ac script fails to test for g++ or ant Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=82 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 06:29:26 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 14:29:26 +0000 Subject: [Bug 106] BankID plugin fails to load Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=106 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 06:30:02 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 14:30:02 +0000 Subject: [Bug 199] Crash during a build of xerces-j2 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=199 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86_64 Version|unspecified |6-1.2 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 06:30:20 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 14:30:20 +0000 Subject: [Bug 200] java-1.6.0-openjdk-plugin fails to render radar time loop animation Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=200 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Plugin Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 07:19:18 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 15:19:18 +0000 Subject: [Bug 206] Eclipse crashes Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=206 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86_64 Version|unspecified |6-1.2 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 07:19:39 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 15:19:39 +0000 Subject: [Bug 207] Installation failure (eXist) Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=207 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86_64 Version|unspecified |7-1.5 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 07:19:55 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 15:19:55 +0000 Subject: [Bug 208] icedteaplugin error on https://www.netbank.nordea.dk/netbank/ Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=208 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Plugin Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 07:20:12 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 15:20:12 +0000 Subject: [Bug 209] display problems with applet Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=209 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Plugin Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 07:20:27 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 15:20:27 +0000 Subject: [Bug 210] Eclipse IDE for C/C++ crashes while running code Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=210 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|FIXED | -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 07:21:25 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 15:21:25 +0000 Subject: [Bug 210] Eclipse IDE for C/C++ crashes while running code Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=210 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED Platform|other |x86_64 Resolution| |WORKSFORME Version|unspecified |6-hg -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 07:21:38 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 15:21:38 +0000 Subject: [Bug 212] [plugin] applet at jigzone.com not working Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=212 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Plugin Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 07:53:42 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 15:53:42 +0000 Subject: [Bug 213] OpenJDK-6-jre freezes on simple midi app, sun JRE does not Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=213 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 07:54:08 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 15:54:08 +0000 Subject: [Bug 214] Unparseable date with OpenJDK6, works with SunJava6 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=214 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 07:54:45 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 15:54:45 +0000 Subject: [Bug 216] OpenJDK java web start fails to open jnlp files version 1.5 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=216 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |NetX Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 07:55:26 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 15:55:26 +0000 Subject: [Bug 217] LiveConnect applet to JS communication does not work Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=217 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Plugin Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 07:55:40 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 15:55:40 +0000 Subject: [Bug 222] javaws says: Changing the SecurityManager is not allowed Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=222 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |NetX Platform|other |x86_64 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 07:55:55 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 15:55:55 +0000 Subject: [Bug 227] swing TextLayout.getBounds() returns shifted bounds Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=227 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 08:25:55 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 16:25:55 +0000 Subject: [Bug 228] Since I have installed Mandriva 2009, brutal breakdown of my eclipse 3.3.2 platform with JDK 1.6. Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=228 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86 Version|unspecified |6-hg -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 08:26:57 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 16:26:57 +0000 Subject: [Bug 234] HotSpot version should be shown in java -version invocation Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=234 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86_64 Version|unspecified |6-1.2 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 08:27:30 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 16:27:30 +0000 Subject: [Bug 235] Zero/Shark doesn't correctly replace HotSpot in IcedTea6 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=235 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Zero Platform|other |all Version|unspecified |6-hg -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 08:27:46 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 16:27:46 +0000 Subject: [Bug 245] talendOpenStudio Crashes. Log file pasted in description (Issue is repeatable) Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=245 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86_64 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 08:28:09 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 16:28:09 +0000 Subject: [Bug 254] dancing dude not vertically aligned in applet area Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=254 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Plugin Platform|other |all Version|unspecified |6-hg -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 08:28:39 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 16:28:39 +0000 Subject: [Bug 255] label display in swing ui elements needs (inappropriate) additional vertical space Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=255 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |all Version|unspecified |6-hg -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 08:28:59 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 16:28:59 +0000 Subject: [Bug 258] sun proprietary/confidential JarFromManifestFailure.java in openjdk6 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=258 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Licensing Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 08:29:26 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 16:29:26 +0000 Subject: [Bug 259] i found that error in my ~/ so i`m adding it Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=259 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Platform|other |x86 Resolution|FIXED | -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 08:29:39 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 16:29:39 +0000 Subject: [Bug 259] i found that error in my ~/ so i`m adding it Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=259 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED Resolution| |WORKSFORME -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 08:30:50 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 16:30:50 +0000 Subject: [Bug 262] Alt Graph doesnot generate any key event when pressing in French locale Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=262 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86_64 Version|unspecified |6-1.3.1 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 08:31:26 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 16:31:26 +0000 Subject: [Bug 269] icedtea crashed in libgtk Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=269 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86_64 Version|unspecified |6-1.2 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 08:31:46 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 16:31:46 +0000 Subject: [Bug 277] zero fails to build from source when building without precompiled headers Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=277 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Zero Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 08:33:09 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 16:33:09 +0000 Subject: [Bug 278] SIGSEGV in 64 bit JDK 1.6 when using JNI, and both library and Java app are threaded Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=278 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86_64 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 08:33:22 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 16:33:22 +0000 Subject: [Bug 279] SIGSEGV in 64 bit JDK 1.6 when using JNI, and both library and Java app are threaded Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=279 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86_64 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 08:34:09 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 16:34:09 +0000 Subject: [Bug 280] icedtea-bin-3.3.0-r1 fails to open HP WebAdmin interface on HP4050n Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=280 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Plugin Platform|other |x86_64 Version|unspecified |6-1.3.1 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 08:35:21 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 16:35:21 +0000 Subject: [Bug 286] problems running the eclipse, Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=286 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |unspecified -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 08:36:00 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 16:36:00 +0000 Subject: [Bug 287] crash during eclipse update or aptana installation Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=287 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|blocker |normal Platform|other |unspecified -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 08:36:34 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 16:36:34 +0000 Subject: [Bug 289] Gentoo QA Notice: "poor programming practices" Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=289 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86_64 Version|unspecified |6-1.3.1 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Mar 2 08:36:58 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 02 Mar 2010 16:36:58 +0000 Subject: [Bug 292] Crash of Google Web Tookit hosted mode application , in mozilla-1.7.12 libxpcom library Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=292 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Plugin Platform|other |unspecified -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From andrew at icedtea.classpath.org Tue Mar 2 15:53:23 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 02 Mar 2010 23:53:23 +0000 Subject: /hg/icedtea: 3 new changesets Message-ID: changeset d8353d17f9d2 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=d8353d17f9d2 author: Andrew John Hughes date: Fri Jan 29 01:18:02 2010 +0000 Revert doko's patch 663183355f4c; there is already a stamps/plugin.stamp on IcedTea7. 2010-01-29 Andrew John Hughes * Makefile.am: Reverting 663183355f4c. There is already a stamps/plugin.stamp target for IcedTea7. Add plugin alias and absolute path to plugin tree in EXTRA_DIST. changeset 945a9689a9f0 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=945a9689a9f0 author: Andrew John Hughes date: Fri Feb 19 18:06:59 2010 +0000 Forwardport new plugin configure detection to IcedTea7. 2010-01-25 Andrew John Hughes * acinclude.m4: (IT_CHECK_OLD_PLUGIN): New macro for --enable/disable-plugin. (IT_CHECK_NEW_PLUGIN): Likewise for --enable/disable-npplugin. (IT_CHECK_PLUGIN_DEPENDENCIES): New macro to run pkg-config checks. Enables the new plugin if xulrunner 1.9.2 or above is detected. (IT_CHECK_XULRUNNER_VERSION): Obtain the XULrunner vgersion for MOZILLA_VERSION_COLLAPSED. * configure.ac: Replace old plugin stuff with a single call to IT_CHECK_XULRUNNER_VERSION (which depends on the other macros). 2010-01-22 Deepak Bhole * Makefile.am: Use MOZILLA_CFLAGS/LIBS rather than XULRUNNER. * configure.ac: Check for Mozilla not XULrunner. Bring in libxul-unstable as well. * plugin/icedteanp/IcedTeaNPPlugin.cc: Use PRInt32 rather than PRInt32_t for port. changeset a46bc9d90a71 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=a46bc9d90a71 author: Andrew John Hughes date: Tue Mar 02 23:53:14 2010 +0000 Bump to b84 (milestone 6). 2010-03-02 Andrew John Hughes * patches/icedtea-cc-interp-backedge.patch, * patches/icedtea-ia64-bugfix.patch, * patches/icedtea-nss-6763530.patch, * patches/icedtea-test-atomic-operations.patch: Dropped, applied upstream. * Makefile.am: Bump to b84 with updated changesets and JAXP URL (m5->m6). (ICEDTEA_RT): Set to main rt.jar not rt- closed.jar. (JDK_SHARE): Use openjdk-boot for building bootstrap classes. (JDK_SOLARIS): Likewise. (LANGTOOLS): Likewise. (CORBA): Likewise. (ICEDTEA_BOOTSTRAP_RESOURCES): Include javac resources in bootstrap. (PLUGIN_DIR): Removed. (PLUGIN_SRCDIR): Common source directory variable for both plugins. (PLUGIN_BUILD_DIR): Likewise for build directory. (ICEDTEAPLUGIN_TARGET): Updated to include full path. (OPENJDK_TREE): Target for obtaining a patched OpenJDK tree. (OPENJDK_BOOT_TREE): Likewise for openjdk-boot. (ICEDTEA_PATCHES): Remove dead patches. (ICEDTEA_BOOT_PATCHES): Add diamond patch if needed. (stamps /extract-jaxws.stamp): Depend on drops being downloaded as well. (stamps/icedtea.stamp): Use OPENJDK_TREE rather than overlay. The download and extract targets are still needed for other options (visualvm, cacao, etc.). Fix plugin variables and prefix old plugin with build directory. (stamps/icedtea-debug.stamp): Same as above. Also add missing -debug suffix to recent additions. (stamps/icedtea- boot.stamp): Use OPENJDK_BOOT_TREE rather than overlay.stamp and patch-boot.stamp. (IcedTeaNPPlugin.o): Remove redundant target. ($(PLUGIN_BUILD_DIR)/%.o): Use generic rule for building plugin objects. ($(PLUGIN_BUILD_DIR)/IcedTeaNPPlugin.so): Prefix objects rather than using cd. (clean-IcedTeaNPPlugin): Update variable usage. ($(PLUGIN_BUILD_DIR)/IcedTeaPlugin.o): Add build directory prefix. ($(PLUGIN_BUILD_DIR)/IcedTeaPlugin.so): Likewise. (clean-IcedTeaPlugin): Just delete build tree. (liveconnect-source-files.txt): Update plugin variable usage. (rt-source-files.txt): Depend on $(OPENJDK_BOOT_TREE) ensuring ecj patched versions are used. (stamps/rt.stamp): Include resources specified by ICEDTEA_BOOTSTRAP_RESOURCES in rt.jar. * acinclude.m4: (IT_DIAMOND_CHECK): Check if javac supports the use of Map<>. * configure.ac: Add above check. * patches/boot/ecj-diamond.patch: Patch out use of diamond operator if not supported. * patches/boot/fontconfig.patch: Update target dependencies so they fit the new behaviour of copying bfc files rather than generating them. Use install-file rather than install-module-file to also copy the file into libdir. * patches/boot/xbootclasspath.patch: Recreated. Drop dead ICEDTEA_JCE variable. Have rt.jar on the classpath rather than the symlinked tools.jar. * patches/hotspot/default/icedtea-memory-limits.patch, * patches/hotspot/default/icedtea-params-cast-size_t.patch, * patches/hotspot/default/icedtea-shark.patch, * patches/icedtea-headers.patch: Recreated. diffstat: 16 files changed, 566 insertions(+), 362 deletions(-) ChangeLog | 106 +++++++ Makefile.am | 191 +++++++------- acinclude.m4 | 154 +++++++++++ configure.ac | 28 -- patches/boot/ecj-diamond.patch | 51 +++ patches/boot/fontconfig.patch | 22 - patches/boot/xbootclasspath.patch | 49 ++- patches/hotspot/default/icedtea-memory-limits.patch | 35 +- patches/hotspot/default/icedtea-params-cast-size_t.patch | 44 +-- patches/hotspot/default/icedtea-shark.patch | 104 +++---- patches/icedtea-cc-interp-backedge.patch | 13 patches/icedtea-headers.patch | 33 +- patches/icedtea-ia64-bugfix.patch | 16 - patches/icedtea-nss-6763530.patch | 55 ---- patches/icedtea-test-atomic-operations.patch | 25 - plugin/icedteanp/IcedTeaNPPlugin.cc | 2 diffs (truncated from 1620 to 500 lines): diff -r b508e729d94a -r a46bc9d90a71 ChangeLog --- a/ChangeLog Thu Jan 21 16:26:57 2010 +0100 +++ b/ChangeLog Tue Mar 02 23:53:14 2010 +0000 @@ -1,3 +1,107 @@ 2010-01-21 Matthias Klose + + * patches/icedtea-cc-interp-backedge.patch, + * patches/icedtea-ia64-bugfix.patch, + * patches/icedtea-nss-6763530.patch, + * patches/icedtea-test-atomic-operations.patch: + Dropped, applied upstream. + * Makefile.am: + Bump to b84 with updated changesets and JAXP + URL (m5->m6). + (ICEDTEA_RT): Set to main rt.jar not rt-closed.jar. + (JDK_SHARE): Use openjdk-boot for building bootstrap classes. + (JDK_SOLARIS): Likewise. + (LANGTOOLS): Likewise. + (CORBA): Likewise. + (ICEDTEA_BOOTSTRAP_RESOURCES): Include javac resources in + bootstrap. + (PLUGIN_DIR): Removed. + (PLUGIN_SRCDIR): Common source directory variable for both plugins. + (PLUGIN_BUILD_DIR): Likewise for build directory. + (ICEDTEAPLUGIN_TARGET): Updated to include full path. + (OPENJDK_TREE): Target for obtaining a patched OpenJDK tree. + (OPENJDK_BOOT_TREE): Likewise for openjdk-boot. + (ICEDTEA_PATCHES): Remove dead patches. + (ICEDTEA_BOOT_PATCHES): Add diamond patch if needed. + (stamps/extract-jaxws.stamp): Depend on drops being downloaded + as well. + (stamps/icedtea.stamp): Use OPENJDK_TREE rather than overlay. + The download and extract targets are still needed for other + options (visualvm, cacao, etc.). Fix plugin variables and + prefix old plugin with build directory. + (stamps/icedtea-debug.stamp): Same as above. Also add missing + -debug suffix to recent additions. + (stamps/icedtea-boot.stamp): Use OPENJDK_BOOT_TREE rather than + overlay.stamp and patch-boot.stamp. + (IcedTeaNPPlugin.o): Remove redundant target. + ($(PLUGIN_BUILD_DIR)/%.o): Use generic rule for building plugin + objects. + ($(PLUGIN_BUILD_DIR)/IcedTeaNPPlugin.so): Prefix objects rather + than using cd. + (clean-IcedTeaNPPlugin): Update variable usage. + ($(PLUGIN_BUILD_DIR)/IcedTeaPlugin.o): Add build directory prefix. + ($(PLUGIN_BUILD_DIR)/IcedTeaPlugin.so): Likewise. + (clean-IcedTeaPlugin): Just delete build tree. + (liveconnect-source-files.txt): Update plugin variable usage. + (rt-source-files.txt): Depend on $(OPENJDK_BOOT_TREE) ensuring + ecj patched versions are used. + (stamps/rt.stamp): Include resources specified by ICEDTEA_BOOTSTRAP_RESOURCES + in rt.jar. + * acinclude.m4: + (IT_DIAMOND_CHECK): Check if javac supports the use of Map<>. + * configure.ac: Add above check. + * patches/boot/ecj-diamond.patch: + Patch out use of diamond operator if not supported. + * patches/boot/fontconfig.patch: Update target dependencies + so they fit the new behaviour of copying bfc files rather than + generating them. Use install-file rather than install-module-file + to also copy the file into libdir. + * patches/boot/xbootclasspath.patch: + Recreated. Drop dead ICEDTEA_JCE variable. Have rt.jar on the + classpath rather than the symlinked tools.jar. + * patches/hotspot/default/icedtea-memory-limits.patch, + * patches/hotspot/default/icedtea-params-cast-size_t.patch, + * patches/hotspot/default/icedtea-shark.patch, + * patches/icedtea-headers.patch: + Recreated. + +2010-01-25 Andrew John Hughes + + * acinclude.m4: + (IT_CHECK_OLD_PLUGIN): New macro for + --enable/disable-plugin. + (IT_CHECK_NEW_PLUGIN): Likewise for + --enable/disable-npplugin. + (IT_CHECK_PLUGIN_DEPENDENCIES): New macro + to run pkg-config checks. Enables the new + plugin if xulrunner 1.9.2 or above is + detected. + (IT_CHECK_XULRUNNER_VERSION): Obtain the + XULrunner vgersion for MOZILLA_VERSION_COLLAPSED. + * configure.ac: + Replace old plugin stuff with a single call + to IT_CHECK_XULRUNNER_VERSION (which depends + on the other macros). + +2010-01-22 Deepak Bhole + + * Makefile.am: + Use MOZILLA_CFLAGS/LIBS rather than + XULRUNNER. + * configure.ac: + Check for Mozilla not XULrunner. + Bring in libxul-unstable as well. + * plugin/icedteanp/IcedTeaNPPlugin.cc: + Use PRInt32 rather than PRInt32_t for port. + +2010-01-29 Andrew John Hughes + + * Makefile.am: + Reverting 663183355f4c. There is already + a stamps/plugin.stamp target for IcedTea7. + Add plugin alias and absolute path to plugin tree + in EXTRA_DIST. + 2010-01-21 Matthias Klose * Makefile.am: Don't hide errors in statement sequences building @@ -9157,7 +9261,7 @@ 2008-12-04 Andrew John Hughes * .hgignore: Ignore rt/javax/script/*. diff -r b508e729d94a -r a46bc9d90a71 Makefile.am --- a/Makefile.am Thu Jan 21 16:26:57 2010 +0100 +++ b/Makefile.am Tue Mar 02 23:53:14 2010 +0000 @@ -1,22 +1,22 @@ # Dependencies -OPENJDK_VERSION = b78 +OPENJDK_VERSION = b84 -CORBA_CHANGESET = 89141a0869e3 -HOTSPOT_CHANGESET = 54dde9f9887d -JAXP_CHANGESET = f0f127b93c9e -JAXWS_CHANGESET = 4ca731fe3154 -JDK_CHANGESET = cd86da3affff -LANGTOOLS_CHANGESET = 21591a03bfbe -OPENJDK_CHANGESET = f1cf9e78bbad +CORBA_CHANGESET = 007f7db4cbea +HOTSPOT_CHANGESET = 9ee70b22738a +JAXP_CHANGESET = 495072db688b +JAXWS_CHANGESET = 702e7f7e94c3 +JDK_CHANGESET = 917976e88f76 +LANGTOOLS_CHANGESET = 6a6c3d5c6956 +OPENJDK_CHANGESET = 8bab12c58534 -CORBA_SHA256SUM = 0d41c7f3c3571cc95eae4fb4c0faf8dbbcc61846a4591f70b6870d7b4c2c0857 -HOTSPOT_SHA256SUM = 1127102aa1230d26da6b73118576aef872fb2e86d0d946797da737e64c91d6fc -JAXP_SHA256SUM = 89f002ed4e6e4b6449e453284b31c4cbe466dedddeeb20249415c6edb10b52cb -JAXWS_SHA256SUM = 62059bb48e5dad09060bcb79539562f596c77df48345bb35f0e26e815d1cfa6b -JDK_SHA256SUM = 31efd51fc265334046e72b202bf507c1c282d181ce9037e7fcce6215d2fef156 -LANGTOOLS_SHA256SUM = 4bff3af10a14048419bd144a39af2daa82756ca8ec226950d05b91ff99b1d0cc -OPENJDK_SHA256SUM = df47020bf65614156e363a2170ee96f2959e08e62f9eaedacd3591147f858c00 +CORBA_SHA256SUM = 50955e1352e4da5f31c9a27e22bbbc1bee6c3b1c1533650349def2502e5588e0 +HOTSPOT_SHA256SUM = 5349b2baa758ca0750adc73e913e894acd2d54b626da24e55f8592a87542fe24 +JAXP_SHA256SUM = bee3d39feaf266ec1f0293abcde9cddb2553a09b1e400816187efbf86c6a2563 +JAXWS_SHA256SUM = 242f03256d5065b6b5a26f904591051382fe2b5989c31907859ba0c2ea3389fd +JDK_SHA256SUM = 1faa4d03d315dcfdf8554299cbc266566100965ffc2529ba8927a4c43d25fd69 +LANGTOOLS_SHA256SUM = ff0451422ba9ff27a295bb11021c1b19d59d2f02ed893553f7919ddeede6aa2f +OPENJDK_SHA256SUM = 6b0a46f1ca49906ccbe229f4dd5a6cb71914bcff5ce91ace261e88f62336ca97 CACAO_VERSION = 0.99.4 CACAO_SHA256SUM = c6090c1d2ed3c60acda0076b62563598267be8dab270ce49ee1035002a2510cf @@ -37,9 +37,9 @@ JAXWS_DROP_SHA256SUM = 272756b999e9ae243 JAXWS_DROP_SHA256SUM = 272756b999e9ae2435da8d58e259562e61126e1c5b1f9421fe65423217cef8fd JAF_DROP_ZIP = jdk7-jaf-2009_08_28.zip JAF_DROP_SHA256SUM = 8c81940b3017c0058367d7e7453123442f2cdd77c2bfe74acd9035f97e4db8e8 -JAXP_DROP_URL = https://jaxp.dev.java.net/files/documents/913/144160 -JAXP_DROP_ZIP = jdk7-jaxp-m5.zip -JAXP_DROP_SHA256SUM = ebab4c6c4e641a4c95a7b6669e78f9bb1149a11054fc5b423cf292b633d6be53 +JAXP_DROP_URL = https://jaxp.dev.java.net/files/documents/913/147490 +JAXP_DROP_ZIP = jdk7-jaxp-m6.zip +JAXP_DROP_SHA256SUM = 3d9eb7ae71f5365e2a786ba270413c6cb7dc8d1137f56995c087908b3df8446c OPENJDK_HOTSPOT_URL = http://hg.openjdk.java.net/jdk7/hotspot/hotspot @@ -66,10 +66,10 @@ BOOT_BUILD_OUTPUT_DIR = openjdk-boot/bui BOOT_BUILD_OUTPUT_DIR = openjdk-boot/build/$(OS_DIR) ICEDTEA_BUILD_DIR = \ $(abs_top_builddir)/$(BUILD_OUTPUT_DIR) -ICEDTEA_RT = \ - $(abs_top_builddir)/bootstrap/jdk1.7.0/jre/lib/rt-closed.jar ICEDTEA_BOOT_DIR= \ $(abs_top_builddir)/bootstrap/jdk1.6.0 +ICEDTEA_RT = \ + $(ICEDTEA_BOOT_DIR)/jre/lib/rt.jar ICEDTEA_ENDORSED_DIR = \ $(ICEDTEA_BOOT_DIR)/lib/endorsed ICEDTEA_BUILD_DIR_BOOT = \ @@ -82,10 +82,10 @@ BUILD_DEBUG_JRE_ARCH_DIR = $(BUILD_OUTPU # Source directories -JDK_SHARE = openjdk/jdk/src/share/classes -JDK_SOLARIS = openjdk/jdk/src/solaris/classes -LANGTOOLS = openjdk/langtools/src/share/classes -CORBA = openjdk/corba/src/share/classes +JDK_SHARE = openjdk-boot/jdk/src/share/classes +JDK_SOLARIS = openjdk-boot/jdk/src/solaris/classes +LANGTOOLS = openjdk-boot/langtools/src/share/classes +CORBA = openjdk-boot/corba/src/share/classes JAXWS = $(BUILD_OUTPUT_DIR)/jaxws/drop/jaxws_src/src NETX_SRCDIR = $(abs_top_srcdir)/netx @@ -127,6 +127,10 @@ ICEDTEA_BOOTSTRAP_DIRS = \ $(JDK_SHARE)/sun/tools/java \ $(LANGTOOLS)/com/sun/mirror \ $(LANGTOOLS)/com/sun/tools/apt + +ICEDTEA_BOOTSTRAP_RESOURCES = \ + $(LANGTOOLS)/com/sun/tools/javac/resources + endif # Settings for javac @@ -167,26 +171,24 @@ endif endif if ENABLE_NPPLUGIN +PLUGIN_SRCDIR=$(abs_top_srcdir)/plugin/icedteanp +PLUGIN_BUILD_DIR=$(abs_top_builddir)/plugin/icedteanp +ICEDTEANPPLUGIN_TARGET = $(PLUGIN_BUILD_DIR)/IcedTeaNPPlugin.so ICEDTEAPLUGIN_CLEAN = clean-IcedTeaNPPlugin -ICEDTEAPLUGIN_TARGET = stamps/icedtea-npplugin PLUGIN_PATCH = patches/icedtea-liveconnect.patch LIVECONNECT_DIR = sun/applet netscape -PLUGIN_DIR=$(abs_top_srcdir)/plugin/icedteanp JNLP_ABOUT_TARGET = extra-lib/about.jar else if ENABLE_PLUGIN +PLUGIN_SRCDIR=$(abs_top_srcdir)/plugin/icedtea +PLUGIN_BUILD_DIR=$(abs_top_builddir)/plugin/icedtea +ICEDTEAPLUGIN_TARGET = $(PLUGIN_BUILD_DIR)/IcedTeaPlugin.so ICEDTEAPLUGIN_CLEAN = clean-IcedTeaPlugin -ICEDTEAPLUGIN_TARGET = IcedTeaPlugin.so PLUGIN_PATCH = patches/icedtea-liveconnect.patch LIVECONNECT_DIR = sun/applet netscape -PLUGIN_DIR=$(abs_top_srcdir)/plugin/icedtea JNLP_ABOUT_TARGET = extra-lib/about.jar else -ICEDTEAPLUGIN_CLEAN = -ICEDTEAPLUGIN_TARGET = PLUGIN_PATCH = patches/icedtea-plugin.patch -LIVECONNECT_DIR = -JNLP_ABOUT_TARGET = endif endif @@ -234,6 +236,15 @@ else ICEDTEA_HOME = $(SYSTEM_JDK_DIR) INITIAL_BOOTSTRAP_LINK_STAMP = stamps/bootstrap-directory-symlink-stage2.stamp endif + +# Target to ensure a patched OpenJDK tree containing Zero & Shark +# and any overlays is available in $(abs_top_builddir)/openjdk +OPENJDK_TREE = stamps/overlay.stamp + +# Target to ensure a patched OpenJDK bootstrap tree containing +# Zero & Shark, any other overlays and the bootstrapping patches +# is available in $(abs_top_builddir)/openjdk-boot +OPENJDK_BOOT_TREE = stamps/patch-boot.stamp # Patch list @@ -286,8 +297,6 @@ ICEDTEA_PATCHES = \ patches/icedtea-samejvm-safe.patch \ patches/icedtea-pr261.patch \ patches/icedtea-doc-headers.patch \ - patches/icedtea-test-atomic-operations.patch \ - patches/icedtea-ia64-bugfix.patch \ patches/hotspot/$(HSBUILD)/icedtea-parisc-opt.patch \ patches/security/icedtea-6592792.patch \ patches/security/icedtea-6733959.patch \ @@ -295,7 +304,6 @@ ICEDTEA_PATCHES = \ patches/hotspot/$(HSBUILD)/icedtea-includedb.patch \ patches/icedtea-demo-swingapplet.patch \ patches/icedtea-jvmtiEnv.patch \ - patches/icedtea-cc-interp-backedge.patch \ patches/icedtea-netx.patch \ patches/icedtea-disable-intree-ec.patch \ patches/icedtea-sources.patch @@ -355,8 +363,7 @@ endif endif if ENABLE_NSS -ICEDTEA_PATCHES += patches/icedtea-nss-config.patch \ - patches/icedtea-nss-6763530.patch +ICEDTEA_PATCHES += patches/icedtea-nss-config.patch endif ICEDTEA_PATCHES += $(DISTRIBUTION_PATCHES) @@ -383,7 +390,8 @@ ICEDTEA_BOOT_PATCHES = patches/boot/ant- patches/boot/icedtea-hotspot-$(HSBUILD).patch \ patches/boot/icedtea-jopt.patch \ patches/boot/icedtea-dyn.patch \ - patches/boot/icedtea-jaxp-dependency.patch + patches/boot/icedtea-jaxp-dependency.patch \ + patches/boot/genstubs-nofork.patch if CP39408_JAVAH ICEDTEA_BOOT_PATCHES += patches/boot/icedtea-pr39408.patch @@ -411,6 +419,10 @@ if CP40630 if CP40630 ICEDTEA_BOOT_PATCHES += $(SCANNER_PATCHES) endif +endif + +if JAVAC_LACKS_DIAMOND +ICEDTEA_BOOT_PATCHES += patches/boot/ecj-diamond.patch endif # Patches for JAXWS @@ -680,7 +692,8 @@ EXTRA_DIST = $(GENERATED_FILES) $(top_sr $(JTREG_SRCS) \ IcedTeaPlugin.cc \ HACKING $(PULSEAUDIO_SRCS) fsg.sh \ - plugin $(top_srcdir)/netx hotspot.map autogen.sh + $(abs_top_srcdir)/plugin $(top_srcdir)/netx \ + hotspot.map autogen.sh # Top-Level Targets # ================= @@ -1271,7 +1284,8 @@ clean-extract-cacao: clean-cacao clean-extract-cacao: clean-cacao rm -f stamps/extract-cacao.stamp -stamps/extract-jaxws.stamp: stamps/extract-openjdk.stamp +stamps/extract-jaxws.stamp: stamps/extract-openjdk.stamp \ + stamps/download-jaxws-drop.stamp stamps/download-jaf-drop.stamp if test "x$(NEED_JAXWS_SRC)" = "xtrue"; then \ (cd openjdk/jaxws ; \ $(ANT) -Ddrops.dir=$(abs_top_builddir)/drops \ @@ -1555,7 +1569,7 @@ clean-overlay: # ====================================== # Copy over OpenJDK sources for bootstrap. -stamps/clone-boot.stamp: stamps/overlay.stamp +stamps/clone-boot.stamp: $(OPENJDK_TREE) if ! test -d openjdk-boot ; then \ cp -pPRl openjdk openjdk-boot ; \ fi @@ -1723,7 +1737,7 @@ clean-bootstrap-directory-symlink-stage2 # If you change anything here in the icedtea target, please make sure # you change it in the icedtea-debug target as well. stamps/icedtea.stamp: stamps/bootstrap-directory-symlink-stage2.stamp \ - stamps/download.stamp stamps/extract.stamp stamps/overlay.stamp \ + stamps/download.stamp stamps/extract.stamp $(OPENJDK_TREE) \ stamps/plugin.stamp $(JNLP_ABOUT_TARGET) stamps/cacao.stamp \ stamps/netx-dist.stamp stamps/liveconnect-dist.stamp stamps/pulse-java.stamp $(ARCH_PREFIX) $(MAKE) \ @@ -1735,16 +1749,17 @@ stamps/icedtea.stamp: stamps/bootstrap-d mkdir -p $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/ext mkdir -p $(BUILD_OUTPUT_DIR)/j2re-image/lib/ext if ENABLE_NPPLUGIN - cp -pPRf $(PLUGIN_DIR)/IcedTeaNPPlugin.so \ + cp -pPRf $(PLUGIN_BUILD_DIR)/IcedTeaNPPlugin.so \ $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) - cp -pPRf $(PLUGIN_DIR)/IcedTeaNPPlugin.so \ + cp -pPRf $(PLUGIN_BUILD_DIR)/IcedTeaNPPlugin.so \ + $(BUILD_OUTPUT_DIR)/j2re-image/lib/$(INSTALL_ARCH_DIR) +else +if ENABLE_PLUGIN + cp -pPRf $(PLUGIN_BUILD_DIR)/IcedTeaPlugin.so \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) + cp -pPRf $(PLUGIN_BUILD_DIR)/IcedTeaPlugin.so \ $(BUILD_OUTPUT_DIR)/j2re-image/lib/$(INSTALL_ARCH_DIR) endif -if ENABLE_PLUGIN - cp -pPRf IcedTeaPlugin.so \ - $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) - cp -pPRf IcedTeaPlugin.so \ - $(BUILD_OUTPUT_DIR)/j2re-image/lib/$(INSTALL_ARCH_DIR) endif if ENABLE_PULSE_JAVA cp -pPRf libpulse-java.so \ @@ -1798,7 +1813,7 @@ endif touch $@ stamps/icedtea-debug.stamp: stamps/bootstrap-directory-symlink-stage2.stamp \ - stamps/download.stamp stamps/extract.stamp stamps/overlay.stamp \ + stamps/download.stamp stamps/extract.stamp $(OPENJDK_TREE) \ stamps/plugin.stamp $(JNLP_ABOUT_TARGET) stamps/cacao.stamp \ stamps/netx-dist.stamp stamps/liveconnect-dist.stamp stamps/pulse-java.stamp $(ARCH_PREFIX) $(MAKE) \ @@ -1810,16 +1825,17 @@ stamps/icedtea-debug.stamp: stamps/boots mkdir -p $(BUILD_OUTPUT_DIR)-debug/j2sdk-image/jre/lib/ext mkdir -p $(BUILD_OUTPUT_DIR)-debug/j2re-image/lib/ext if ENABLE_NPPLUGIN - cp -pPRf IcedTeaNPPlugin.so \ + cp -pPRf $(PLUGIN_BUILD_DIR)/IcedTeaNPPlugin.so \ $(BUILD_OUTPUT_DIR)-debug/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) - cp -pPRf IcedTeaNPPlugin.so \ + cp -pPRf $(PLUGIN_BUILD_DIR)/IcedTeaNPPlugin.so \ + $(BUILD_OUTPUT_DIR)-debug/j2re-image/lib/$(INSTALL_ARCH_DIR) +else +if ENABLE_PLUGIN + cp -pPRf $(PLUGIN_BUILD_DIR)/IcedTeaPlugin.so \ + $(BUILD_OUTPUT_DIR)-debug/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) + cp -pPRf $(PLUGIN_BUILD_DIR)/IcedTeaPlugin.so \ $(BUILD_OUTPUT_DIR)-debug/j2re-image/lib/$(INSTALL_ARCH_DIR) endif -if ENABLE_PLUGIN - cp -pPRf IcedTeaPlugin.so \ - $(BUILD_OUTPUT_DIR)-debug/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) - cp -pPRf IcedTeaPlugin.so \ - $(BUILD_OUTPUT_DIR)-debug/j2re-image/lib/$(INSTALL_ARCH_DIR) endif if ENABLE_PULSE_JAVA cp -pPRf libpulse-java.so \ @@ -1849,24 +1865,24 @@ if WITH_CACAO printf -- '-cacao ALIASED_TO -server\n' >> $(BUILD_DEBUG_JRE_ARCH_DIR)/jvm.cfg endif if ENABLE_SYSTEMTAP - mkdir -p $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset ; \ + mkdir -p $(BUILD_OUTPUT_DIR)-debug/j2sdk-image/tapset ; \ grep "client IGNORE" $(BUILD_JRE_ARCH_DIR)/jvm.cfg; \ if test $$? -eq 0; then \ sed -e '/\/client\/libjvm.so/d' \ < $(abs_top_builddir)/tapset/hotspot.stp \ - > $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot.stp; \ + > $(BUILD_OUTPUT_DIR)-debug/j2sdk-image/tapset/hotspot.stp; \ else \ cp $(abs_top_builddir)/tapset/hotspot.stp \ - $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot.stp; \ + $(BUILD_OUTPUT_DIR)-debug/j2sdk-image/tapset/hotspot.stp; \ fi endif if ENABLE_NSS cp $(abs_top_builddir)/nss.cfg \ - $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security; + $(BUILD_OUTPUT_DIR)-debug/j2sdk-image/jre/lib/security; endif if WITH_TZDATA_DIR cp $(abs_top_builddir)/tz.properties \ - $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib; + $(BUILD_OUTPUT_DIR)-debug/j2sdk-image/jre/lib; endif @echo "IcedTea (debug build) is served:" \ $(BUILD_OUTPUT_DIR)-debug @@ -1902,9 +1918,8 @@ clean-icedtea-debug-stage2: # =================== stamps/icedtea-boot.stamp: stamps/bootstrap-directory-symlink-stage1.stamp \ - stamps/download.stamp stamps/extract.stamp stamps/overlay.stamp \ - stamps/plugs.stamp stamps/netx-dist.stamp stamps/liveconnect-dist.stamp \ - stamps/patch-boot.stamp stamps/cacao.stamp + stamps/download.stamp $(OPENJDK_BOOT_TREE) stamps/plugs.stamp \ + stamps/netx-dist.stamp stamps/liveconnect-dist.stamp stamps/cacao.stamp $(ARCH_PREFIX) $(MAKE) \ $(ICEDTEA_ENV_BOOT) \ -C openjdk-boot \ @@ -1953,8 +1968,6 @@ if ENABLE_NPPLUGIN # Separate compile and link invocations to ensure intermediate object # is listed before -l options. See: # http://developer.mozilla.org/en/docs/XPCOM_Glue -IcedTeaNPPlugin.o: IcedTeaNPPlugin.cc - NPPLUGIN_SRC=IcedTeaNPPlugin.cc IcedTeaScriptablePluginObject.cc \ IcedTeaJavaRequestProcessor.cc IcedTeaPluginRequestProcessor.cc \ IcedTeaPluginUtils.cc @@ -1963,8 +1976,9 @@ NPPLUGIN_OBJECTS=IcedTeaNPPlugin.o IcedT IcedTeaJavaRequestProcessor.o IcedTeaPluginRequestProcessor.o \ IcedTeaPluginUtils.o -$(addprefix $(NPPLUGIN_DIR)/,$(NPPLUGIN_OBJECTS)): $(addprefix $(NPPLUGIN_DIR)/,$(NPPLUGIN_SRC)) - cd $(PLUGIN_DIR) && \ +$(PLUGIN_BUILD_DIR)/%.o: $(PLUGIN_SRCDIR)/%.cc + mkdir -p $(PLUGIN_BUILD_DIR) && \ + cd $(PLUGIN_BUILD_DIR) && \ $(CXX) $(CXXFLAGS) \ -DPACKAGE_VERSION="\"$(PACKAGE_VERSION)\"" \ -DPLUGIN_VERSION="\"$(PACKAGE_VERSION)$(ICEDTEA_REV)\"" \ @@ -1972,22 +1986,18 @@ NPPLUGIN_OBJECTS=IcedTeaNPPlugin.o IcedT $(GLIB_CFLAGS) \ $(GTK_CFLAGS) \ $(MOZILLA_CFLAGS) \ - -fPIC -c $(NPPLUGIN_SRC) + -fPIC -o $@ -c $< -$(NPPLUGIN_DIR)/IcedTeaNPPlugin.so: $(addprefix $(NPPLUGIN_DIR)/,$(NPPLUGIN_OBJECTS)) - cd $(PLUGIN_DIR) && \ +$(PLUGIN_BUILD_DIR)/IcedTeaNPPlugin.so: $(addprefix $(PLUGIN_BUILD_DIR)/,$(NPPLUGIN_OBJECTS)) $(CXX) $(CXXFLAGS) \ - $(NPPLUGIN_OBJECTS) \ + $(addprefix $(PLUGIN_BUILD_DIR)/,$(NPPLUGIN_OBJECTS)) \ $(GLIB_LIBS) \ $(GTK_LIBS) \ $(MOZILLA_LIBS)\ -shared -o $@ -stamps/icedtea-npplugin: $(NPPLUGIN_DIR)/IcedTeaNPPlugin.so - touch stamps/icedtea-npplugin - clean-IcedTeaNPPlugin: - cd $(PLUGIN_DIR); \ + cd $(PLUGIN_BUILD_DIR); \ rm -f *.o; \ rm -f IcedTeaNPPlugin.so; \ cd ../ @@ -1998,7 +2008,7 @@ if ENABLE_PLUGIN # Separate compile and link invocations to ensure intermediate object # is listed before -l options. See: From andrew at icedtea.classpath.org Tue Mar 2 16:52:22 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 03 Mar 2010 00:52:22 +0000 Subject: /hg/icedtea: Add missing genstubs-nofork.patch Message-ID: changeset a78f9278f99e in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=a78f9278f99e author: Andrew John Hughes date: Wed Mar 03 00:52:15 2010 +0000 Add missing genstubs-nofork.patch 2010-03-02 Andrew John Hughes * patches/boot/genstubs-nofork.patch: Add missing patch. This causes the genstubs Ant task to not fork a new process. Doing so with gcj causes the build to hang. diffstat: 2 files changed, 19 insertions(+) ChangeLog | 7 +++++++ patches/boot/genstubs-nofork.patch | 12 ++++++++++++ diffs (30 lines): diff -r a46bc9d90a71 -r a78f9278f99e ChangeLog --- a/ChangeLog Tue Mar 02 23:53:14 2010 +0000 +++ b/ChangeLog Wed Mar 03 00:52:15 2010 +0000 @@ -1,3 +1,10 @@ 2010-03-02 Andrew John Hughes + + * patches/boot/genstubs-nofork.patch: + Add missing patch. This causes the + genstubs Ant task to not fork a new process. + Doing so with gcj causes the build to hang. + 2010-03-02 Andrew John Hughes * patches/icedtea-cc-interp-backedge.patch, diff -r a46bc9d90a71 -r a78f9278f99e patches/boot/genstubs-nofork.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/boot/genstubs-nofork.patch Wed Mar 03 00:52:15 2010 +0000 @@ -0,0 +1,12 @@ +diff -r bab75805f846 make/build.xml +--- openjdk-boot.orig/langtools/make/build.xml Fri Feb 19 17:14:22 2010 +0000 ++++ openjdk-boot/langtools/make/build.xml Tue Feb 23 19:26:20 2010 +0000 +@@ -433,7 +433,7 @@ + + + From andrew at icedtea.classpath.org Tue Mar 2 19:15:28 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 03 Mar 2010 03:15:28 +0000 Subject: /hg/icedtea: Differentiate the plugin build directory from the s... Message-ID: changeset fd1500c0d6e8 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=fd1500c0d6e8 author: Andrew John Hughes date: Wed Mar 03 03:15:21 2010 +0000 Differentiate the plugin build directory from the source directory. 2010-03-03 Andrew John Hughes * Makefile.am: (PLUGIN_BUILD_DIR): Name the build directory differently so it doesn't conflict when srcdir==builddir. (clean-IcedTeaNPPlugin): Avoid needless use of cd by using absolute paths. (clean- IcedTeaPlugin): Explicitly name files as in clean- IcedTeaNPPlugin. (clean-plugin): Remove the plugin build directory using rmdir. This will fail if anything unexpected is left in the build directory. diffstat: 2 files changed, 23 insertions(+), 7 deletions(-) ChangeLog | 14 ++++++++++++++ Makefile.am | 16 +++++++++------- diffs (75 lines): diff -r a78f9278f99e -r fd1500c0d6e8 ChangeLog --- a/ChangeLog Wed Mar 03 00:52:15 2010 +0000 +++ b/ChangeLog Wed Mar 03 03:15:21 2010 +0000 @@ -1,3 +1,17 @@ 2010-03-02 Andrew John Hughes + + * Makefile.am: + (PLUGIN_BUILD_DIR): Name the build directory + differently so it doesn't conflict when + srcdir==builddir. + (clean-IcedTeaNPPlugin): Avoid needless use + of cd by using absolute paths. + (clean-IcedTeaPlugin): Explicitly name files + as in clean-IcedTeaNPPlugin. + (clean-plugin): Remove the plugin build directory + using rmdir. This will fail if anything unexpected + is left in the build directory. + 2010-03-02 Andrew John Hughes * patches/boot/genstubs-nofork.patch: diff -r a78f9278f99e -r fd1500c0d6e8 Makefile.am --- a/Makefile.am Wed Mar 03 00:52:15 2010 +0000 +++ b/Makefile.am Wed Mar 03 03:15:21 2010 +0000 @@ -172,7 +172,7 @@ endif if ENABLE_NPPLUGIN PLUGIN_SRCDIR=$(abs_top_srcdir)/plugin/icedteanp -PLUGIN_BUILD_DIR=$(abs_top_builddir)/plugin/icedteanp +PLUGIN_BUILD_DIR=$(abs_top_builddir)/plugin.build/icedteanp ICEDTEANPPLUGIN_TARGET = $(PLUGIN_BUILD_DIR)/IcedTeaNPPlugin.so ICEDTEAPLUGIN_CLEAN = clean-IcedTeaNPPlugin PLUGIN_PATCH = patches/icedtea-liveconnect.patch @@ -181,7 +181,7 @@ else else if ENABLE_PLUGIN PLUGIN_SRCDIR=$(abs_top_srcdir)/plugin/icedtea -PLUGIN_BUILD_DIR=$(abs_top_builddir)/plugin/icedtea +PLUGIN_BUILD_DIR=$(abs_top_builddir)/plugin.build/icedtea ICEDTEAPLUGIN_TARGET = $(PLUGIN_BUILD_DIR)/IcedTeaPlugin.so ICEDTEAPLUGIN_CLEAN = clean-IcedTeaPlugin PLUGIN_PATCH = patches/icedtea-liveconnect.patch @@ -1997,10 +1997,8 @@ NPPLUGIN_OBJECTS=IcedTeaNPPlugin.o IcedT -shared -o $@ clean-IcedTeaNPPlugin: - cd $(PLUGIN_BUILD_DIR); \ - rm -f *.o; \ - rm -f IcedTeaNPPlugin.so; \ - cd ../ + rm -f $(addprefix $(PLUGIN_BUILD_DIR)/,$(NPPLUGIN_OBJECTS)) + rm -f $(PLUGIN_BUILD_DIR)/IcedTeaNPPlugin.so endif if ENABLE_PLUGIN @@ -2030,7 +2028,8 @@ if ENABLE_PLUGIN -shared -o $@ clean-IcedTeaPlugin: - rm -rf $(PLUGIN_BUILD_DIR) + rm -f $(PLUGIN_BUILD_DIR)/IcedTeaPlugin.o + rm -f $(PLUGIN_BUILD_DIR)/IcedTeaPlugin.so endif stamps/plugin.stamp: $(ICEDTEAPLUGIN_TARGET) $(ICEDTEANPPLUGIN_TARGET) @@ -2038,6 +2037,9 @@ stamps/plugin.stamp: $(ICEDTEAPLUGIN_TAR touch $@ clean-plugin: $(ICEDTEAPLUGIN_CLEAN) $(ICEDTEANPPLUGIN_CLEAN) + if [ -e $(PLUGIN_BUILD_DIR) ] ; then \ + rmdir $(PLUGIN_BUILD_DIR) ; \ + fi rm -f stamps/plugin.stamp liveconnect-source-files.txt: From andrew at icedtea.classpath.org Wed Mar 3 04:42:36 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 03 Mar 2010 12:42:36 +0000 Subject: /hg/icedtea: Ensure build directory is created for old plugin. Message-ID: changeset c9ad770e663e in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=c9ad770e663e author: Andrew John Hughes date: Wed Mar 03 12:42:29 2010 +0000 Ensure build directory is created for old plugin. 2010-03-03 Andrew John Hughes * Makefile.am: ($(PLUGIN_BUILD_DIR)/%.o): Remove unnecessary cd. ($(PLUGIN_BUILD_DIR)/IcedTeaPlugin.o): Create build directory. diffstat: 2 files changed, 8 insertions(+), 1 deletion(-) ChangeLog | 7 +++++++ Makefile.am | 2 +- diffs (33 lines): diff -r fd1500c0d6e8 -r c9ad770e663e ChangeLog --- a/ChangeLog Wed Mar 03 03:15:21 2010 +0000 +++ b/ChangeLog Wed Mar 03 12:42:29 2010 +0000 @@ -1,3 +1,10 @@ 2010-03-03 Andrew John Hughes + + * Makefile.am: + ($(PLUGIN_BUILD_DIR)/%.o): Remove unnecessary cd. + ($(PLUGIN_BUILD_DIR)/IcedTeaPlugin.o): Create + build directory. + 2010-03-03 Andrew John Hughes * Makefile.am: diff -r fd1500c0d6e8 -r c9ad770e663e Makefile.am --- a/Makefile.am Wed Mar 03 03:15:21 2010 +0000 +++ b/Makefile.am Wed Mar 03 12:42:29 2010 +0000 @@ -1978,7 +1978,6 @@ NPPLUGIN_OBJECTS=IcedTeaNPPlugin.o IcedT $(PLUGIN_BUILD_DIR)/%.o: $(PLUGIN_SRCDIR)/%.cc mkdir -p $(PLUGIN_BUILD_DIR) && \ - cd $(PLUGIN_BUILD_DIR) && \ $(CXX) $(CXXFLAGS) \ -DPACKAGE_VERSION="\"$(PACKAGE_VERSION)\"" \ -DPLUGIN_VERSION="\"$(PACKAGE_VERSION)$(ICEDTEA_REV)\"" \ @@ -2012,6 +2011,7 @@ if ENABLE_PLUGIN fi ; \ if [ -n "$(PKGVERSION)" ]; then plugin_version=" ($(PKGVERSION))"; fi; \ plugin_version=" $(PACKAGE_VERSION)$$revision$$plugin_version"; \ + mkdir -p $(PLUGIN_BUILD_DIR) && \ $(CXX) $(CXXFLAGS) \ -DPACKAGE_VERSION="\"$(PACKAGE_VERSION)\"" \ -DPLUGIN_VERSION="\"$$plugin_version\"" \ From jon.vanalten at redhat.com Wed Mar 3 08:00:13 2010 From: jon.vanalten at redhat.com (Jon VanAlten) Date: Wed, 3 Mar 2010 11:00:13 -0500 (EST) Subject: RFC: Test set for systemtap instrumentation In-Reply-To: <2011078923.2776221267048219233.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Message-ID: <186811892.3329841267632013519.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Hi, Sorry my earlier email didn't make it clear, I was hoping someone could take a look at this and see if it is an appropriate addition to icedtea. Patch is against icedtea6 (from a week ago or so), presumably would look pretty much the same for 7. cheers, jon ----- "jon vanalten" wrote: > Hi, > > For the past little while, I've been putting together a set of tests > confirming functionality of the systemtap support that was added by > Mark Wielaard. Currently, it is able to test that probe aliases to > markers in libjvm.so can be properly resolved by systemtap, and will > fire when expected, for all probe aliases in hotspot.stp and > hotspot_jni.stp. The attached patch would create a "tapset" directory > under the "test" directory, containing all source files needed as well > as a script that builds and runs the tests. Also, I've added comments > regarding a necessary JVM option for a particular class of probes (not > otherwise documented, but discovered during testing) to the > appropriate probe descriptions in the hotspot_jni.stp tapset. > > I'm planning on enhancing the script so that variables exposed at the > probe points are checked for accuracy as well, but the point where I'm > at now with all probes confirmed as firing seems a big milestone and > I'd hate to lose what's here so far in a power surge or whatnot. > > OK to commit? > > cheers, > > jon -------------- next part -------------- A non-text attachment was scrubbed... Name: jstaptest.patch Type: text/x-patch Size: 147631 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100303/fa48e95b/jstaptest.patch From gnu_andrew at member.fsf.org Wed Mar 3 08:27:16 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Wed, 3 Mar 2010 16:27:16 +0000 Subject: RFC: Test set for systemtap instrumentation In-Reply-To: <186811892.3329841267632013519.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> References: <2011078923.2776221267048219233.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> <186811892.3329841267632013519.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Message-ID: <17c6771e1003030827q6b5f901awf8d9518a1eb6e7fb@mail.gmail.com> On 3 March 2010 16:00, Jon VanAlten wrote: > Hi, > > Sorry my earlier email didn't make it clear, I was hoping someone could take a look at this and see if it is an appropriate addition to icedtea. ?Patch is against icedtea6 (from a week ago or so), presumably would look pretty much the same for 7. > > cheers, > > jon > > > ----- "jon vanalten" wrote: > >> Hi, >> >> For the past little while, I've been putting together a set of tests >> confirming functionality of the systemtap support that was added by >> Mark Wielaard. ?Currently, it is able to test that probe aliases to >> markers in libjvm.so can be properly resolved by systemtap, and will >> fire when expected, for all probe aliases in hotspot.stp and >> hotspot_jni.stp. ?The attached patch would create a "tapset" directory >> under the "test" directory, containing all source files needed as well >> as a script that builds and runs the tests. ?Also, I've added comments >> regarding a necessary JVM option for a particular class of probes (not >> otherwise documented, but discovered during testing) to the >> appropriate probe descriptions in the hotspot_jni.stp tapset. >> >> I'm planning on enhancing the script so that variables exposed at the >> probe points are checked for accuracy as well, but the point where I'm >> at now with all probes confirmed as firing seems a big milestone and >> I'd hate to lose what's here so far in a power surge or whatnot. >> >> OK to commit? >> >> cheers, >> >> jon > I'll leave Mark to comment on the actual SystemTap usage. I don't see any additions to the Makefile.am to make this test build and run. Assuming it can be automated, it needs a check-systemtap target which check-local depends on and whose body is inside an if ENABLE_SYSTEMTAP. The script seems to have hardcoded locations: +JAVA_EXEC="java" +JAVAC_EXEC="javac" +JVM_DIR="/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/server/" +JVM_SO="-ljvm" +INCLUDE_DIR="-I/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/include/ -I/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/include/linux/" These are only likely to work on x86_64 Fedora boxes. The script should take the JAVA_HOME as an argument and calculate the paths from this. The Makefile can pass the location of the just-built IcedTea to the script. Cheers, -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From jon.vanalten at redhat.com Wed Mar 3 09:08:03 2010 From: jon.vanalten at redhat.com (jon.vanalten at redhat.com) Date: Wed, 3 Mar 2010 12:08:03 -0500 (EST) Subject: RFC: Test set for systemtap instrumentation In-Reply-To: <814626686.3343021267635933489.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Message-ID: <1702308124.3343261267636083449.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> ----- "Andrew John Hughes" wrote: > > I'll leave Mark to comment on the actual SystemTap usage. I don't > see > any additions to the Makefile.am to make this test build and run. > Assuming it can be automated, it needs a check-systemtap target which > check-local depends on and whose body is inside an if > ENABLE_SYSTEMTAP. Right, I wasn't sure if it should be added to the automated testing. >The script seems to have hardcoded locations: > > +JAVA_EXEC="java" > +JAVAC_EXEC="javac" > +JVM_DIR="/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/server/" > +JVM_SO="-ljvm" > +INCLUDE_DIR="-I/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/include/ > -I/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/include/linux/" > > These are only likely to work on x86_64 Fedora boxes. The script > should take the JAVA_HOME as an argument and calculate the paths from > this. The Makefile can pass the location of the just-built IcedTea > to > the script. > Yes, this is a problem. Although, there is already such an argument; these would only be used if the script was called without the argument. I'm actually rewriting the script in perl for various reasons, and will be making use of Config{archname} to get around this in both the no-argument (testing system-installed java) and with-argument (testing local build) case. Note that even with $JAVA_HOME, script would still need to know the arch to find the directory in which libjvm.so lives; (jre/lib//server), needed to compile and run JNI code. Thanks for taking a look. I'll re-post soon with updates. jon From gnu_andrew at member.fsf.org Wed Mar 3 09:29:39 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Wed, 3 Mar 2010 17:29:39 +0000 Subject: RFC: Test set for systemtap instrumentation In-Reply-To: <1702308124.3343261267636083449.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> References: <814626686.3343021267635933489.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> <1702308124.3343261267636083449.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Message-ID: <17c6771e1003030929w50e44f41t9fd3c860dd8d3f1d@mail.gmail.com> On 3 March 2010 17:08, wrote: > > ----- "Andrew John Hughes" wrote: >> >> I'll leave Mark to comment on the actual SystemTap usage. ?I don't >> see >> any additions to the Makefile.am to make this test build and run. >> Assuming it can be automated, it needs a check-systemtap target which >> check-local depends on and whose body is inside an if >> ENABLE_SYSTEMTAP. > > Right, I wasn't sure if it should be added to the automated testing. > If it is automated, it should. Otherwise, you're relying on people remembering to run it (and working out how to in the first place). >>The script seems to have hardcoded locations: >> >> +JAVA_EXEC="java" >> +JAVAC_EXEC="javac" >> +JVM_DIR="/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/server/" >> +JVM_SO="-ljvm" >> +INCLUDE_DIR="-I/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/include/ >> -I/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/include/linux/" >> >> These are only likely to work on x86_64 Fedora boxes. ?The script >> should take the JAVA_HOME as an argument and calculate the paths from >> this. ?The Makefile can pass the location of the just-built IcedTea >> to >> the script. >> > > Yes, this is a problem. ?Although, there is already such an argument; these would only be used if the script was called without the argument. ?I'm actually rewriting the script in perl for various reasons, and will be making use of Config{archname} to get around this in both the no-argument (testing system-installed java) and with-argument (testing local build) case. ?Note that even with $JAVA_HOME, script would still need to know the arch to find the directory in which libjvm.so lives; (jre/lib//server), needed to compile and run JNI code. > uname -m will give you the arch of the host box, but as with JAVA_HOME, you should pass the arch in from the Makefile.am. All these issues are already resolved there (e.g. the pulseaudio build builds JNI code): $(CC) $(CFLAGS) -fPIC -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include \ -I$(PULSE_JAVA_NATIVE_BUILDDIR) -o $@ -c $< so just reuse these variables. You can always make the script a .in file and generate it using configure, but I think arguments are preferable so it can be run manually. > Thanks for taking a look. ?I'll re-post soon with updates. > > jon > > -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From xerxes at zafena.se Thu Mar 4 04:13:02 2010 From: xerxes at zafena.se (=?ISO-8859-1?Q?Xerxes_R=E5nby?=) Date: Thu, 04 Mar 2010 13:13:02 +0100 Subject: RFC: [patch] Shark fix memory corruption bug when accessing mattr outside of defined scope. Message-ID: <4B8FA3CE.2020606@zafena.se> The memory used for mattr during sharkCompiler::sharkCompiler can have been reallocated before its contents are used because the args vector refers to the mattr memory outside of matts valid scope. The attached patch fixed this issue. If you have got hit by this bug then you will see shark exit early with an odd error messages like ": Unknown command line argument 't-failed-fuse-candidates'. Try: ' -help'" because LLVM are trying to parse reused memory for its command line arguments. Ok to push? Ok to push to icedtea6-1.7 release branch? 2010-03-04 Xerxes R?nby * ports/hotspot/src/share/vm/shark/sharkCompiler.cpp (sharkCompiler::sharkCompiler): Move mattr define to make its memory valid in the scope where it are used by the args vector. Cheers and have a great day! Xerxes -------------- next part -------------- A non-text attachment was scrubbed... Name: fix_shark_mattr_scope.patch Type: text/x-diff Size: 642 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100304/79331ef6/fix_shark_mattr_scope.patch From xranby at icedtea.classpath.org Thu Mar 4 04:47:10 2010 From: xranby at icedtea.classpath.org (xranby at icedtea.classpath.org) Date: Thu, 04 Mar 2010 12:47:10 +0000 Subject: /hg/release/icedtea6-1.7: Fix Shark sharkCompiler mattr memory c... Message-ID: changeset 546f16ad97d5 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=546f16ad97d5 author: Xerxes R?nby date: Thu Mar 04 13:37:57 2010 +0100 Fix Shark sharkCompiler mattr memory corruption bug. 2010-03-04 Xerxes R?nby * ports/hotspot/src/share/vm/shark/sharkCompiler.cpp (sharkCompiler::sharkCompiler): Move mattr define to make its memory valid in the scope where it are used by the args vector. diffstat: 2 files changed, 7 insertions(+), 1 deletion(-) ChangeLog | 6 ++++++ ports/hotspot/src/share/vm/shark/sharkCompiler.cpp | 2 +- diffs (26 lines): diff -r 240dae063336 -r 546f16ad97d5 ChangeLog --- a/ChangeLog Mon Mar 01 15:26:06 2010 +0000 +++ b/ChangeLog Thu Mar 04 13:37:57 2010 +0100 @@ -1,3 +1,9 @@ 2010-02-17 Andrew John Hughes + + * ports/hotspot/src/share/vm/shark/sharkCompiler.cpp + (sharkCompiler::sharkCompiler): Move mattr define to make its memory + valid in the scope where it are used by the args vector. + 2010-02-17 Andrew John Hughes * Makefile.am: diff -r 240dae063336 -r 546f16ad97d5 ports/hotspot/src/share/vm/shark/sharkCompiler.cpp --- a/ports/hotspot/src/share/vm/shark/sharkCompiler.cpp Mon Mar 01 15:26:06 2010 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkCompiler.cpp Thu Mar 04 13:37:57 2010 +0100 @@ -71,8 +71,8 @@ SharkCompiler::SharkCompiler() args.push_back(""); // program name args.push_back(cpu.c_str()); + std::string mattr("-mattr="); if(gotCpuFeatures){ - std::string mattr("-mattr="); for(StringMap::iterator I = Features.begin(), E = Features.end(); I != E; ++I){ if(I->second){ From xranby at icedtea.classpath.org Thu Mar 4 04:47:25 2010 From: xranby at icedtea.classpath.org (xranby at icedtea.classpath.org) Date: Thu, 04 Mar 2010 12:47:25 +0000 Subject: /hg/icedtea6: Fix Shark sharkCompiler mattr memory corruption bug. Message-ID: changeset c736cfc2dcb2 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=c736cfc2dcb2 author: Xerxes R?nby date: Thu Mar 04 13:34:40 2010 +0100 Fix Shark sharkCompiler mattr memory corruption bug. 2010-03-04 Xerxes R?nby * ports/hotspot/src/share/vm/shark/sharkCompiler.cpp (sharkCompiler::sharkCompiler): Move mattr define to make its memory valid in the scope where it are used by the args vector. diffstat: 2 files changed, 7 insertions(+), 1 deletion(-) ChangeLog | 6 ++++++ ports/hotspot/src/share/vm/shark/sharkCompiler.cpp | 2 +- diffs (26 lines): diff -r e1e9efa47cbe -r c736cfc2dcb2 ChangeLog --- a/ChangeLog Mon Mar 01 21:20:35 2010 +0000 +++ b/ChangeLog Thu Mar 04 13:34:40 2010 +0100 @@ -1,3 +1,9 @@ 2010-03-01 Andrew John Hughes + + * ports/hotspot/src/share/vm/shark/sharkCompiler.cpp + (sharkCompiler::sharkCompiler): Move mattr define to make its memory + valid in the scope where it are used by the args vector. + 2010-03-01 Andrew John Hughes * Makefile.am: diff -r e1e9efa47cbe -r c736cfc2dcb2 ports/hotspot/src/share/vm/shark/sharkCompiler.cpp --- a/ports/hotspot/src/share/vm/shark/sharkCompiler.cpp Mon Mar 01 21:20:35 2010 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkCompiler.cpp Thu Mar 04 13:34:40 2010 +0100 @@ -71,8 +71,8 @@ SharkCompiler::SharkCompiler() args.push_back(""); // program name args.push_back(cpu.c_str()); + std::string mattr("-mattr="); if(gotCpuFeatures){ - std::string mattr("-mattr="); for(StringMap::iterator I = Features.begin(), E = Features.end(); I != E; ++I){ if(I->second){ From xerxes at zafena.se Thu Mar 4 04:54:16 2010 From: xerxes at zafena.se (=?ISO-8859-1?Q?Xerxes_R=E5nby?=) Date: Thu, 04 Mar 2010 13:54:16 +0100 Subject: RFC: [patch] Shark fix memory corruption bug when accessing mattr outside of defined scope. In-Reply-To: <4B8FA3CE.2020606@zafena.se> References: <4B8FA3CE.2020606@zafena.se> Message-ID: <4B8FAD78.9090704@zafena.se> On 2010-03-04 13:13, Xerxes R?nby wrote: > The memory used for mattr during sharkCompiler::sharkCompiler can have > been reallocated before its contents are used because the args vector > refers to the mattr memory outside of matts valid scope. The attached > patch fixed this issue. > > If you have got hit by this bug then you will see shark exit early with > an odd error messages like > ": Unknown command line argument 't-failed-fuse-candidates'. Try: ' -help'" > because LLVM are trying to parse reused memory for its command line > arguments. > > Ok to push? > Ok to push to icedtea6-1.7 release branch? > > 2010-03-04 Xerxes R?nby > > * ports/hotspot/src/share/vm/shark/sharkCompiler.cpp > (sharkCompiler::sharkCompiler): Move mattr define to make its memory > valid in the scope where it are used by the args vector. > > Cheers and have a great day! > Xerxes > > > Commited as: http://icedtea.classpath.org/hg/release/icedtea6-1.7/rev/546f16ad97d5 and http://icedtea.classpath.org/hg/icedtea6/rev/c736cfc2dcb2 After codereview by gnu_andrew ower irc: (13.46.32) gnu_andrew: xranby, ok looks good to me Thanks Andrew for the review! Cheers Xerxes -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100304/600c23de/attachment.html From gnu_andrew at member.fsf.org Thu Mar 4 05:46:44 2010 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Thu, 4 Mar 2010 13:46:44 +0000 Subject: JAXWS & JAXP drops Message-ID: <17c6771e1003040546j4f861e83ma0af9a5cedc96bbc@mail.gmail.com> It seems kenai is having some issues making the jaxws tarballs unavailable for OpenJDK builds. I've provided a copy of them all here: http://icedtea.classpath.org/download/source/drops/ We need to migrate JAXWS away from kenai ASAP. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From andrew at icedtea.classpath.org Thu Mar 4 11:41:24 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 04 Mar 2010 19:41:24 +0000 Subject: /hg/icedtea6: 2 new changesets Message-ID: changeset c310281529a8 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=c310281529a8 author: Andrew John Hughes date: Thu Mar 04 19:39:41 2010 +0000 441: Fix hotspot target on --with-openjdk. 2010-03-04 Andrew John Hughes PR 441: * Makefile.am: Don't unset ICEDTEA_BUILD_TARGET if unused. (hotspot): Support the WITH_OPENJDK configuration. Pass ICEDTEA_BUILD_TARGET=hotspot to make rather than having an additional hotspot-helper target. Don't remove bootstrap- directory-symlink-ecj.stamp as this just forces the bootstrap classes to be rebuilt. (hotspot-helper): Removed. changeset b89dcb5b872c in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=b89dcb5b872c author: Andrew John Hughes date: Thu Mar 04 19:41:16 2010 +0000 Merge diffstat: 3 files changed, 30 insertions(+), 10 deletions(-) ChangeLog | 17 ++++++++++++++++ Makefile.am | 21 +++++++++++--------- ports/hotspot/src/share/vm/shark/sharkCompiler.cpp | 2 - diffs (82 lines): diff -r e1e9efa47cbe -r b89dcb5b872c ChangeLog --- a/ChangeLog Mon Mar 01 21:20:35 2010 +0000 +++ b/ChangeLog Thu Mar 04 19:41:16 2010 +0000 @@ -1,3 +1,20 @@ 2010-03-01 Andrew John Hughes + + * Makefile.am: + Don't unset ICEDTEA_BUILD_TARGET if unused. + (hotspot): Support the WITH_OPENJDK configuration. + Pass ICEDTEA_BUILD_TARGET=hotspot to make rather + than having an additional hotspot-helper target. + Don't remove bootstrap-directory-symlink-ecj.stamp + as this just forces the bootstrap classes to be rebuilt. + (hotspot-helper): Removed. + +2010-03-04 Xerxes R??nby + + * ports/hotspot/src/share/vm/shark/sharkCompiler.cpp + (sharkCompiler::sharkCompiler): Move mattr define to make its memory + valid in the scope where it are used by the args vector. + 2010-03-01 Andrew John Hughes * Makefile.am: diff -r e1e9efa47cbe -r b89dcb5b872c Makefile.am --- a/Makefile.am Mon Mar 01 21:20:35 2010 +0000 +++ b/Makefile.am Thu Mar 04 19:41:16 2010 +0000 @@ -193,7 +193,6 @@ if WITH_CACAO ICEDTEA_BUILD_TARGET=j2se_only ICEDTEA_DEBUG_BUILD_TARGET=j2se_fastdebug_only else - ICEDTEA_BUILD_TARGET= ICEDTEA_DEBUG_BUILD_TARGET=debug_build endif @@ -1566,21 +1565,25 @@ stamps/icedtea-ecj.stamp: stamps/bootstr touch stamps/icedtea-ecj.stamp hotspot: - rm -f stamps/bootstrap-directory-symlink-ecj.stamp +if WITH_OPENJDK + rm -f stamps/icedtea.stamp + rm -f stamps/icedtea-against-icedtea.stamp + $(ARCH_PREFIX) $(MAKE) ICEDTEA_BUILD_TARGET=hotspot icedtea-against-icedtea + mkdir -p \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR)/server + cp $(BUILD_OUTPUT_DIR)/$(SERVER_DIR)/libjvm.so \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR)/server + @echo "Hotspot is served:" $(BUILD_OUTPUT_DIR)/j2sdk-image +else rm -f stamps/icedtea-ecj.stamp rm -f stamps/icedtea-against-ecj.stamp - $(ARCH_PREFIX) $(MAKE) hotspot-helper + $(ARCH_PREFIX) $(MAKE) ICEDTEA_BUILD_TARGET=hotspot icedtea-against-ecj mkdir -p \ $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR)/server cp $(ECJ_BUILD_OUTPUT_DIR)/$(SERVER_DIR)/libjvm.so \ $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR)/server @echo "Hotspot is served:" $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image - -hotspot-helper: stamps/bootstrap-directory-symlink-ecj.stamp \ - stamps/plugs.stamp stamps/patch-ecj.stamp - $(ARCH_PREFIX) $(MAKE) \ - $(ICEDTEA_ENV_ECJ) \ - -C openjdk-ecj/ hotspot +endif clean-icedtea-ecj: stamps/extract-ecj.stamp rm -f stamps/icedtea-ecj.stamp diff -r e1e9efa47cbe -r b89dcb5b872c ports/hotspot/src/share/vm/shark/sharkCompiler.cpp --- a/ports/hotspot/src/share/vm/shark/sharkCompiler.cpp Mon Mar 01 21:20:35 2010 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkCompiler.cpp Thu Mar 04 19:41:16 2010 +0000 @@ -71,8 +71,8 @@ SharkCompiler::SharkCompiler() args.push_back(""); // program name args.push_back(cpu.c_str()); + std::string mattr("-mattr="); if(gotCpuFeatures){ - std::string mattr("-mattr="); for(StringMap::iterator I = Features.begin(), E = Features.end(); I != E; ++I){ if(I->second){ From bugzilla-daemon at icedtea.classpath.org Fri Mar 5 02:47:20 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 05 Mar 2010 10:47:20 +0000 Subject: [Bug 449] New: Shark generates bogus phi instruction LLVM IR for java.lang.Shutdown::shutdown Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=449 Summary: Shark generates bogus phi instruction LLVM IR for java.lang.Shutdown::shutdown Product: IcedTea Version: 6-hg Platform: all OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: Shark AssignedTo: unassigned at icedtea.classpath.org ReportedBy: xerxes at zafena.se Run any program with JIT CompileThreshold=1 xerxes at xerxes-J464X:~/cm30$ /home/xerxes/icedtea6-build-shark-sharedllvm/openjdk/build/linux-i586/bin/java -XX:+PrintCompilation -XX:CompileThreshold=1 -Xbatch CaffeineMarkEmbeddedApp then type Ctrl-c to make the jvm start jitting java.lang.Shutdown::shutdown Snd shark will fail with: 573 !b java.lang.Shutdown::shutdown (73 bytes) 574 !b java.lang.Shutdown::sequence (61 bytes) java: /usr/local/include/llvm/Instructions.h:1848: void llvm::PHINode::addIncoming(llvm::Value*, llvm::BasicBlock*): Assertion `getType() == V->getType() && "All operands to PHI node must be the same type as the PHI node!"' failed. Avbruten (SIGABRT) (minnesutskrift skapad) If you dump the LLVM IR for java.lang.Shutdown::shutdown and try to assemble it then you can see that shark have inserted bogus phi instructions. xerxes at xerxes-J464X:~$ llvm-as < java.lang.Shutdown::shutdown.ll llvm-as: :234:3: error: expected '[' in phi value list %local_0_33 = phi [8 x i8]* ; <[8 x i8]*> [#uses=2] the problematic LLVM IR are: bci_48: ; No predecessors! %method32 = phi [84 x i8]* ; <[84 x i8]*> [#uses=2] <- here %local_0_33 = phi [8 x i8]* ; <[8 x i8]*> [#uses=2] <- here %stack_0_ = phi [8 x i8]* ; <[8 x i8]*> [#uses=2] <- and here! %108 = getelementptr inbounds [13 x i32]* %frame, i32 0, i32 2 ; [#uses=1] the phi instructions needs a argument http://www.llvm.org/docs/LangRef.html#i_phi -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Mar 5 02:48:45 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 05 Mar 2010 10:48:45 +0000 Subject: [Bug 449] Shark generates bogus phi instruction LLVM IR for java.lang.Shutdown::shutdown Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=449 ------- Comment #1 from xerxes at zafena.se 2010-03-05 10:48 ------- Created an attachment (id=302) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=302&action=view) output from -XX:SharkPrintBitcodeOf=java.lang.Shutdown::shutdown .ll Dump of LLVM IR for java.lang.Shutdown::shutdown -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From mwong at redhat.com Fri Mar 5 09:30:44 2010 From: mwong at redhat.com (Man Wong) Date: Fri, 5 Mar 2010 12:30:44 -0500 (EST) Subject: Proposal for Netx Cache Message-ID: <865993976.273521267810244185.JavaMail.root@zmail04.collab.prod.int.phx2.redhat.com> I have posted the proposal I created for netx cache implementation on http://icedtea.classpath.org/~mwong/ (approved by Deepak). If there are any questions or feedback, feel free to reply to this email. Thanks, Man Lung Wong From jon.vanalten at redhat.com Fri Mar 5 11:29:48 2010 From: jon.vanalten at redhat.com (jon.vanalten at redhat.com) Date: Fri, 5 Mar 2010 14:29:48 -0500 (EST) Subject: [NEW RFC] Re: RFC: Test set for systemtap instrumentation In-Reply-To: <455191028.3594411267817198512.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Message-ID: <1303137905.3594801267817388940.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> As promised, updated patch for review. ----- "Andrew John Hughes" wrote: > On 3 March 2010 17:08, wrote: > > > > ----- "Andrew John Hughes" wrote: > >> Assuming it can be automated, it needs a check-systemtap target > which > >> check-local depends on and whose body is inside an if > >> ENABLE_SYSTEMTAP. Done. Test also produces a log which is removed by a dependency on distclean-local. > >>The script seems to have hardcoded locations: > >> > >> +JAVA_EXEC="java" > >> +JAVAC_EXEC="javac" > >> > +JVM_DIR="/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/server/" > >> +JVM_SO="-ljvm" > >> > +INCLUDE_DIR="-I/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/include/ > >> -I/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/include/linux/" > >> > >> These are only likely to work on x86_64 Fedora boxes. ?The script > >> should take the JAVA_HOME as an argument and calculate the paths > from > >> this. ?The Makefile can pass the location of the just-built > IcedTea > >> to > >> the script. > >> These concerns are addressed by changes made while rewriting wrapper script in Perl. There are now two distinct modes of running the tests. One takes $(abs_top_builddir)/$(BUILD_OUTPUT_DIR) and $(BUILD_ARCH_DIR) to test a local build of icedtea. Makefile integration obviously uses this mode. The other takes just the location of an installed icedtea/openjdk and detects the system arch to determine certain subdirs. So no more hardcoded paths, and things should be arch-happy, for all supported arch. Comments? Concerns? OK to commit? cheers, jon -------------- next part -------------- A non-text attachment was scrubbed... Name: staptest.patch Type: text/x-patch Size: 163062 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100305/47392119/staptest.patch From bugzilla-daemon at icedtea.classpath.org Fri Mar 5 11:43:59 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 05 Mar 2010 19:43:59 +0000 Subject: [Bug 251] ubuntu 8.04 amd64 - Java applet loop: openjdk-6 icedtea6-plugin Firefox Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=251 dbhole at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at icedtea.classpath|dbhole at redhat.com |.org | Status|REOPENED |NEW ------- Comment #7 from dbhole at redhat.com 2010-03-05 19:43 ------- There is a way to reliably reproduce this issue? I cannot, without the property authentication.. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Mar 5 11:54:21 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 05 Mar 2010 19:54:21 +0000 Subject: [Bug 271] JavaFX sample no longer runs with javaws, runs fine with java Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=271 dbhole at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |unassigned at icedtea.classpath | |.org Status|NEW |RESOLVED Resolution| |FIXED ------- Comment #10 from dbhole at redhat.com 2010-03-05 19:54 ------- Works fine with HEAD. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. You are the assignee for the bug, or are watching the assignee. From theuserbl at hotmail.com Sun Mar 7 07:08:00 2010 From: theuserbl at hotmail.com (theUser BL) Date: Sun, 7 Mar 2010 15:08:00 +0000 Subject: IcedTea/OpenJDK Bug Message-ID: Hi! I have no idea about the bug database, so I write it here. There existis in the german magazine "Linux Magazin" a Linux distribution called Knoppix (http://www.knoppix.org/) on the DVD. The nice thing there: There is Suns Java 1.6.17 and IcedTea/OpenJDK 1.6.17 installed. Additional I have Windows on my computer. If I try out TinyLaF (http://www.muntjak.de/hans/java/tinylaf/) on Windows, it works perfect. Same with Suns Java on Knoppix. But with IcedTea/OpenJDK there are the corners of JButtons and JRadioButtons and JCheckBoxes are drawn wrong. You can don't need to write a program, which uses that Look And Feel, to see the bug. Download only need to download the binary version http://www.muntjak.de/hans/java/tinylaf/tinylaf-1_4_0.zip and then start tinycp.jar ,which is already an existing program, which used this LaF. Greatings theuserbl _________________________________________________________________ http://redirect.gimas.net/?n=M1003xWin7Geschenk2 Hol dir das Gratis-Geschenkpaket von Windows 7 f?r deinen PC ab! -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100307/f0e328db/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Mar 8 01:42:15 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 08 Mar 2010 09:42:15 +0000 Subject: [Bug 450] New: TinyLaF 1.4.0 generated gui rendered incorrect using IcedTea6 1.8pre (6b18~pre1-1ubuntu1) Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=450 Summary: TinyLaF 1.4.0 generated gui rendered incorrect using IcedTea6 1.8pre (6b18~pre1-1ubuntu1) Product: IcedTea Version: 6-hg Platform: all OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: IcedTea6 AssignedTo: unassigned at icedtea.classpath.org ReportedBy: xerxes at zafena.se TinyLaF are a LGPL look and feel for java 1.4 or higher. http://www.muntjak.de/hans/java/tinylaf/ Testcase: Download and extract http://www.muntjak.de/hans/java/tinylaf/tinylaf-1_4_0.zip run the demo java -jar tinycp.jar compare the result with the expected GUI rendering using the screenshot on the TinyLaF homepage: http://www.muntjak.de/hans/java/tinylaf/tinyscreen.html Sources: http://www.muntjak.de/hans/java/tinylaf/tinylaf-1_4_0_src.zip -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 8 01:47:58 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 08 Mar 2010 09:47:58 +0000 Subject: [Bug 450] TinyLaF 1.4.0 generated gui rendered incorrect using IcedTea6 1.8pre (6b18~pre1-1ubuntu1) Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=450 ------- Comment #1 from xerxes at zafena.se 2010-03-08 09:47 ------- Created an attachment (id=303) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=303&action=view) Screenshot TinyLaF 1.4.0-comparing homepage and Icedtea 6b18 The attached screenshot displays 6 identified problems that differs between sun java and icedtea. 1. RadioButtons got no solid borders 2. No soft rounded corners on buttons 3. Un selected tab corners got no soft rounded corners 4. scrollbars got sharp instead of soft corners 5. window borders got no soft conrners 6. windows size, the size of the icedtea window are a bit smaller vertically. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From xerxes at zafena.se Mon Mar 8 01:51:17 2010 From: xerxes at zafena.se (=?ISO-8859-1?Q?Xerxes_R=E5nby?=) Date: Mon, 08 Mar 2010 10:51:17 +0100 Subject: IcedTea/OpenJDK Bug In-Reply-To: References: Message-ID: <4B94C895.8020701@zafena.se> On 2010-03-07 16:08, theUser BL wrote: > Hi! > > I have no idea about the bug database, so I write it here. > > There existis in the german magazine "Linux Magazin" a Linux > distribution called Knoppix (http://www.knoppix.org/) on the DVD. > The nice thing there: There is Suns Java 1.6.17 and IcedTea/OpenJDK > 1.6.17 installed. > > Additional I have Windows on my computer. > > If I try out TinyLaF (http://www.muntjak.de/hans/java/tinylaf/) on > Windows, it works perfect. Same with Suns Java on Knoppix. But with > IcedTea/OpenJDK there are the corners of JButtons and JRadioButtons > and JCheckBoxes are drawn wrong. > > You can don't need to write a program, which uses that Look And Feel, > to see the bug. > Download only need to download the binary version > http://www.muntjak.de/hans/java/tinylaf/tinylaf-1_4_0.zip > and then start tinycp.jar ,which is already an existing program, which > used this LaF. > > > Greatings > theuserbl > > > ------------------------------------------------------------------------ > Hol dir das Gratis-Geschenkpaket von Windows 7 f?r deinen PC ab! > Hi I have created a Icedtea bugreport for you on the Icedtea bugzilla: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=450 Cheers and have a great day. Xerxes -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100308/05214a57/attachment.html From doko at ubuntu.com Mon Mar 8 03:45:56 2010 From: doko at ubuntu.com (Matthias Klose) Date: Mon, 08 Mar 2010 12:45:56 +0100 Subject: icedtea6 build failures on alpha and armel using gcj In-Reply-To: <17c6771e1003011154l556ea301h92e54ff2d457eb6a@mail.gmail.com> References: <4B894D27.5080804@ubuntu.com> <17c6771e1003011154l556ea301h92e54ff2d457eb6a@mail.gmail.com> Message-ID: <4B94E374.9090700@ubuntu.com> On 01.03.2010 20:54, Andrew John Hughes wrote: > On 27 February 2010 16:49, Matthias Klose wrote: >> Building icedtea6 on alpha and armel using a two stage bootstrap fails with >> different errors. These are no new errors, just rechecked the two stage >> bootstrap, because the one stage build fails to build cacao after the b18 >> update. On alpha: >> >> mkdir -p lib/rt >> /home/doko/openjdk/openjdk-6-6b18~pre1/build/bootstrap/jdk1.6.0/bin/javac >> -g -d lib/rt \ >> -source 1.5 \ >> -sourcepath \ >> >> 'openjdk/jdk/src/share/classes:openjdk/jdk/src/solaris/classes:openjdk/langtools/src/share/classes:openjdk/corba/src/share/classes:/home/doko/openjdk/openjdk-6-6b18~pre1/build/generated' >> \ >> -classpath /usr/lib/jvm/java-gcj/jre/lib/rt.jar \ >> -bootclasspath \'\' @rt-source-files.txt ; >> incorrect classpath: '' >> ---------- >> 1. ERROR in >> /home/doko/openjdk/openjdk-6-6b18~pre1/build/openjdk/jdk/src/share/classes/sun/misc/FloatConsts.java >> (at line 52) >> public static final float MIN_NORMAL = 1.17549435E-38f; >> ^^^^^^^^^^^^^^^ >> The literal 1.17549435E-38f of type float is out of range >> ---------- >> 1 problem (1 error)make[1]: *** [stamps/rt-class-files.stamp] Error 255 >> >> >> I vaguely remember we had a patch in the past to back out some of the >> constants stuff. >> > > We do still have a patch. It's applied to the ecj build. Why are you > using ecj for a non-bootstrap build, as it appears here? comparing the build logs on alpha and i386, this is the stamps/rt-class-files.stamp target, which succeeds to build on i386, but not on alpha. This target always uses the openjdk sourcepath, not the openjdk-ecj source path. and it looks like the patch is applied, but ecj can't parse this value on alpha; the test program class Test { public static final float MIN_NORMAL = 1.17549435E-38f; } fails to build: ---------- 1. ERROR in Test.java (at line 2) public static final float MIN_NORMAL = 1.17549435E-38f; ^^^^^^^^^^^^^^^ The literal 1.17549435E-38f of type float is out of range ---------- further, is it correct that the -ecj patch is applied to *both* the openjdk and openjdk-ecj directory? $ ls -l build/openjdk*/jdk/src/share/classes/sun/misc/FloatConsts.java -rw-rw-r-- 2 doko doko 4147 Feb 17 03:14 build/openjdk-ecj/jdk/src/share/classes/sun/misc/FloatConsts.java -rw-rw-r-- 2 doko doko 4147 Feb 17 03:14 build/openjdk/jdk/src/share/classes/sun/misc/FloatConsts.java these are still hard links. Matthias From aph at redhat.com Mon Mar 8 04:04:37 2010 From: aph at redhat.com (Andrew Haley) Date: Mon, 08 Mar 2010 12:04:37 +0000 Subject: icedtea6 build failures on alpha and armel using gcj In-Reply-To: <4B94E374.9090700@ubuntu.com> References: <4B894D27.5080804@ubuntu.com> <17c6771e1003011154l556ea301h92e54ff2d457eb6a@mail.gmail.com> <4B94E374.9090700@ubuntu.com> Message-ID: <4B94E7D5.70505@redhat.com> On 03/08/2010 11:45 AM, Matthias Klose wrote: > On 01.03.2010 20:54, Andrew John Hughes wrote: >> On 27 February 2010 16:49, Matthias Klose wrote: >>> Building icedtea6 on alpha and armel using a two stage bootstrap >>> fails with >>> different errors. These are no new errors, just rechecked the two stage >>> bootstrap, because the one stage build fails to build cacao after the >>> b18 >>> update. On alpha: >>> >>> mkdir -p lib/rt >>> /home/doko/openjdk/openjdk-6-6b18~pre1/build/bootstrap/jdk1.6.0/bin/javac >>> >>> -g -d lib/rt \ >>> -source 1.5 \ >>> -sourcepath \ >>> >>> 'openjdk/jdk/src/share/classes:openjdk/jdk/src/solaris/classes:openjdk/langtools/src/share/classes:openjdk/corba/src/share/classes:/home/doko/openjdk/openjdk-6-6b18~pre1/build/generated' >>> >>> \ >>> -classpath /usr/lib/jvm/java-gcj/jre/lib/rt.jar \ >>> -bootclasspath \'\' @rt-source-files.txt ; >>> incorrect classpath: '' >>> ---------- >>> 1. ERROR in >>> /home/doko/openjdk/openjdk-6-6b18~pre1/build/openjdk/jdk/src/share/classes/sun/misc/FloatConsts.java >>> >>> (at line 52) >>> public static final float MIN_NORMAL = 1.17549435E-38f; >>> ^^^^^^^^^^^^^^^ >>> The literal 1.17549435E-38f of type float is out of range >>> ---------- >>> 1 problem (1 error)make[1]: *** [stamps/rt-class-files.stamp] Error 255 >>> >>> >>> I vaguely remember we had a patch in the past to back out some of the >>> constants stuff. >>> >> >> We do still have a patch. It's applied to the ecj build. Why are you >> using ecj for a non-bootstrap build, as it appears here? > > comparing the build logs on alpha and i386, this is the > stamps/rt-class-files.stamp target, which succeeds to build on i386, but > not on alpha. This target always uses the openjdk sourcepath, not the > openjdk-ecj source path. > > and it looks like the patch is applied, but ecj can't parse this value > on alpha; the test program > > class Test { > public static final float MIN_NORMAL = 1.17549435E-38f; > } > > fails to build: > > ---------- > 1. ERROR in Test.java (at line 2) > public static final float MIN_NORMAL = 1.17549435E-38f; > ^^^^^^^^^^^^^^^ > The literal 1.17549435E-38f of type float is out of range > ---------- It depends on exactly which Alphas you're targeting, but some of them don't support denormals properly. Some Alphas, even with denormal support, have it deactivated. If denormals don't work on the Alpha system you're using there will be conformance problems. I suggest you patch that to public static final float MIN_NORMAL = Float.intBitsToFloat(0x00800000); > further, is it correct that the -ecj patch is applied to *both* the openjdk and openjdk-ecj directory? > > $ ls -l build/openjdk*/jdk/src/share/classes/sun/misc/FloatConsts.java > -rw-rw-r-- 2 doko doko 4147 Feb 17 03:14 build/openjdk-ecj/jdk/src/share/classes/sun/misc/FloatConsts.java > -rw-rw-r-- 2 doko doko 4147 Feb 17 03:14 build/openjdk/jdk/src/share/classes/sun/misc/FloatConsts.java It doesn't matter. It's not incorrect, but it's not necessary. Andrew. From ahughes at redhat.com Mon Mar 8 04:34:56 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Mon, 8 Mar 2010 12:34:56 +0000 Subject: icedtea6 build failures on alpha and armel using gcj In-Reply-To: <4B94E374.9090700@ubuntu.com> References: <4B894D27.5080804@ubuntu.com> <17c6771e1003011154l556ea301h92e54ff2d457eb6a@mail.gmail.com> <4B94E374.9090700@ubuntu.com> Message-ID: <17c6771e1003080434r30405864v4e362752bc146ef3@mail.gmail.com> On 8 March 2010 11:45, Matthias Klose wrote: > On 01.03.2010 20:54, Andrew John Hughes wrote: >> >> On 27 February 2010 16:49, Matthias Klose ?wrote: >>> >>> Building icedtea6 on alpha and armel using a two stage bootstrap fails >>> with >>> different errors. These are no new errors, just rechecked the two stage >>> bootstrap, because the one stage build fails to build cacao after the b18 >>> update. On alpha: >>> >>> mkdir -p lib/rt >>> /home/doko/openjdk/openjdk-6-6b18~pre1/build/bootstrap/jdk1.6.0/bin/javac >>> ?-g -d lib/rt \ >>> ? ? ? ? ?-source 1.5 \ >>> ? ? ? ? ?-sourcepath \ >>> >>> >>> 'openjdk/jdk/src/share/classes:openjdk/jdk/src/solaris/classes:openjdk/langtools/src/share/classes:openjdk/corba/src/share/classes:/home/doko/openjdk/openjdk-6-6b18~pre1/build/generated' >>> \ >>> ? ? ? ? ?-classpath /usr/lib/jvm/java-gcj/jre/lib/rt.jar \ >>> ? ? ? ? ?-bootclasspath \'\' @rt-source-files.txt ; >>> incorrect classpath: '' >>> ---------- >>> 1. ERROR in >>> >>> /home/doko/openjdk/openjdk-6-6b18~pre1/build/openjdk/jdk/src/share/classes/sun/misc/FloatConsts.java >>> (at line 52) >>> ? ? ? ?public static final float ? MIN_NORMAL ? ? ?= 1.17549435E-38f; >>> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?^^^^^^^^^^^^^^^ >>> The literal 1.17549435E-38f of type float is out of range >>> ---------- >>> 1 problem (1 error)make[1]: *** [stamps/rt-class-files.stamp] Error 255 >>> >>> >>> I vaguely remember we had a patch in the past to back out some of the >>> constants stuff. >>> >> >> We do still have a patch. ?It's applied to the ecj build. ?Why are you >> using ecj for a non-bootstrap build, as it appears here? > > comparing the build logs on alpha and i386, this is the > stamps/rt-class-files.stamp target, which succeeds to build on i386, but not > on alpha. This target always uses the openjdk sourcepath, not the > openjdk-ecj source path. > Ok, so it occurs in the early bootstrap stage which still uses the openjdk tree on IcedTea6 tree. IcedTea7 uses the patched bootstrap/ecj tree with the additional fixes to build the bootstrapping classes, so I'll backport this to 6. > and it looks like the patch is applied, but ecj can't parse this value on > alpha; the test program > > ?class Test { > ? ? ? ?public static final float ? MIN_NORMAL ? ? ?= 1.17549435E-38f; > ?} > > fails to build: > > ---------- > 1. ERROR in Test.java (at line 2) > ? ? ? ?public static final float ? MIN_NORMAL ? ? ?= 1.17549435E-38f; > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?^^^^^^^^^^^^^^^ > The literal 1.17549435E-38f of type float is out of range > ---------- > > > further, is it correct that the -ecj patch is applied to *both* the openjdk > and openjdk-ecj directory? > > $ ls -l build/openjdk*/jdk/src/share/classes/sun/misc/FloatConsts.java > -rw-rw-r-- 2 doko doko 4147 Feb 17 03:14 > build/openjdk-ecj/jdk/src/share/classes/sun/misc/FloatConsts.java > -rw-rw-r-- 2 doko doko 4147 Feb 17 03:14 > build/openjdk/jdk/src/share/classes/sun/misc/FloatConsts.java > > these are still hard links. No it's specifically only applied to -ecj patches. You should only ever ship a build created from the openjdk tree and not openjdk-ecj/boot (i.e. the second stage of a full build or the result of a --with-openjdk/--disable-bootstrap build), which has a number of features turned off (including Nimbus). > > ?Matthias > -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From doko at ubuntu.com Mon Mar 8 04:41:09 2010 From: doko at ubuntu.com (Matthias Klose) Date: Mon, 08 Mar 2010 13:41:09 +0100 Subject: icedtea6 build failures on alpha and armel using gcj In-Reply-To: <17c6771e1003080434r30405864v4e362752bc146ef3@mail.gmail.com> References: <4B894D27.5080804@ubuntu.com> <17c6771e1003011154l556ea301h92e54ff2d457eb6a@mail.gmail.com> <4B94E374.9090700@ubuntu.com> <17c6771e1003080434r30405864v4e362752bc146ef3@mail.gmail.com> Message-ID: <4B94F065.60607@ubuntu.com> On 08.03.2010 13:34, Andrew John Hughes wrote: >> further, is it correct that the -ecj patch is applied to *both* the openjdk >> and openjdk-ecj directory? >> >> $ ls -l build/openjdk*/jdk/src/share/classes/sun/misc/FloatConsts.java >> -rw-rw-r-- 2 doko doko 4147 Feb 17 03:14 >> build/openjdk-ecj/jdk/src/share/classes/sun/misc/FloatConsts.java >> -rw-rw-r-- 2 doko doko 4147 Feb 17 03:14 >> build/openjdk/jdk/src/share/classes/sun/misc/FloatConsts.java >> >> these are still hard links. > > No it's specifically only applied to -ecj patches. Wrong. The patch is applied in the openjdk-ecj directory, but because all files are hard links, it's applied in the openjdk directory as well. I don't see a way to have patch break the hard links while patching. > You should only > ever ship a build created from the openjdk tree and not > openjdk-ecj/boot (i.e. the second stage of a full build or the result > of a --with-openjdk/--disable-bootstrap build), which has a number of > features turned off (including Nimbus). sure, this is always done in the Debian/Ubuntu builds. I didn't check this for other distributions. Matthias From ahughes at redhat.com Mon Mar 8 04:44:59 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Mon, 8 Mar 2010 12:44:59 +0000 Subject: icedtea6 build failures on alpha and armel using gcj In-Reply-To: <4B94F065.60607@ubuntu.com> References: <4B894D27.5080804@ubuntu.com> <17c6771e1003011154l556ea301h92e54ff2d457eb6a@mail.gmail.com> <4B94E374.9090700@ubuntu.com> <17c6771e1003080434r30405864v4e362752bc146ef3@mail.gmail.com> <4B94F065.60607@ubuntu.com> Message-ID: <17c6771e1003080444o3991c1bck4ce0b234c684878e@mail.gmail.com> On 8 March 2010 12:41, Matthias Klose wrote: > On 08.03.2010 13:34, Andrew John Hughes wrote: >>> >>> further, is it correct that the -ecj patch is applied to *both* the >>> openjdk >>> and openjdk-ecj directory? >>> >>> $ ls -l build/openjdk*/jdk/src/share/classes/sun/misc/FloatConsts.java >>> -rw-rw-r-- 2 doko doko 4147 Feb 17 03:14 >>> build/openjdk-ecj/jdk/src/share/classes/sun/misc/FloatConsts.java >>> -rw-rw-r-- 2 doko doko 4147 Feb 17 03:14 >>> build/openjdk/jdk/src/share/classes/sun/misc/FloatConsts.java >>> >>> these are still hard links. >> >> No it's specifically only applied to -ecj patches. > > Wrong. The patch is applied in the openjdk-ecj directory, but because all > files are hard links, it's applied in the openjdk directory as well. I don't > see a way to have patch break the hard links while patching. > Ok, I didn't realise it was a hard linked copy. I'll disable that; we don't want the ecj patches affecting the main tree. >> You should only >> ever ship a build created from the openjdk tree and not >> openjdk-ecj/boot (i.e. the second stage of a full build or the result >> of a --with-openjdk/--disable-bootstrap build), which has a number of >> features turned off (including Nimbus). > > sure, this is always done in the Debian/Ubuntu builds. I didn't check this > for other distributions. > > ?Matthias > -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From ludo at gnu.org Mon Mar 8 05:08:20 2010 From: ludo at gnu.org (Ludovic =?iso-8859-1?Q?Court=E8s?=) Date: Mon, 08 Mar 2010 14:08:20 +0100 Subject: IcedTea/OpenJDK bootstrapping issue In-Reply-To: <17c6771e1001210718y179d75feufe060fcfd99d2821@mail.gmail.com> (Andrew John Hughes's message of "Thu, 21 Jan 2010 15:18:29 +0000") References: <878wbrwpli.fsf@gnu.org> <17c6771e1001210600o6716d305ucaf51a6ba0fc5169@mail.gmail.com> <87r5pjv95j.fsf@gnu.org> <17c6771e1001210622y4f184c5bq9bee23007f5e73@mail.gmail.com> <87636vv7m7.fsf@gnu.org> <17c6771e1001210718y179d75feufe060fcfd99d2821@mail.gmail.com> Message-ID: <87pr3farln.fsf@gnu.org> Hi, Andrew John Hughes writes: > 2010/1/21 Ludovic Court?s : >> Andrew John Hughes writes: [...] >>> Does ant work for you with other builds? >> >> Yes. ?This version of Ant was built with GCJ. ?It was then used to >> compile things like Xalan, Xerces, and Rhino. > > It seems something is broken with regard to Ant. The fact it's > looking for tools.jar in your gcj home directory rather than > bootstrap/jdk1.6.0 suggests it's ignoring the setting of > bootstrap.java.home. Have you checked that bootstrap/jd1.6.0 has a > valid jar file in jre/lib/rt.jar? I would guess it does as the > earlier stages have worked, but Ant is reverting to your system > install. Perhaps I should have started with this: how did you build the Ant that?s used to build IcedTea? I built it with GCJ, but Ant?s manual says it isn?t supported [0]. I patched ?build.properties? to set ?build.compiler? to ?gcj? [1]. In addition I have gross hacks to make gcj/gij available as javac/java while building Ant itself [2]. In hindsight, I?m guessing these hacks aren?t the right thing. Can you please provide me with pointers to documentation explaining how to do it right? Thanks, Ludo?. [0] http://ant.apache.org/manual/install.html#buildingant [1] https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/development/tools/build-managers/apache-ant/use-gcj.patch [2] https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/development/tools/build-managers/apache-ant/from-source.nix From andrew at icedtea.classpath.org Mon Mar 8 05:52:13 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 08 Mar 2010 13:52:13 +0000 Subject: /hg/icedtea6: Build bootstrap classes from ecj tree, which is no... Message-ID: changeset 7d4276d04ffc in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=7d4276d04ffc author: Andrew John Hughes date: Mon Mar 08 13:52:05 2010 +0000 Build bootstrap classes from ecj tree, which is now copied, not linked. 2010-03-08 Andrew John Hughes * Makefile.am: (SHARE): Use openjdk-ecj for building bootstrap classes. (SOLARIS): Likewise. (LANGTOOLS): Likewise. (CORBA): Likewise. (JAXP): Likewise. (OPENJDK_ECJ_TREE): Target for obtaining a patched OpenJDK-ecj tree. (stamps/extract-ecj.stamp): Copy, don't link. (stamps /icedtea-boot.stamp): Use OPENJDK_ECJ_TREE rather than patch-ecj.stamp. (rt-source-files.txt): Depend on $(OPENJDK_ECJ_TREE) ensuring ecj patched versions are used. diffstat: 2 files changed, 28 insertions(+), 8 deletions(-) ChangeLog | 15 +++++++++++++++ Makefile.am | 21 +++++++++++++-------- diffs (81 lines): diff -r b89dcb5b872c -r 7d4276d04ffc ChangeLog --- a/ChangeLog Thu Mar 04 19:41:16 2010 +0000 +++ b/ChangeLog Mon Mar 08 13:52:05 2010 +0000 @@ -1,3 +1,18 @@ 2010-03-04 Andrew John Hughes + + * Makefile.am: + (SHARE): Use openjdk-ecj for building bootstrap classes. + (SOLARIS): Likewise. + (LANGTOOLS): Likewise. + (CORBA): Likewise. + (JAXP): Likewise. + (OPENJDK_ECJ_TREE): Target for obtaining a patched OpenJDK-ecj tree. + (stamps/extract-ecj.stamp): Copy, don't link. + (stamps/icedtea-boot.stamp): Use OPENJDK_ECJ_TREE rather than + patch-ecj.stamp. + (rt-source-files.txt): Depend on $(OPENJDK_ECJ_TREE) ensuring + ecj patched versions are used. + 2010-03-04 Andrew John Hughes * Makefile.am: diff -r b89dcb5b872c -r 7d4276d04ffc Makefile.am --- a/Makefile.am Thu Mar 04 19:41:16 2010 +0000 +++ b/Makefile.am Mon Mar 08 13:52:05 2010 +0000 @@ -56,11 +56,11 @@ BUILD_DEBUG_JRE_ARCH_DIR = $(BUILD_OUTPU # Source directories -SHARE = openjdk/jdk/src/share/classes -SOLARIS = openjdk/jdk/src/solaris/classes -LANGTOOLS = openjdk/langtools/src/share/classes -JAXP = openjdk/jaxp/src/share/classes -CORBA = openjdk/corba/src/share/classes +SHARE = openjdk-ecj/jdk/src/share/classes +SOLARIS = openjdk-ecj/jdk/src/solaris/classes +LANGTOOLS = openjdk-ecj/langtools/src/share/classes +JAXP = openjdk-ecj/jaxp/src/share/classes +CORBA = openjdk-ecj/corba/src/share/classes # FIXME (netx): NetX source directories go here @@ -212,6 +212,11 @@ endif # Target to ensure a patched OpenJDK tree containing Zero & Shark # and any overlays is available in $(abs_top_builddir)/openjdk OPENJDK_TREE = stamps/overlay.stamp + +# Target to ensure a patched OpenJDK bootstrap tree containing +# Zero & Shark, any other overlays and the bootstrapping patches +# is available in $(abs_top_builddir)/openjdk-ecj +OPENJDK_ECJ_TREE = stamps/patch-ecj.stamp # Sources list @@ -1159,7 +1164,7 @@ endif # FIXME (missing): Rename to clone-ecj. stamps/extract-ecj.stamp: $(OPENJDK_TREE) if ! test -d openjdk-ecj ; then \ - cp -pPRl openjdk openjdk-ecj ; \ + cp -a openjdk openjdk-ecj ; \ fi mkdir -p stamps touch stamps/extract-ecj.stamp @@ -1553,7 +1558,7 @@ stamps/icedtea-debug-against-icedtea.sta # =================== stamps/icedtea-ecj.stamp: stamps/bootstrap-directory-symlink-ecj.stamp \ - stamps/plugs.stamp stamps/patch-ecj.stamp stamps/cacao.stamp \ + stamps/plugs.stamp $(OPENJDK_ECJ_TREE) stamps/cacao.stamp \ stamps/rewrite-rhino.stamp $(ARCH_PREFIX) $(MAKE) \ $(ICEDTEA_ENV_ECJ) \ @@ -2131,7 +2136,7 @@ jtregcheck: jtreg check-hotspot check-la # Support classes for non-OpenJDK bootstraps # rt.jar additional class files. -rt-source-files.txt: $(OPENJDK_TREE) +rt-source-files.txt: $(OPENJDK_ECJ_TREE) find $(abs_top_srcdir)/rt $(abs_top_builddir)/rt $(LIVECONNECT_SRCS) -name '*.java' \ | sort -u > $@ for dir in $(ICEDTEA_BOOTSTRAP_DIRS) ; \ From doko at icedtea.classpath.org Mon Mar 8 06:31:00 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Mon, 08 Mar 2010 14:31:00 +0000 Subject: /hg/icedtea6: Makefile.am (ICEDTEA_ECJ_PATCHES): Add DISTRIBUTIO... Message-ID: changeset 3cc1f5c72fd3 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=3cc1f5c72fd3 author: doko at ubuntu.com date: Mon Mar 08 15:09:17 2010 +0100 Makefile.am (ICEDTEA_ECJ_PATCHES): Add DISTRIBUTION_ECJ_PATCHES 2010-03-08 Matthias Klose * Makefile.am (ICEDTEA_ECJ_PATCHES): Add DISTRIBUTION_ECJ_PATCHES. diffstat: 2 files changed, 6 insertions(+) ChangeLog | 4 ++++ Makefile.am | 2 ++ diffs (23 lines): diff -r 7d4276d04ffc -r 3cc1f5c72fd3 ChangeLog --- a/ChangeLog Mon Mar 08 13:52:05 2010 +0000 +++ b/ChangeLog Mon Mar 08 15:09:17 2010 +0100 @@ -1,3 +1,7 @@ 2010-03-08 Andrew John Hughes + + * Makefile.am (ICEDTEA_ECJ_PATCHES): Add DISTRIBUTION_ECJ_PATCHES. + 2010-03-08 Andrew John Hughes * Makefile.am: diff -r 7d4276d04ffc -r 3cc1f5c72fd3 Makefile.am --- a/Makefile.am Mon Mar 08 13:52:05 2010 +0000 +++ b/Makefile.am Mon Mar 08 15:09:17 2010 +0100 @@ -390,6 +390,8 @@ ICEDTEA_ECJ_PATCHES += \ ICEDTEA_ECJ_PATCHES += \ patches/ecj/icedtea-jaxws-getdtdtype.patch endif + +ICEDTEA_ECJ_PATCHES += $(DISTRIBUTION_ECJ_PATCHES) # OpenJDK build environment. if ZERO_BUILD From lsorense at csclub.uwaterloo.ca Mon Mar 8 06:36:30 2010 From: lsorense at csclub.uwaterloo.ca (Lennart Sorensen) Date: Mon, 8 Mar 2010 09:36:30 -0500 Subject: icedtea6 build failures on alpha and armel using gcj In-Reply-To: <17c6771e1003080444o3991c1bck4ce0b234c684878e@mail.gmail.com> References: <4B894D27.5080804@ubuntu.com> <17c6771e1003011154l556ea301h92e54ff2d457eb6a@mail.gmail.com> <4B94E374.9090700@ubuntu.com> <17c6771e1003080434r30405864v4e362752bc146ef3@mail.gmail.com> <4B94F065.60607@ubuntu.com> <17c6771e1003080444o3991c1bck4ce0b234c684878e@mail.gmail.com> Message-ID: <20100308143630.GM4307@caffeine.csclub.uwaterloo.ca> On Mon, Mar 08, 2010 at 12:44:59PM +0000, Andrew John Hughes wrote: > Ok, I didn't realise it was a hard linked copy. I'll disable that; we > don't want the ecj patches affecting the main tree. Applying a patch to a hardlink copy does not affect other copies. patch creates a new file (hence breaking the hardlink). At least when using the patch command in the default way. Maybe it has an option for working in place on files, but I have never looked for such an option so I have no idea. The linux kernel package has been relying on this for years as have many other packages. Please don't change it since it won't make any difference other than to take more diskspace and time to do a build. -- Len Sorensen From ahughes at redhat.com Mon Mar 8 07:17:32 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Mon, 8 Mar 2010 15:17:32 +0000 Subject: icedtea6 build failures on alpha and armel using gcj In-Reply-To: <20100308143630.GM4307@caffeine.csclub.uwaterloo.ca> References: <4B894D27.5080804@ubuntu.com> <17c6771e1003011154l556ea301h92e54ff2d457eb6a@mail.gmail.com> <4B94E374.9090700@ubuntu.com> <17c6771e1003080434r30405864v4e362752bc146ef3@mail.gmail.com> <4B94F065.60607@ubuntu.com> <17c6771e1003080444o3991c1bck4ce0b234c684878e@mail.gmail.com> <20100308143630.GM4307@caffeine.csclub.uwaterloo.ca> Message-ID: <17c6771e1003080717p4bbae5cege27c47f1153b5cd9@mail.gmail.com> On 8 March 2010 14:36, Lennart Sorensen wrote: > On Mon, Mar 08, 2010 at 12:44:59PM +0000, Andrew John Hughes wrote: >> Ok, I didn't realise it was a hard linked copy. ?I'll disable that; we >> don't want the ecj patches affecting the main tree. > > Applying a patch to a hardlink copy does not affect other copies. > patch creates a new file (hence breaking the hardlink). ?At least when > using the patch command in the default way. ?Maybe it has an option for > working in place on files, but I have never looked for such an option > so I have no idea. > > The linux kernel package has been relying on this for years as have many > other packages. > > Please don't change it since it won't make any difference other than to > take more diskspace and time to do a build. > That does make more sense as to what I was seeing; the openjdk-ecj patches have never affected the main openjdk tree in the past that I've seen. Reverted. > -- > Len Sorensen > -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From andrew at icedtea.classpath.org Mon Mar 8 07:18:35 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 08 Mar 2010 15:18:35 +0000 Subject: /hg/icedtea6: 2 new changesets Message-ID: changeset ee15ca8cf99e in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=ee15ca8cf99e author: Andrew John Hughes date: Mon Mar 08 15:15:43 2010 +0000 Revert previous change to copying over linking; patch will break hard links. 2010-03-08 Andrew John Hughes * Makefile.am: (stamps/extract-ecj.stamp): Revert previous change to copying. Patch will break hard links. changeset 9c3d0d30552c in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=9c3d0d30552c author: Andrew John Hughes date: Mon Mar 08 15:18:20 2010 +0000 Merge diffstat: 2 files changed, 13 insertions(+), 1 deletion(-) ChangeLog | 10 ++++++++++ Makefile.am | 4 +++- diffs (38 lines): diff -r 7d4276d04ffc -r 9c3d0d30552c ChangeLog --- a/ChangeLog Mon Mar 08 13:52:05 2010 +0000 +++ b/ChangeLog Mon Mar 08 15:18:20 2010 +0000 @@ -1,3 +1,13 @@ 2010-03-08 Andrew John Hughes + + * Makefile.am: + (stamps/extract-ecj.stamp): Revert previous change + to copying. Patch will break hard links. + +2010-03-08 Matthias Klose + + * Makefile.am (ICEDTEA_ECJ_PATCHES): Add DISTRIBUTION_ECJ_PATCHES. + 2010-03-08 Andrew John Hughes * Makefile.am: diff -r 7d4276d04ffc -r 9c3d0d30552c Makefile.am --- a/Makefile.am Mon Mar 08 13:52:05 2010 +0000 +++ b/Makefile.am Mon Mar 08 15:18:20 2010 +0000 @@ -390,6 +390,8 @@ ICEDTEA_ECJ_PATCHES += \ ICEDTEA_ECJ_PATCHES += \ patches/ecj/icedtea-jaxws-getdtdtype.patch endif + +ICEDTEA_ECJ_PATCHES += $(DISTRIBUTION_ECJ_PATCHES) # OpenJDK build environment. if ZERO_BUILD @@ -1164,7 +1166,7 @@ endif # FIXME (missing): Rename to clone-ecj. stamps/extract-ecj.stamp: $(OPENJDK_TREE) if ! test -d openjdk-ecj ; then \ - cp -a openjdk openjdk-ecj ; \ + cp -pPRl openjdk openjdk-ecj ; \ fi mkdir -p stamps touch stamps/extract-ecj.stamp From ahughes at redhat.com Tue Mar 9 04:46:34 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Tue, 9 Mar 2010 12:46:34 +0000 Subject: Changes in Makefile.am for IcedTea6-1.7.1 (PulseAudio issue) In-Reply-To: <4B964F51.5050305@redhat.com> References: <4B964F51.5050305@redhat.com> Message-ID: <20100309124633.GC8943@rivendell.middle-earth.co.uk> On 14:38 Tue 09 Mar , Pavel Tisnovsky wrote: > Hi Andrew, > > there is one new PulseAudio issue in IcedTea6-1.7.1 - library for wrong > platform (ppc32) is used when IcedTea is built for ppc64 platform. > > This issue can be easily fixed by small change in Makefile.am. I created > patch for IcedTea6-1.7.1 (it is based on patch which Gary sent me > yesterday - thanks very much btw :-) and successfully tested "patched" > IcedTea6-1.7.1 on F10 i386 and F10 ppc. Is it possible to push this > change to IcedTea6-1.7 repository (I suppose IcedTea6.1-7 and > IcedTea6-1.7.1 has the same repo, am I right)? > You should post general IcedTea issues to distro-pkg-dev at openjdk.java.net. I'm a bit concerned about using something specific to Zero; is it possible that this could be an issue on some multilib setups for x86_64? This fix looks ok for the 1.7 branch, but I'd rather we generalised ARCHFLAG in the main tree so it is always set. Yes, the 1.7 branch is the source of all 1.7 releases. The main tree is what will eventually become 1.8. > Pavel > --- Makefile.am 2010-03-09 14:25:32.000000000 +0100 > +++ /mnt/hdd/Makefile.am 2010-03-09 12:25:39.000000000 +0100 > @@ -1627,13 +1627,13 @@ > stamps/pulse-java.stamp: stamps/pulse-java-jar.stamp stamps/pulse-java-headers.stamp > if ENABLE_PULSE_JAVA > mkdir -p $(PULSE_JAVA_NATIVE_BUILDDIR) > - $(CC) $(CFLAGS) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include $(PULSE_JAVA_NATIVE_SRCDIR)/jni-common.c -o $(PULSE_JAVA_NATIVE_BUILDDIR)/jni-common.o > - $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include -I$(PULSE_JAVA_NATIVE_BUILDDIR) $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_EventLoop.c -o $(PULSE_JAVA_NATIVE_BUILDDIR)/org_classpath_icedtea_pulseaudio_EventLoop.o > - $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include -I$(PULSE_JAVA_NATIVE_BUILDDIR) $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_Operation.c -o $(PULSE_JAVA_NATIVE_BUILDDIR)/org_classpath_icedtea_pulseaudio_Operation.o > - $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include -I$(PULSE_JAVA_NATIVE_BUILDDIR) $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_Stream.c -o $(PULSE_JAVA_NATIVE_BUILDDIR)/org_classpath_icedtea_pulseaudio_Stream.o > - $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include -I$(PULSE_JAVA_NATIVE_BUILDDIR) $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_PulseAudioTargetPort.c -o $(PULSE_JAVA_NATIVE_BUILDDIR)/org_classpath_icedtea_pulseaudio_PulseAudioTargetPort.o > - $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include -I$(PULSE_JAVA_NATIVE_BUILDDIR) $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_PulseAudioSourcePort.c -o $(PULSE_JAVA_NATIVE_BUILDDIR)/org_classpath_icedtea_pulseaudio_PulseAudioSourcePort.o > - $(CC) $(LDFLAGS) -shared $(PULSE_JAVA_NATIVE_BUILDDIR)/org_*pulseaudio*.o $(PULSE_JAVA_NATIVE_BUILDDIR)/jni-common.o $(LIBPULSE_LIBS) -o libpulse-java.so > + $(CC) $(CFLAGS) $(ZERO_ARCHFLAG) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include $(PULSE_JAVA_NATIVE_SRCDIR)/jni-common.c -o $(PULSE_JAVA_NATIVE_BUILDDIR)/jni-common.o > + $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) $(ZERO_ARCHFLAG) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include -I$(PULSE_JAVA_NATIVE_BUILDDIR) $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_EventLoop.c -o $(PULSE_JAVA_NATIVE_BUILDDIR)/org_classpath_icedtea_pulseaudio_EventLoop.o > + $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) $(ZERO_ARCHFLAG) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include -I$(PULSE_JAVA_NATIVE_BUILDDIR) $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_Operation.c -o $(PULSE_JAVA_NATIVE_BUILDDIR)/org_classpath_icedtea_pulseaudio_Operation.o > + $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) $(ZERO_ARCHFLAG) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include -I$(PULSE_JAVA_NATIVE_BUILDDIR) $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_Stream.c -o $(PULSE_JAVA_NATIVE_BUILDDIR)/org_classpath_icedtea_pulseaudio_Stream.o > + $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) $(ZERO_ARCHFLAG) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include -I$(PULSE_JAVA_NATIVE_BUILDDIR) $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_PulseAudioTargetPort.c -o $(PULSE_JAVA_NATIVE_BUILDDIR)/org_classpath_icedtea_pulseaudio_PulseAudioTargetPort.o > + $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) $(ZERO_ARCHFLAG) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include -I$(PULSE_JAVA_NATIVE_BUILDDIR) $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_PulseAudioSourcePort.c -o $(PULSE_JAVA_NATIVE_BUILDDIR)/org_classpath_icedtea_pulseaudio_PulseAudioSourcePort.o > + $(CC) $(LDFLAGS) $(ZERO_ARCHFLAG) -shared $(PULSE_JAVA_NATIVE_BUILDDIR)/org_*pulseaudio*.o $(PULSE_JAVA_NATIVE_BUILDDIR)/jni-common.o $(LIBPULSE_LIBS) -o libpulse-java.so > endif > mkdir -p stamps > touch stamps/pulse-java.stamp -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint = F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From gbenson at redhat.com Tue Mar 9 04:59:47 2010 From: gbenson at redhat.com (Gary Benson) Date: Tue, 9 Mar 2010 12:59:47 +0000 Subject: Changes in Makefile.am for IcedTea6-1.7.1 (PulseAudio issue) In-Reply-To: <20100309124633.GC8943@rivendell.middle-earth.co.uk> References: <4B964F51.5050305@redhat.com> <20100309124633.GC8943@rivendell.middle-earth.co.uk> Message-ID: <20100309125946.GC3437@redhat.com> Andrew John Hughes wrote: > On 14:38 Tue 09 Mar , Pavel Tisnovsky wrote: > > there is one new PulseAudio issue in IcedTea6-1.7.1 - library for > > wrong platform (ppc32) is used when IcedTea is built for ppc64 > > platform. > > > > This issue can be easily fixed by small change in Makefile.am. I > > created patch for IcedTea6-1.7.1 (it is based on patch which Gary > > sent me yesterday - thanks very much btw :-) and successfully > > tested "patched" IcedTea6-1.7.1 on F10 i386 and F10 ppc. Is it > > possible to push this change to IcedTea6-1.7 repository (I suppose > > IcedTea6.1-7 and IcedTea6-1.7.1 has the same repo, am I right)? > > I'm a bit concerned about using something specific to Zero; is it > possible that this could be an issue on some multilib setups for > x86_64? This fix looks ok for the 1.7 branch, but I'd rather we > generalised ARCHFLAG in the main tree so it is always set. If anything it should fix some multilib setups for x86_64, since they'll fail with the same error. ZERO_ARCHFLAG is just -m{31,32,64}. It could easily be renamed as ARCHFLAG in the IcedTea makefiles... Cheers, Gary -- http://gbenson.net/ From ahughes at redhat.com Tue Mar 9 05:38:59 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Tue, 9 Mar 2010 13:38:59 +0000 Subject: Changes in Makefile.am for IcedTea6-1.7.1 (PulseAudio issue) In-Reply-To: <20100309125946.GC3437@redhat.com> References: <4B964F51.5050305@redhat.com> <20100309124633.GC8943@rivendell.middle-earth.co.uk> <20100309125946.GC3437@redhat.com> Message-ID: <17c6771e1003090538k2006d265i9d9c17b5187718e9@mail.gmail.com> On 9 March 2010 12:59, Gary Benson wrote: > Andrew John Hughes wrote: >> On 14:38 Tue 09 Mar ? ? , Pavel Tisnovsky wrote: >> > there is one new PulseAudio issue in IcedTea6-1.7.1 - library for >> > wrong platform (ppc32) is used when IcedTea is built for ppc64 >> > platform. >> > >> > This issue can be easily fixed by small change in Makefile.am. I >> > created patch for IcedTea6-1.7.1 (it is based on patch which Gary >> > sent me yesterday - thanks very much btw :-) and successfully >> > tested "patched" IcedTea6-1.7.1 on F10 i386 and F10 ppc. Is it >> > possible to push this change to IcedTea6-1.7 repository (I suppose >> > IcedTea6.1-7 and IcedTea6-1.7.1 has the same repo, am I right)? >> >> I'm a bit concerned about using something specific to Zero; is it >> possible that this could be an issue on some multilib setups for >> x86_64? ?This fix looks ok for the 1.7 branch, but I'd rather we >> generalised ARCHFLAG in the main tree so it is always set. > > If anything it should fix some multilib setups for x86_64, since > they'll fail with the same error. > > ZERO_ARCHFLAG is just -m{31,32,64}. ?It could easily be renamed > as ARCHFLAG in the IcedTea makefiles... > Exactly what I was thinking. > Cheers, > Gary > > -- > http://gbenson.net/ > -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From ptisnovs at redhat.com Tue Mar 9 06:48:23 2010 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Tue, 09 Mar 2010 15:48:23 +0100 Subject: Changes in Makefile.am for IcedTea6-1.7.1 (PulseAudio issue) In-Reply-To: <17c6771e1003090538k2006d265i9d9c17b5187718e9@mail.gmail.com> References: <4B964F51.5050305@redhat.com> <20100309124633.GC8943@rivendell.middle-earth.co.uk> <20100309125946.GC3437@redhat.com> <17c6771e1003090538k2006d265i9d9c17b5187718e9@mail.gmail.com> Message-ID: <4B965FB7.1070909@redhat.com> Andrew John Hughes wrote: > On 9 March 2010 12:59, Gary Benson wrote: >> Andrew John Hughes wrote: >>> On 14:38 Tue 09 Mar , Pavel Tisnovsky wrote: >>>> there is one new PulseAudio issue in IcedTea6-1.7.1 - library for >>>> wrong platform (ppc32) is used when IcedTea is built for ppc64 >>>> platform. >>>> >>>> This issue can be easily fixed by small change in Makefile.am. I >>>> created patch for IcedTea6-1.7.1 (it is based on patch which Gary >>>> sent me yesterday - thanks very much btw :-) and successfully >>>> tested "patched" IcedTea6-1.7.1 on F10 i386 and F10 ppc. Is it >>>> possible to push this change to IcedTea6-1.7 repository (I suppose >>>> IcedTea6.1-7 and IcedTea6-1.7.1 has the same repo, am I right)? >>> I'm a bit concerned about using something specific to Zero; is it >>> possible that this could be an issue on some multilib setups for >>> x86_64? This fix looks ok for the 1.7 branch, but I'd rather we >>> generalised ARCHFLAG in the main tree so it is always set. >> If anything it should fix some multilib setups for x86_64, since >> they'll fail with the same error. >> >> ZERO_ARCHFLAG is just -m{31,32,64}. It could easily be renamed >> as ARCHFLAG in the IcedTea makefiles... >> > > Exactly what I was thinking. So is it correct to rename ZERO_ARCHFLAG to ARCHFLAG, add this flag as compiler options to build these six PulseAudio-related sources and push Makefile.am to IcedTea6-1.7 repository? > >> Cheers, >> Gary >> >> -- >> http://gbenson.net/ >> > > > From ahughes at redhat.com Tue Mar 9 09:11:01 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Tue, 9 Mar 2010 17:11:01 +0000 Subject: Changes in Makefile.am for IcedTea6-1.7.1 (PulseAudio issue) In-Reply-To: <4B965FB7.1070909@redhat.com> References: <4B964F51.5050305@redhat.com> <20100309124633.GC8943@rivendell.middle-earth.co.uk> <20100309125946.GC3437@redhat.com> <17c6771e1003090538k2006d265i9d9c17b5187718e9@mail.gmail.com> <4B965FB7.1070909@redhat.com> Message-ID: <17c6771e1003090911q3e4779des871d97c401e08608@mail.gmail.com> On 9 March 2010 14:48, Pavel Tisnovsky wrote: > Andrew John Hughes wrote: >> >> On 9 March 2010 12:59, Gary Benson wrote: >>> >>> Andrew John Hughes wrote: >>>> >>>> On 14:38 Tue 09 Mar ? ? , Pavel Tisnovsky wrote: >>>>> >>>>> there is one new PulseAudio issue in IcedTea6-1.7.1 - library for >>>>> wrong platform (ppc32) is used when IcedTea is built for ppc64 >>>>> platform. >>>>> >>>>> This issue can be easily fixed by small change in Makefile.am. I >>>>> created patch for IcedTea6-1.7.1 (it is based on patch which Gary >>>>> sent me yesterday - thanks very much btw :-) and successfully >>>>> tested "patched" IcedTea6-1.7.1 on F10 i386 and F10 ppc. Is it >>>>> possible to push this change to IcedTea6-1.7 repository (I suppose >>>>> IcedTea6.1-7 and IcedTea6-1.7.1 has the same repo, am I right)? >>>> >>>> I'm a bit concerned about using something specific to Zero; is it >>>> possible that this could be an issue on some multilib setups for >>>> x86_64? ?This fix looks ok for the 1.7 branch, but I'd rather we >>>> generalised ARCHFLAG in the main tree so it is always set. >>> >>> If anything it should fix some multilib setups for x86_64, since >>> they'll fail with the same error. >>> >>> ZERO_ARCHFLAG is just -m{31,32,64}. ?It could easily be renamed >>> as ARCHFLAG in the IcedTea makefiles... >>> >> >> Exactly what I was thinking. > > So is it correct to rename ZERO_ARCHFLAG to ARCHFLAG, add this flag as > compiler options to build these six PulseAudio-related sources and push > Makefile.am to IcedTea6-1.7 repository? > No, please just apply the patch as originally posted to 1.7. I'll push the changed version to HEAD. >> >>> Cheers, >>> Gary >>> >>> -- >>> http://gbenson.net/ >>> >> >> >> > > -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From doko at ubuntu.com Tue Mar 9 09:39:04 2010 From: doko at ubuntu.com (Matthias Klose) Date: Tue, 09 Mar 2010 18:39:04 +0100 Subject: preparing an IcedTea6-1.8 release Message-ID: <4B9687B8.4020604@ubuntu.com> Hi, I would like to prepare an IcedTea6-1.8 release, which I would like to include into the coming Debian and Ubuntu releases. The build failures introduced with the 6b18 import are now fixed, not seeing any more build failures. Would be reasonable to do this before switching to 6b19, and preparing a prerelease for mid/end of next week, and the final release for the end of March? Matthias From ahughes at redhat.com Tue Mar 9 09:44:13 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Tue, 9 Mar 2010 17:44:13 +0000 Subject: preparing an IcedTea6-1.8 release In-Reply-To: <4B9687B8.4020604@ubuntu.com> References: <4B9687B8.4020604@ubuntu.com> Message-ID: <17c6771e1003090944l47d28842g336782a1b188ad71@mail.gmail.com> On 9 March 2010 17:39, Matthias Klose wrote: > Hi, > > I would like to prepare an IcedTea6-1.8 release, which I would like to > include into the coming Debian and Ubuntu releases. The build failures > introduced with the 6b18 import are now fixed, not seeing any more build > failures. Would be reasonable to do this before switching to 6b19, and > preparing a prerelease for mid/end of next week, and the final release for > the end of March? > > ?Matthias > > We definitely need a release prior to importing b19, but that's not imminent just yet (Zero needs upstreaming for one thing). It would also be good to get Nimbus out in a release, so the plan sounds good to me. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From andrew at icedtea.classpath.org Tue Mar 9 10:27:08 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 09 Mar 2010 18:27:08 +0000 Subject: /hg/icedtea6: Generalise ZERO_ARCHFLAG to ARCHFLAG and use in Pu... Message-ID: changeset b6c061fbac95 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=b6c061fbac95 author: Andrew John Hughes date: Tue Mar 09 18:26:30 2010 +0000 Generalise ZERO_ARCHFLAG to ARCHFLAG and use in PulseAudio native build. 2010-03-08 Andrew John Hughes * Makefile.am: (IT_CFLAGS): General CFLAGS for all IcedTea C builds, which includes ARCHFLAG. (ICEDTEA_ENV): Set ZERO_ARCHFLAG from ARCHFLAG. (ICEDTEA_ECJ_ENV): Likewise. (stamps/native-ecj.stamp): Use IT_CFLAGS. ($(PULSE_JAVA_NATIVE_BUILDDIR)/%.o): Use IT_CFLAGS. * acinclude.m4: (IT_SET_ARCH_SETTINGS): Renamed from SET_ARCH_DIRS. Use host_cpu rather than host. Add sections for sparc and s390x. Set ARCHFLAG to m64 for x86_64, sparc64, powerpc64 and s390x, m31 for s390 and m32 for i?86, powerpc and sparc. (ENABLE_ZERO_BUILD): Remove setting of ZERO_ARCHFLAG, generalised to ARCHFLAG. * configure.ac: Call renamed IT_SET_ARCH_SETTINGS. diffstat: 4 files changed, 62 insertions(+), 31 deletions(-) ChangeLog | 19 ++++++++++++++++++ Makefile.am | 13 +++++++----- acinclude.m4 | 59 +++++++++++++++++++++++++++++++++------------------------- configure.ac | 2 - diffs (226 lines): diff -r 9c3d0d30552c -r b6c061fbac95 ChangeLog --- a/ChangeLog Mon Mar 08 15:18:20 2010 +0000 +++ b/ChangeLog Tue Mar 09 18:26:30 2010 +0000 @@ -1,3 +1,22 @@ 2010-03-08 Andrew John Hughes + + * Makefile.am: + (IT_CFLAGS): General CFLAGS for all IcedTea + C builds, which includes ARCHFLAG. + (ICEDTEA_ENV): Set ZERO_ARCHFLAG from ARCHFLAG. + (ICEDTEA_ECJ_ENV): Likewise. + (stamps/native-ecj.stamp): Use IT_CFLAGS. + ($(PULSE_JAVA_NATIVE_BUILDDIR)/%.o): Use IT_CFLAGS. + * acinclude.m4: + (IT_SET_ARCH_SETTINGS): Renamed from SET_ARCH_DIRS. + Use host_cpu rather than host. Add sections for + sparc and s390x. Set ARCHFLAG to m64 for x86_64, + sparc64, powerpc64 and s390x, m31 for s390 and m32 + for i?86, powerpc and sparc. + (ENABLE_ZERO_BUILD): Remove setting of ZERO_ARCHFLAG, + generalised to ARCHFLAG. + * configure.ac: Call renamed IT_SET_ARCH_SETTINGS. + 2010-03-08 Andrew John Hughes * Makefile.am: diff -r 9c3d0d30552c -r b6c061fbac95 Makefile.am --- a/Makefile.am Mon Mar 08 15:18:20 2010 +0000 +++ b/Makefile.am Tue Mar 09 18:26:30 2010 +0000 @@ -95,6 +95,9 @@ ICEDTEA_BOOTSTRAP_CLASSES = \ $(SHARE)/sun/misc/Unsafe.java # FIXME (javac): Settings for javac go here + +# Flags +IT_CFLAGS=$(CFLAGS) $(ARCHFLAG) # Conditional defintions @@ -443,7 +446,7 @@ ICEDTEA_ENV = \ ARCH_DATA_MODEL="$(ZERO_BITSPERWORD)" \ ZERO_ENDIANNESS="$(ZERO_ENDIANNESS)" \ ZERO_ARCHDEF="$(ZERO_ARCHDEF)" \ - ZERO_ARCHFLAG="$(ZERO_ARCHFLAG)" \ + ZERO_ARCHFLAG="$(ARCHFLAG)" \ LIBFFI_CFLAGS="$(LIBFFI_CFLAGS)" \ LIBFFI_LIBS="$(LIBFFI_LIBS)" \ LLVM_CFLAGS="$(LLVM_CFLAGS)" \ @@ -533,7 +536,7 @@ ICEDTEA_ENV_ECJ = \ ARCH_DATA_MODEL="$(ZERO_BITSPERWORD)" \ ZERO_ENDIANNESS="$(ZERO_ENDIANNESS)" \ ZERO_ARCHDEF="$(ZERO_ARCHDEF)" \ - ZERO_ARCHFLAG="$(ZERO_ARCHFLAG)" \ + ZERO_ARCHFLAG="$(ARCHFLAG)" \ LIBFFI_CFLAGS="$(LIBFFI_CFLAGS)" \ LIBFFI_LIBS="$(LIBFFI_LIBS)" \ LLVM_CFLAGS="$(LLVM_CFLAGS)" \ @@ -1232,8 +1235,8 @@ clean-patch-ecj: stamps/native-ecj.stamp: mkdir -p stamps ; \ - if test "x${GCJ}" != "xno"; then \ - ${GCJ} ${CFLAGS} -Wl,-Bsymbolic -findirect-dispatch -o native-ecj \ + if test "x$(GCJ)" != "xno"; then \ + $(GCJ) $(IT_CFLAGS) -Wl,-Bsymbolic -findirect-dispatch -o native-ecj \ --main=org.eclipse.jdt.internal.compiler.batch.Main ${ECJ_JAR} ; \ fi ; \ touch stamps/native-ecj.stamp @@ -1726,7 +1729,7 @@ extra-lib/about.jar: stamps/extra-class- if ENABLE_PULSE_JAVA $(PULSE_JAVA_NATIVE_BUILDDIR)/%.o: $(PULSE_JAVA_NATIVE_SRCDIR)/%.c stamps/pulse-java-headers.stamp - $(CC) $(CFLAGS) -fPIC -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include \ + $(CC) $(IT_CFLAGS) -fPIC -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include \ -I$(PULSE_JAVA_NATIVE_BUILDDIR) -o $@ -c $< $(PULSE_JAVA_NATIVE_BUILDDIR)/libpulse-java.so: $(PULSE_JAVA_NATIVE_OBJECTS) diff -r 9c3d0d30552c -r b6c061fbac95 acinclude.m4 --- a/acinclude.m4 Mon Mar 08 15:18:20 2010 +0000 +++ b/acinclude.m4 Tue Mar 09 18:26:30 2010 +0000 @@ -1,68 +1,89 @@ AC_DEFUN([SET_ARCH_DIRS], -AC_DEFUN([SET_ARCH_DIRS], +AC_DEFUN([IT_SET_ARCH_SETTINGS], [ - case "${host}" in - x86_64-*-*) + case "${host_cpu}" in + x86_64) BUILD_ARCH_DIR=amd64 INSTALL_ARCH_DIR=amd64 JRE_ARCH_DIR=amd64 CROSS_TARGET_ARCH=x86_64 + ARCHFLAG="-m64" ;; - i?86-*-*) + i?86) BUILD_ARCH_DIR=i586 INSTALL_ARCH_DIR=i386 JRE_ARCH_DIR=i386 ARCH_PREFIX=${LINUX32} CROSS_TARGET_ARCH=i386 + ARCHFLAG="-m32" ;; - alpha*-*-*) + alpha*) BUILD_ARCH_DIR=alpha INSTALL_ARCH_DIR=alpha JRE_ARCH_DIR=alpha CROSS_TARGET_ARCH=alpha ;; - arm*-*-*) + arm*) BUILD_ARCH_DIR=arm INSTALL_ARCH_DIR=arm JRE_ARCH_DIR=arm CROSS_TARGET_ARCH=arm ;; - mips-*-*) + mips) BUILD_ARCH_DIR=mips INSTALL_ARCH_DIR=mips JRE_ARCH_DIR=mips CROSS_TARGET_ARCH=mips ;; - mipsel-*-*) + mipsel) BUILD_ARCH_DIR=mipsel INSTALL_ARCH_DIR=mipsel JRE_ARCH_DIR=mipsel CROSS_TARGET_ARCH=mipsel ;; - powerpc-*-*) + powerpc) BUILD_ARCH_DIR=ppc INSTALL_ARCH_DIR=ppc JRE_ARCH_DIR=ppc ARCH_PREFIX=${LINUX32} CROSS_TARGET_ARCH=ppc + ARCHFLAG="-m32" ;; - powerpc64-*-*) + powerpc64) BUILD_ARCH_DIR=ppc64 INSTALL_ARCH_DIR=ppc64 JRE_ARCH_DIR=ppc64 CROSS_TARGET_ARCH=ppc64 + ARCHFLAG="-m64" ;; - sparc64-*-*) + sparc) + BUILD_ARCH_DIR=sparc + INSTALL_ARCH_DIR=sparc + JRE_ARCH_DIR=sparc + CROSS_TARGET_ARCH=sparc + ARCH_PREFIX=${LINUX32} + ARCHFLAG="-m32" + ;; + sparc64) BUILD_ARCH_DIR=sparcv9 INSTALL_ARCH_DIR=sparcv9 JRE_ARCH_DIR=sparc64 CROSS_TARGET_ARCH=sparc64 + ARCHFLAG="-m64" ;; - s390-*-*) + s390) BUILD_ARCH_DIR=s390 INSTALL_ARCH_DIR=s390 JRE_ARCH_DIR=s390 ARCH_PREFIX=${LINUX32} CROSS_TARGET_ARCH=s390 + ARCHFLAG="-m31" + ;; + s390x) + BUILD_ARCH_DIR=s390x + INSTALL_ARCH_DIR=s390x + JRE_ARCH_DIR=s390x + CROSS_TARGET_ARCH=s390x + ARCHFLAG="-m64" ;; *) BUILD_ARCH_DIR=`uname -m` @@ -76,6 +97,7 @@ AC_DEFUN([SET_ARCH_DIRS], AC_SUBST(JRE_ARCH_DIR) AC_SUBST(ARCH_PREFIX) AC_SUBST(CROSS_TARGET_ARCH) + AC_SUBST(ARCHFLAG) ]) AC_DEFUN([SET_OS_DIRS], @@ -764,23 +786,10 @@ AC_DEFUN([ENABLE_ZERO_BUILD], *) ZERO_ARCHDEF=`echo ${ZERO_LIBARCH} | tr a-z A-Z` esac - dnl multilib machines need telling which mode to build for - case "${ZERO_LIBARCH}" in - i386|ppc|sparc) - ZERO_ARCHFLAG="-m32" - ;; - s390) - ZERO_ARCHFLAG="-m31" - ;; - amd64|ppc64|s390x|sparc64) - ZERO_ARCHFLAG="-m64" - ;; - esac AC_SUBST(ZERO_LIBARCH) AC_SUBST(ZERO_BITSPERWORD) AC_SUBST(ZERO_ENDIANNESS) AC_SUBST(ZERO_ARCHDEF) - AC_SUBST(ZERO_ARCHFLAG) AC_CONFIG_FILES([jvm.cfg]) AC_CONFIG_FILES([ergo.c]) ]) diff -r 9c3d0d30552c -r b6c061fbac95 configure.ac --- a/configure.ac Mon Mar 08 15:18:20 2010 +0000 +++ b/configure.ac Tue Mar 09 18:26:30 2010 +0000 @@ -154,7 +154,7 @@ IT_GET_PKGVERSION IT_GET_PKGVERSION IT_GET_LSB_DATA -SET_ARCH_DIRS +IT_SET_ARCH_SETTINGS SET_OS_DIRS if test "${with_openjdk}" = true From dbhole at icedtea.classpath.org Tue Mar 9 12:55:01 2010 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Tue, 09 Mar 2010 20:55:01 +0000 Subject: /hg/icedtea6: Message protocol overhaul to fix race conditions Message-ID: changeset b81b851fd325 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=b81b851fd325 author: Deepak Bhole date: Tue Mar 09 15:54:50 2010 -0500 Message protocol overhaul to fix race conditions - Added unique reference identifiers to Java -> C++ requests so that the correct responses are serviced (fixes some bad race conditions when multiple applets are running). - Fix race conditions that caused some of the set tests to intermittently fail. diffstat: 13 files changed, 264 insertions(+), 170 deletions(-) ChangeLog | 80 ++++++++ plugin/icedteanp/IcedTeaNPPlugin.cc | 25 +- plugin/icedteanp/IcedTeaPluginRequestProcessor.cc | 86 ++++----- plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java | 26 -- plugin/icedteanp/java/sun/applet/GetWindowPluginCallRequest.java | 18 - plugin/icedteanp/java/sun/applet/PluginAppletViewer.java | 95 +++++++--- plugin/icedteanp/java/sun/applet/PluginCallRequest.java | 22 +- plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java | 14 - plugin/icedteanp/java/sun/applet/PluginCookieInfoRequest.java | 20 -- plugin/icedteanp/java/sun/applet/PluginProxyInfoRequest.java | 22 -- plugin/icedteanp/java/sun/applet/PluginStreamHandler.java | 4 plugin/icedteanp/java/sun/applet/VoidPluginCallRequest.java | 19 -- plugin/tests/LiveConnect/common.js | 3 diffs (truncated from 1006 to 500 lines): diff -r b6c061fbac95 -r b81b851fd325 ChangeLog --- a/ChangeLog Tue Mar 09 18:26:30 2010 +0000 +++ b/ChangeLog Tue Mar 09 15:54:50 2010 -0500 @@ -1,3 +1,83 @@ 2010-03-08 Andrew John Hughes + + * plugin/icedteanp/IcedTeaNPPlugin.cc + (consume_message): Handle the new reference field and send it back when + sending proxy and cookie info. + (get_proxy_info): Update response format for proxy information to make it + consistent with new Gecko API. + * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc + (newMessageOnBus): Account for the new reference field and send it back + with the response. + (sendWindow): Same. + (eval): Same. + (call): Same. + (sendString): Same. + (setMember): Same. Also, move responding code from _setMember to setMember + for consistency and to solve a rather bad race condition that affected + reliability. + (sendMember): Account for the new reference field and send it back + with the response. + (queue_processor): Move array index slots based on new positions with + reference ids. + (_setMember): Move response code back to setMember. + * plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java + (GetMemberPluginCallRequest): Change method signature to receive a + reference identifier. + (parse): Update to handle new reference identifiers. + (serviceable): Removed method. serviceable() is now implemented in the + parent class and uses unique reference identifiers. + * plugin/icedteanp/java/sun/applet/GetWindowPluginCallRequest.java + (GetWindowPluginCallRequest): Change method signature to receive a + reference identifier. + (serviceable): Removed method. serviceable() is now implemented in the + parent class and uses unique reference identifiers. + * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: Added new + statis private requestIdentityCounter variable that provides unique + reference numbers. + (createPanel): Send a dummy (0) reference number with initialization msg. + (getRequestIdentifier): New method. Returns a unique reference number + and then increments requestIdentityCounter in a thread-safe manner. + (getWindow): Send reference id to getPluginCallRequest. + (getMember): Same. + (setMember): Same. + (setSlot): Same. + (getSlot): Same. + (eval): Same. + (removeMember): Same. + (call): Same. + (requestPluginCookieInfo): Same. + (requestPluginProxyInfo): Same. + (JavaScriptFinalize): Same. + (javascriptToString): Same. + * plugin/icedteanp/java/sun/applet/PluginCallRequest.java: Track reference + numbers instead of the 'return string' marker. + (serviceable): Change from abstract to implemented method, returns weather + or not the given message is servicable by this request based on unique + reference numbers. + * plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java + (getPluginCallRequest): Pass reference numbers to concrete class + constructors. + * plugin/icedteanp/java/sun/applet/PluginCookieInfoRequest.java + (PluginCookieInfoRequest): Receive new reference number and pass it to + parent. + (parseString): Update to handle new reference numbers in message. + (serviceable): Removed method. serviceable() is now implemented in the + parent class and uses unique reference identifiers. + * plugin/icedteanp/java/sun/applet/PluginProxyInfoRequest.java + (PluginProxyInfoRequest): Receive new reference number and pass it to + parent. + (parseReturn): Update to handle new reference numbers in message. Also, + parse based on new format returned by the C++ side. + (serviceable): Removed method. serviceable() is now implemented in the + parent class and uses unique reference identifiers. + * plugin/icedteanp/java/sun/applet/PluginStreamHandler.java + (handleMessage): Pass reference to finishCallRequest(). + * plugin/icedteanp/java/sun/applet/VoidPluginCallRequest.java + (VoidPluginCallRequest): Update to handle new reference numbers in + message. + * plugin/tests/LiveConnect/common.js + (testAll): Check eval tests checkbox before calling doTest(); + 2010-03-08 Andrew John Hughes * Makefile.am: diff -r b6c061fbac95 -r b81b851fd325 plugin/icedteanp/IcedTeaNPPlugin.cc --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Tue Mar 09 18:26:30 2010 +0000 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Tue Mar 09 15:54:50 2010 -0500 @@ -1222,15 +1222,15 @@ void consume_message(gchar* message) { else if (g_str_has_prefix (message, "plugin ")) { // internal plugin related message - gchar** parts = g_strsplit (message, " ", 3); + gchar** parts = g_strsplit (message, " ", 5); if (g_str_has_prefix(parts[1], "PluginProxyInfo")) { gchar* proxy; uint32_t len; - gchar* decoded_url = (gchar*) calloc(strlen(parts[2]) + 1, sizeof(gchar)); - IcedTeaPluginUtilities::decodeURL(parts[2], &decoded_url); - PLUGIN_DEBUG_4ARG("parts[0]=%s, parts[1]=%s, parts[2]=%s -- decoded_url=%s\n", parts[0], parts[1], parts[2], decoded_url); + gchar* decoded_url = (gchar*) calloc(strlen(parts[4]) + 1, sizeof(gchar)); + IcedTeaPluginUtilities::decodeURL(parts[4], &decoded_url); + PLUGIN_DEBUG_5ARG("parts[0]=%s, parts[1]=%s, reference, parts[3]=%s, parts[4]=%s -- decoded_url=%s\n", parts[0], parts[1], parts[3], parts[4], decoded_url); gchar* proxy_info; @@ -1238,7 +1238,7 @@ void consume_message(gchar* message) { proxy = (char*) malloc(sizeof(char)*2048); #endif - proxy_info = g_strconcat ("plugin PluginProxyInfo ", NULL); + proxy_info = g_strconcat ("plugin PluginProxyInfo reference ", parts[3], " ", NULL); if (get_proxy_info(decoded_url, &proxy, &len) == NPERR_NO_ERROR) { proxy_info = g_strconcat (proxy_info, proxy, NULL); @@ -1259,10 +1259,10 @@ void consume_message(gchar* message) { } else if (g_str_has_prefix(parts[1], "PluginCookieInfo")) { - gchar* decoded_url = (gchar*) calloc(strlen(parts[2])+1, sizeof(gchar)); - IcedTeaPluginUtilities::decodeURL(parts[2], &decoded_url); + gchar* decoded_url = (gchar*) calloc(strlen(parts[4])+1, sizeof(gchar)); + IcedTeaPluginUtilities::decodeURL(parts[4], &decoded_url); - gchar* cookie_info = g_strconcat ("plugin PluginCookieInfo ", parts[2], " ", NULL); + gchar* cookie_info = g_strconcat ("plugin PluginCookieInfo reference ", parts[3], " ", NULL); gchar* cookie_string; uint32_t len; if (get_cookie_info(decoded_url, &cookie_string, &len) == NPERR_NO_ERROR) @@ -1358,7 +1358,14 @@ get_proxy_info(const char* siteAddr, cha nsDependentCString ipAddr; record->GetNextAddrAsString(ipAddr); - snprintf(*proxy, sizeof(char)*1024, "%s://%s:%d", ptype.get(), ipAddr.get(), pport); + if (!strcmp(ptype.get(), "http")) + { + snprintf(*proxy, sizeof(char)*1024, "%s %s:%d", "PROXY", ipAddr.get(), pport); + } else + { + snprintf(*proxy, sizeof(char)*1024, "%s %s:%d", "SOCKS", ipAddr.get(), pport); + } + *len = strlen(*proxy); PLUGIN_DEBUG_2ARG("Proxy info for %s: %s\n", siteAddr, *proxy); diff -r b6c061fbac95 -r b81b851fd325 plugin/icedteanp/IcedTeaPluginRequestProcessor.cc --- a/plugin/icedteanp/IcedTeaPluginRequestProcessor.cc Tue Mar 09 18:26:30 2010 +0000 +++ b/plugin/icedteanp/IcedTeaPluginRequestProcessor.cc Tue Mar 09 15:54:50 2010 -0500 @@ -103,7 +103,7 @@ PluginRequestProcessor::newMessageOnBus( IcedTeaPluginUtilities::printStringVector("PluginRequestProcessor::newMessageOnBus:", message_parts); type = message_parts->at(0); - command = message_parts->at(2); + command = message_parts->at(4); if (type == "instance") { @@ -122,7 +122,7 @@ PluginRequestProcessor::newMessageOnBus( command == "Eval") { - // Update queue synchronously + // Update queue synchronously pthread_mutex_lock(&message_queue_mutex); message_queue->push_back(message_parts); pthread_mutex_unlock(&message_queue_mutex); @@ -152,6 +152,7 @@ PluginRequestProcessor::sendWindow(std:: { std::string type; std::string command; + int reference; std::string response = std::string(); std::string window_ptr_str = std::string(); NPVariant* variant = new NPVariant(); @@ -160,7 +161,8 @@ PluginRequestProcessor::sendWindow(std:: type = message_parts->at(0); id = atoi(message_parts->at(1).c_str()); - command = message_parts->at(2); + reference = atoi(message_parts->at(3).c_str()); + command = message_parts->at(4); NPP instance; get_instance_from_id(id, instance); @@ -173,7 +175,7 @@ PluginRequestProcessor::sendWindow(std:: IcedTeaPluginUtilities::JSIDToString(variant, &window_ptr_str); // We need the context 0 for backwards compatibility with the Java side - IcedTeaPluginUtilities::constructMessagePrefix(0, &response); + IcedTeaPluginUtilities::constructMessagePrefix(0, reference, &response); response += " JavaScriptGetWindow "; response += window_ptr_str; @@ -201,14 +203,16 @@ PluginRequestProcessor::eval(std::vector NPP instance; std::string script; NPVariant result; + int reference; std::string response = std::string(); std::string return_type = std::string(); int id; - window_ptr = (NPVariant*) IcedTeaPluginUtilities::stringToJSID(message_parts->at(3)); + reference = atoi(message_parts->at(3).c_str()); + window_ptr = (NPVariant*) IcedTeaPluginUtilities::stringToJSID(message_parts->at(5)); instance = IcedTeaPluginUtilities::getInstanceFromMemberPtr(window_ptr); - java_result = request_processor.getString(message_parts->at(4)); + java_result = request_processor.getString(message_parts->at(6)); CHECK_JAVA_RESULT(java_result); script.append(*(java_result->return_string)); @@ -240,7 +244,7 @@ PluginRequestProcessor::eval(std::vector std::string result_variant_jniid = std::string(); createJavaObjectFromVariant(instance, *result_variant, &result_variant_jniid); - IcedTeaPluginUtilities::constructMessagePrefix(0, &response); + IcedTeaPluginUtilities::constructMessagePrefix(0, reference, &response); response += " JavaScriptEval "; response += result_variant_jniid; @@ -262,6 +266,7 @@ PluginRequestProcessor::call(std::vector NPP instance; std::string window_ptr_str; NPVariant* window_ptr; + int reference; std::string window_function_name; std::vector args = std::vector(); std::vector arg_ids = std::vector(); @@ -270,20 +275,22 @@ PluginRequestProcessor::call(std::vector JavaRequestProcessor java_request = JavaRequestProcessor(); JavaResultData* java_result; + reference = atoi(message_parts->at(3).c_str()); + // window - window_ptr_str = message_parts->at(3); + window_ptr_str = message_parts->at(5); window_ptr = (NPVariant*) IcedTeaPluginUtilities::stringToJSID(window_ptr_str); // instance instance = IcedTeaPluginUtilities::getInstanceFromMemberPtr(window_ptr); // function name - java_result = java_request.getString(message_parts->at(4)); + java_result = java_request.getString(message_parts->at(6)); CHECK_JAVA_RESULT(java_result); window_function_name.append(*(java_result->return_string)); // arguments - for (int i=5; i < message_parts->size(); i++) + for (int i=7; i < message_parts->size(); i++) { arg_ids.push_back(message_parts->at(i)); } @@ -342,7 +349,7 @@ PluginRequestProcessor::call(std::vector result_variant_jniid = "0"; } - IcedTeaPluginUtilities::constructMessagePrefix(0, &response); + IcedTeaPluginUtilities::constructMessagePrefix(0, reference, &response); response += " JavaScriptCall "; response += result_variant_jniid; @@ -364,9 +371,11 @@ PluginRequestProcessor::sendString(std:: NPVariant* variant; JavaRequestProcessor java_request = JavaRequestProcessor(); JavaResultData* java_result; + int reference; std::string response = std::string(); - variant_ptr = message_parts->at(3); + reference = atoi(message_parts->at(3).c_str()); + variant_ptr = message_parts->at(5); variant = (NPVariant*) IcedTeaPluginUtilities::stringToJSID(variant_ptr); AsyncCallThreadData thread_data = AsyncCallThreadData(); @@ -393,7 +402,7 @@ PluginRequestProcessor::sendString(std:: #endif // We need the context 0 for backwards compatibility with the Java side - IcedTeaPluginUtilities::constructMessagePrefix(0, &response); + IcedTeaPluginUtilities::constructMessagePrefix(0, reference, &response); response += " JavaScriptToString "; response += thread_data.result; @@ -418,6 +427,8 @@ PluginRequestProcessor::setMember(std::v { std::string propertyNameID; std::string value = std::string(); + std::string response = std::string(); + int reference; NPP instance; NPVariant* member; @@ -428,24 +439,26 @@ PluginRequestProcessor::setMember(std::v IcedTeaPluginUtilities::printStringVector("PluginRequestProcessor::_setMember - ", message_parts); - member = (NPVariant*) (IcedTeaPluginUtilities::stringToJSID(message_parts->at(3))); - propertyNameID = message_parts->at(4); + reference = atoi(message_parts->at(3).c_str()); - if (message_parts->at(5) == "literalreturn") + member = (NPVariant*) (IcedTeaPluginUtilities::stringToJSID(message_parts->at(5))); + propertyNameID = message_parts->at(6); + + if (message_parts->at(7) == "literalreturn") { - value.append(message_parts->at(5)); + value.append(message_parts->at(7)); value.append(" "); - value.append(message_parts->at(6)); + value.append(message_parts->at(8)); } else { - value.append(message_parts->at(5)); + value.append(message_parts->at(7)); } instance = IcedTeaPluginUtilities::getInstanceFromMemberPtr(member); - if (message_parts->at(2) == "SetSlot") + if (message_parts->at(4) == "SetSlot") { - property_identifier = browser_functions.getintidentifier(atoi(message_parts->at(4).c_str())); + property_identifier = browser_functions.getintidentifier(atoi(message_parts->at(6).c_str())); } else { java_result = java_request.getString(propertyNameID); @@ -485,6 +498,10 @@ PluginRequestProcessor::setMember(std::v } #endif + IcedTeaPluginUtilities::constructMessagePrefix(0, reference, &response); + response.append(" JavaScriptSetMember "); + plugin_to_java_bus->post(response.c_str()); + cleanup: delete message_parts; @@ -514,6 +531,7 @@ PluginRequestProcessor::sendMember(std:: JavaResultData* java_result; NPVariant* parent_ptr; + //int reference; std::string member_id = std::string(); std::string jsObjectClassID = std::string(); std::string jsObjectConstructorID = std::string(); @@ -523,18 +541,20 @@ PluginRequestProcessor::sendMember(std:: int method_id; int instance_id; - long reference; + int reference; // debug printout of parent thread data IcedTeaPluginUtilities::printStringVector("PluginRequestProcessor::getMember:", message_parts); + reference = atoi(message_parts->at(3).c_str()); + // store info in local variables for easy access instance_id = atoi(message_parts->at(1).c_str()); - parent_ptr = (NPVariant*) (IcedTeaPluginUtilities::stringToJSID(message_parts->at(3))); - member_id += message_parts->at(4); + parent_ptr = (NPVariant*) (IcedTeaPluginUtilities::stringToJSID(message_parts->at(5))); + member_id += message_parts->at(6); /** Request data from Java if necessary **/ - if (message_parts->at(2) == "GetSlot") + if (message_parts->at(4) == "GetSlot") { member_identifier = browser_functions.getintidentifier(atoi(member_id.c_str())); } else @@ -551,10 +571,6 @@ PluginRequestProcessor::sendMember(std:: member_identifier = browser_functions.getstringidentifier(java_result->return_string->c_str()); } - - /** Make an internal request for the main thread to handle, to get the member pointer **/ - - reference = internal_req_ref_counter++; AsyncCallThreadData thread_data = AsyncCallThreadData(); thread_data.result_ready = false; @@ -583,8 +599,6 @@ PluginRequestProcessor::sendMember(std:: #endif PLUGIN_DEBUG_1ARG("Member PTR after internal request: %s\n", thread_data.result.c_str()); - - internal_req_ref_counter--; java_result = java_request.findClass(0, "netscape.javascript.JSObject"); @@ -631,7 +645,7 @@ PluginRequestProcessor::sendMember(std:: } - IcedTeaPluginUtilities::constructMessagePrefix(0, &response); + IcedTeaPluginUtilities::constructMessagePrefix(0, reference, &response); if (message_parts->at(2) == "GetSlot") { response.append(" JavaScriptGetMember "); @@ -674,7 +688,7 @@ queue_processor(void* data) if (message_parts) { - command = message_parts->at(2); + command = message_parts->at(4); if (command == "GetMember") { @@ -739,7 +753,6 @@ _setMember(void* data) _setMember(void* data) { std::string* value; - std::string response = std::string(); NPP instance; NPVariant value_variant = NPVariant(); @@ -758,12 +771,7 @@ _setMember(void* data) ((AsyncCallThreadData*) data)->call_successful = browser_functions.setproperty(instance, member, *property, &value_variant); - IcedTeaPluginUtilities::constructMessagePrefix(0, &response); - response.append(" JavaScriptSetMember "); - plugin_to_java_bus->post(response.c_str()); - ((AsyncCallThreadData*) data)->result_ready = true; - } void diff -r b6c061fbac95 -r b81b851fd325 plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java --- a/plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java Tue Mar 09 18:26:30 2010 +0000 +++ b/plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java Tue Mar 09 15:54:50 2010 -0500 @@ -41,35 +41,21 @@ public class GetMemberPluginCallRequest public class GetMemberPluginCallRequest extends PluginCallRequest { Object object = null; - public GetMemberPluginCallRequest(String message, String returnString) { - super(message, returnString); - PluginDebug.debug ("GetMEMBerPLUGINCAlL " + message + " " + returnString); + public GetMemberPluginCallRequest(String message, Long reference) { + super(message, reference); + PluginDebug.debug ("GetMemberPluginCall " + message); } public void parseReturn(String message) { - PluginDebug.debug ("GetMEMBerparseReturn GOT: " + message); + PluginDebug.debug ("GetMemberParseReturn GOT: " + message); String[] args = message.split(" "); // FIXME: Is it even possible to distinguish between null and void // here? - if (args[1] != "null" && args[1] != "void") - object = AppletSecurityContextManager.getSecurityContext(0).getObject(Integer.parseInt(args[1])); + if (args[3] != "null" && args[3] != "void") + object = AppletSecurityContextManager.getSecurityContext(0).getObject(Integer.parseInt(args[3])); setDone(true); } - /** - * Returns whether the given message is serviceable by this object - * - * @param message The message to service - * @return boolean indicating if message is serviceable - */ - public boolean serviceable(String message) { - return message.contains("JavaScriptCall") || - message.contains("JavaScriptEval") || - message.contains("JavaScriptGetMember") || - message.contains("JavaScriptGetSlot") || - message.contains("JavaScriptToString"); - } - public Object getObject() { return this.object; } diff -r b6c061fbac95 -r b81b851fd325 plugin/icedteanp/java/sun/applet/GetWindowPluginCallRequest.java --- a/plugin/icedteanp/java/sun/applet/GetWindowPluginCallRequest.java Tue Mar 09 18:26:30 2010 +0000 +++ b/plugin/icedteanp/java/sun/applet/GetWindowPluginCallRequest.java Tue Mar 09 15:54:50 2010 -0500 @@ -46,27 +46,17 @@ public class GetWindowPluginCallRequest // FIXME: look into int vs long JavaScript internal values. long internal; - public GetWindowPluginCallRequest(String message, String returnString) { - super(message, returnString); + public GetWindowPluginCallRequest(String message, Long reference) { + super(message, reference); } public void parseReturn(String message) { - PluginDebug.debug ("GetWINDOWparseReturn GOT: " + message); + PluginDebug.debug ("GetWindowParseReturn GOT: " + message); String[] args = message.split(" "); // FIXME: add thread ID to messages to support multiple From ptisnovs at icedtea.classpath.org Wed Mar 10 00:18:51 2010 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 10 Mar 2010 08:18:51 +0000 Subject: /hg/release/icedtea6-1.7: Corrected Pulse Audio library build on... Message-ID: changeset 77c3e685bd80 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=77c3e685bd80 author: ptisnovs date: Wed Mar 10 09:18:13 2010 +0100 Corrected Pulse Audio library build on PPC32 and PPC64 diffstat: 2 files changed, 12 insertions(+), 7 deletions(-) ChangeLog | 5 +++++ Makefile.am | 14 +++++++------- diffs (36 lines): diff -r 546f16ad97d5 -r 77c3e685bd80 ChangeLog --- a/ChangeLog Thu Mar 04 13:37:57 2010 +0100 +++ b/ChangeLog Wed Mar 10 09:18:13 2010 +0100 @@ -1,3 +1,8 @@ 2010-03-04 Xerxes R??nby + + * Makefile.am: Corrected Pulse Audio + library build on PPC32 and PPC64 + 2010-03-04 Xerxes R??nby * ports/hotspot/src/share/vm/shark/sharkCompiler.cpp diff -r 546f16ad97d5 -r 77c3e685bd80 Makefile.am --- a/Makefile.am Thu Mar 04 13:37:57 2010 +0100 +++ b/Makefile.am Wed Mar 10 09:18:13 2010 +0100 @@ -1627,13 +1627,13 @@ stamps/pulse-java.stamp: stamps/pulse-ja stamps/pulse-java.stamp: stamps/pulse-java-jar.stamp stamps/pulse-java-headers.stamp if ENABLE_PULSE_JAVA mkdir -p $(PULSE_JAVA_NATIVE_BUILDDIR) - $(CC) $(CFLAGS) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include $(PULSE_JAVA_NATIVE_SRCDIR)/jni-common.c -o $(PULSE_JAVA_NATIVE_BUILDDIR)/jni-common.o - $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include -I$(PULSE_JAVA_NATIVE_BUILDDIR) $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_EventLoop.c -o $(PULSE_JAVA_NATIVE_BUILDDIR)/org_classpath_icedtea_pulseaudio_EventLoop.o - $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include -I$(PULSE_JAVA_NATIVE_BUILDDIR) $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_Operation.c -o $(PULSE_JAVA_NATIVE_BUILDDIR)/org_classpath_icedtea_pulseaudio_Operation.o - $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include -I$(PULSE_JAVA_NATIVE_BUILDDIR) $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_Stream.c -o $(PULSE_JAVA_NATIVE_BUILDDIR)/org_classpath_icedtea_pulseaudio_Stream.o - $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include -I$(PULSE_JAVA_NATIVE_BUILDDIR) $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_PulseAudioTargetPort.c -o $(PULSE_JAVA_NATIVE_BUILDDIR)/org_classpath_icedtea_pulseaudio_PulseAudioTargetPort.o - $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include -I$(PULSE_JAVA_NATIVE_BUILDDIR) $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_PulseAudioSourcePort.c -o $(PULSE_JAVA_NATIVE_BUILDDIR)/org_classpath_icedtea_pulseaudio_PulseAudioSourcePort.o - $(CC) $(LDFLAGS) -shared $(PULSE_JAVA_NATIVE_BUILDDIR)/org_*pulseaudio*.o $(PULSE_JAVA_NATIVE_BUILDDIR)/jni-common.o $(LIBPULSE_LIBS) -o libpulse-java.so + $(CC) $(CFLAGS) $(ZERO_ARCHFLAG) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include $(PULSE_JAVA_NATIVE_SRCDIR)/jni-common.c -o $(PULSE_JAVA_NATIVE_BUILDDIR)/jni-common.o + $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) $(ZERO_ARCHFLAG) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include -I$(PULSE_JAVA_NATIVE_BUILDDIR) $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_EventLoop.c -o $(PULSE_JAVA_NATIVE_BUILDDIR)/org_classpath_icedtea_pulseaudio_EventLoop.o + $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) $(ZERO_ARCHFLAG) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include -I$(PULSE_JAVA_NATIVE_BUILDDIR) $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_Operation.c -o $(PULSE_JAVA_NATIVE_BUILDDIR)/org_classpath_icedtea_pulseaudio_Operation.o + $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) $(ZERO_ARCHFLAG) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include -I$(PULSE_JAVA_NATIVE_BUILDDIR) $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_Stream.c -o $(PULSE_JAVA_NATIVE_BUILDDIR)/org_classpath_icedtea_pulseaudio_Stream.o + $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) $(ZERO_ARCHFLAG) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include -I$(PULSE_JAVA_NATIVE_BUILDDIR) $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_PulseAudioTargetPort.c -o $(PULSE_JAVA_NATIVE_BUILDDIR)/org_classpath_icedtea_pulseaudio_PulseAudioTargetPort.o + $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) $(ZERO_ARCHFLAG) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include -I$(PULSE_JAVA_NATIVE_BUILDDIR) $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_PulseAudioSourcePort.c -o $(PULSE_JAVA_NATIVE_BUILDDIR)/org_classpath_icedtea_pulseaudio_PulseAudioSourcePort.o + $(CC) $(LDFLAGS) $(ZERO_ARCHFLAG) -shared $(PULSE_JAVA_NATIVE_BUILDDIR)/org_*pulseaudio*.o $(PULSE_JAVA_NATIVE_BUILDDIR)/jni-common.o $(LIBPULSE_LIBS) -o libpulse-java.so endif mkdir -p stamps touch stamps/pulse-java.stamp From doko at icedtea.classpath.org Wed Mar 10 03:38:21 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Wed, 10 Mar 2010 11:38:21 +0000 Subject: /hg/icedtea6: Use Sazanami instead of Kochi for Japanese font on... Message-ID: changeset 07549bdf98bb in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=07549bdf98bb author: doko at ubuntu.com date: Wed Mar 10 12:19:43 2010 +0100 Use Sazanami instead of Kochi for Japanese font on Debian/Ubuntu 2010-03-10 Hideki Yamane * patches/icedtea-fonts.patch: Use Sazanami instead of Kochi for Japanese font on Debian/Ubuntu. diffstat: 2 files changed, 12 insertions(+), 7 deletions(-) ChangeLog | 5 +++++ patches/icedtea-fonts.patch | 14 +++++++------- diffs (75 lines): diff -r b81b851fd325 -r 07549bdf98bb ChangeLog --- a/ChangeLog Tue Mar 09 15:54:50 2010 -0500 +++ b/ChangeLog Wed Mar 10 12:19:43 2010 +0100 @@ -1,3 +1,8 @@ 2010-03-09 Deepak Bhole + + * patches/icedtea-fonts.patch: Use Sazanami instead of Kochi for + Japanese font on Debian/Ubuntu. + 2010-03-09 Deepak Bhole * plugin/icedteanp/IcedTeaNPPlugin.cc diff -r b81b851fd325 -r 07549bdf98bb patches/icedtea-fonts.patch --- a/patches/icedtea-fonts.patch Tue Mar 09 15:54:50 2010 -0500 +++ b/patches/icedtea-fonts.patch Wed Mar 10 12:19:43 2010 +0100 @@ -406,7 +406,7 @@ # Version -# Uses Ubuntu 6.10 (Edgy) fonts and file paths. -+# Uses Ubuntu 8.04 (hardy) (and more recent releases) fonts and file paths. ++# Uses Ubuntu 8.04 (hardy), Debian 6.0 (Squeeze) (and more recent releases) fonts and file paths. version=1 # Component Font Mappings @@ -448,7 +448,7 @@ +#serif.plain.latin-1.motif=LuxiSerif-Regular +serif.plain.japanese-kochi=Kochi Mincho +serif.plain.japanese-sazanami=Sazanami Mincho -+serif.plain.japanese-vlgothic=Kochi Mincho ++serif.plain.japanese-vlgothic=Sazanami Mincho +serif.plain.korean-baekmuk=Baekmuk Batang +#serif.plain.korean-baekmuk.motif=Baekmuk Batang +serif.plain.korean-un=UnBatang @@ -461,7 +461,7 @@ +#serif.bold.latin-1.motif=LuxiSerif-Bold +serif.bold.japanese-kochi=Kochi Mincho +serif.bold.japanese-sazanami=Sazanami Mincho -+serif.bold.japanese-vlgothic=Kochi Mincho ++serif.bold.japanese-vlgothic=Sazanami Mincho +serif.bold.korean-baekmuk=Baekmuk Batang +#serif.bold.korean-baekmuk.motif=Baekmuk Batang +serif.bold.korean-un=UnBatang Bold @@ -471,7 +471,7 @@ +#serif.italic.latin-1.motif=LuxiSerif-Oblique +serif.italic.japanese-kochi=Kochi Mincho +serif.italic.japanese-sazanami=Sazanami Mincho -+serif.italic.japanese-vlgothic=Kochi Mincho ++serif.italic.japanese-vlgothic=Sazanami Mincho +serif.italic.korean-baekmuk=Baekmuk Batang +#serif.italic.korean-baekmuk.motif=Baekmuk Batang +serif.italic.korean-un=UnBatang @@ -481,7 +481,7 @@ +#serif.bolditalic.latin-1.motif=LuxiSerif-BoldOblique +serif.bolditalic.japanese-kochi=Kochi Mincho +serif.bolditalic.japanese-sazanami=Sazanami Mincho -+serif.bolditalic.japanese-vlgothic=Kochi Mincho ++serif.bolditalic.japanese-vlgothic=Sazanami Mincho +serif.bolditalic.korean-baekmuk=Baekmuk Batang +#serif.bolditalic.korean-baekmuk.motif=Baekmuk Batang +serif.bolditalic.korean-un=UnBatang Bold @@ -703,12 +703,12 @@ +sequence.allfonts.GB18030=latin-1,umingcn,shanheisun,wqy-zenhei +sequence.allfonts.GB2312=latin-1,umingcn,shanheisun,wqy-zenhei +sequence.allfonts.GBK=latin-1,umingcn,shanheisun,wqy-zenhei -+sequence.allfonts.x-euc-jp-linux=latin-1,japanese-vlgothic,japanese-kochi,japanese-sazanami ++sequence.allfonts.x-euc-jp-linux=latin-1,japanese-vlgothic,japanese-sazanami,japanese-kochi +sequence.allfonts.EUC-KR=latin-1,korean-un,korean-baekmuk +sequence.allfonts.Big5=latin-1,umingtw,shanheisun,wqy-zenhei +sequence.allfonts.Big5-HKSCS=latin-1,uminghk,shanheisun,wqy-zenhei +#sequence.fallback=uminghk,shanheisun,wqy-zenhei,japanese-vlgothic,japanese-kochi,japanese-sazanami,korean-un,korean-baekmuk,bengali,gujarati,hindi,oriya,punjabi,malayalam,tamil,telugu,sinhala -+sequence.fallback=uminghk,shanheisun,wqy-zenhei,japanese-vlgothic,japanese-kochi,japanese-sazanami,korean-un,korean-baekmuk,bengali,gujarati,hindi,oriya,punjabi,tamil,telugu ++sequence.fallback=uminghk,shanheisun,wqy-zenhei,japanese-vlgothic,japanese-sazanami,japanese-kochi,korean-un,korean-baekmuk,bengali,gujarati,hindi,oriya,punjabi,tamil,telugu + +# Exclusion Ranges + From andrew at icedtea.classpath.org Wed Mar 10 11:26:00 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 10 Mar 2010 19:26:00 +0000 Subject: /hg/icedtea6: Remove some old cruft. Message-ID: changeset 5d383d2ad0e5 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=5d383d2ad0e5 author: Andrew John Hughes date: Wed Mar 10 19:25:51 2010 +0000 Remove some old cruft. 2010-03-08 Andrew John Hughes * Makefile.am: (JAXP): Removed, redundant. (ABS_SOURCE_DIRS): No source code in $(abs_top_srcdir)/rt. (ICEDTEA_BOOTSTRAP_CLASSES): Unneeded. (HOTSPOT_MAKE_DIR): Redundant since switch to hs14. (stamps/ports.stamp): Remove use of HOTSPOT_MAKE_DIR. diffstat: 2 files changed, 17 insertions(+), 14 deletions(-) ChangeLog | 15 ++++++++++++--- Makefile.am | 16 +++++----------- diffs (105 lines): diff -r 07549bdf98bb -r 5d383d2ad0e5 ChangeLog --- a/ChangeLog Wed Mar 10 12:19:43 2010 +0100 +++ b/ChangeLog Wed Mar 10 19:25:51 2010 +0000 @@ -1,3 +1,12 @@ 2010-03-10 Hideki Yamane + + * Makefile.am: + (JAXP): Removed, redundant. + (ABS_SOURCE_DIRS): No source code in $(abs_top_srcdir)/rt. + (ICEDTEA_BOOTSTRAP_CLASSES): Unneeded. + (HOTSPOT_MAKE_DIR): Redundant since switch to hs14. + (stamps/ports.stamp): Remove use of HOTSPOT_MAKE_DIR. + 2010-03-10 Hideki Yamane * patches/icedtea-fonts.patch: Use Sazanami instead of Kochi for @@ -20,7 +29,7 @@ 2010-03-09 Deepak Bhole changeset aec804768b19 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=aec804768b19 author: Andrew John Hughes date: Wed Mar 10 21:53:48 2010 +0000 Backport fix for Sun bug 6822370. 2010-03-10 Andrew John Hughes * Makefile.am: Add new patch. * patches/openjdk/6822370-reentrantreadwritelock.patch: Backported patch from HotSpot 16 to fix bug S6822370; threads blocked when the ReentrantReadWriteLock is not held. diffstat: 3 files changed, 77 insertions(+), 2 deletions(-) ChangeLog | 11 ++- Makefile.am | 3 patches/openjdk/6822370-reentrantreadwritelock.patch | 65 ++++++++++++++++++ diffs (100 lines): diff -r 5d383d2ad0e5 -r aec804768b19 ChangeLog --- a/ChangeLog Wed Mar 10 19:25:51 2010 +0000 +++ b/ChangeLog Wed Mar 10 21:53:48 2010 +0000 @@ -1,4 +1,13 @@ 2010-03-08 Andrew John Hughes +2010-03-10 Andrew John Hughes + + * Makefile.am: + Add new patch. + * patches/openjdk/6822370-reentrantreadwritelock.patch: + Backported patch from HotSpot 16 to fix bug S6822370; + threads blocked when the ReentrantReadWriteLock is + not held. + +2010-03-10 Andrew John Hughes * Makefile.am: (JAXP): Removed, redundant. diff -r 5d383d2ad0e5 -r aec804768b19 Makefile.am --- a/Makefile.am Wed Mar 10 19:25:51 2010 +0000 +++ b/Makefile.am Wed Mar 10 21:53:48 2010 +0000 @@ -367,7 +367,8 @@ ICEDTEA_PATCHES += patches/hotspot/origi ICEDTEA_PATCHES += patches/hotspot/original/icedtea-6778662-lib64.patch \ patches/hotspot/original/icedtea-6778657-f2i-overflow.patch \ patches/hotspot/original/icedtea-6791168.patch \ - patches/hotspot/original/icedtea-6793825-includedb.patch + patches/hotspot/original/icedtea-6793825-includedb.patch \ + patches/openjdk/6822370-reentrantreadwritelock.patch endif ICEDTEA_PATCHES += patches/icedtea-override.patch diff -r 5d383d2ad0e5 -r aec804768b19 patches/openjdk/6822370-reentrantreadwritelock.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/6822370-reentrantreadwritelock.patch Wed Mar 10 21:53:48 2010 +0000 @@ -0,0 +1,65 @@ +# HG changeset patch +# User dholmes +# Date 1259712624 18000 +# Node ID 49bd3de668dc35ba7cff876422d114a91f35bbd2 +# Parent b6e6e189e1db90e044c24be709bc581e2356a910 +6822370: ReentrantReadWriteLock: threads hung when there are no threads holding onto the lock (Netra x4450) +Summary: This day one bug is caused by missing memory barriers in various Parker::park() paths that can result in lost wakeups and hangs. +Reviewed-by: dice, acorn + +diff -r b6e6e189e1db -r 49bd3de668dc src/os/linux/vm/os_linux.cpp +--- openjdk.orig/hotspot/src/os/linux/vm/os_linux.cpp Wed Nov 25 19:15:17 2009 -0800 ++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp Tue Dec 01 19:10:24 2009 -0500 +@@ -4656,6 +4656,7 @@ + // Return immediately if a permit is available. + if (_counter > 0) { + _counter = 0 ; ++ OrderAccess::fence(); + return ; + } + +@@ -4698,6 +4699,7 @@ + _counter = 0; + status = pthread_mutex_unlock(_mutex); + assert (status == 0, "invariant") ; ++ OrderAccess::fence(); + return; + } + +@@ -4737,7 +4739,7 @@ + if (jt->handle_special_suspend_equivalent_condition()) { + jt->java_suspend_self(); + } +- ++ OrderAccess::fence(); + } + + void Parker::unpark() { +diff -r b6e6e189e1db -r 49bd3de668dc src/os/solaris/vm/os_solaris.cpp +--- openjdk.orig/hotspot/src/os/solaris/vm/os_solaris.cpp Wed Nov 25 19:15:17 2009 -0800 ++++ openjdk/hotspot/src/os/solaris/vm/os_solaris.cpp Tue Dec 01 19:10:24 2009 -0500 +@@ -5803,6 +5803,7 @@ + // Return immediately if a permit is available. + if (_counter > 0) { + _counter = 0 ; ++ OrderAccess::fence(); + return ; + } + +@@ -5846,6 +5847,7 @@ + _counter = 0; + status = os::Solaris::mutex_unlock(_mutex); + assert (status == 0, "invariant") ; ++ OrderAccess::fence(); + return; + } + +@@ -5891,7 +5893,7 @@ + if (jt->handle_special_suspend_equivalent_condition()) { + jt->java_suspend_self(); + } +- ++ OrderAccess::fence(); + } + + void Parker::unpark() { From andrew at icedtea.classpath.org Wed Mar 10 15:16:19 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 10 Mar 2010 23:16:19 +0000 Subject: /hg/release/icedtea6-1.7: Backport fix for Sun bug 6822370. Message-ID: changeset df0c918ebd66 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=df0c918ebd66 author: Andrew John Hughes date: Wed Mar 10 21:53:48 2010 +0000 Backport fix for Sun bug 6822370. 2010-03-10 Andrew John Hughes * Makefile.am: Add new patch. * patches/openjdk/6822370-reentrantreadwritelock.patch: Backported patch from HotSpot 16 to fix bug S6822370; threads blocked when the ReentrantReadWriteLock is not held. diffstat: 3 files changed, 76 insertions(+), 1 deletion(-) ChangeLog | 9 ++ Makefile.am | 3 patches/openjdk/6822370-reentrantreadwritelock.patch | 65 ++++++++++++++++++ diffs (98 lines): diff -r 77c3e685bd80 -r df0c918ebd66 ChangeLog --- a/ChangeLog Wed Mar 10 09:18:13 2010 +0100 +++ b/ChangeLog Wed Mar 10 21:53:48 2010 +0000 @@ -1,3 +1,12 @@ 2010-03-10 Pavel Tisnovsky + + * Makefile.am: + Add new patch. + * patches/openjdk/6822370-reentrantreadwritelock.patch: + Backported patch from HotSpot 16 to fix bug S6822370; + threads blocked when the ReentrantReadWriteLock is + not held. + 2010-03-10 Pavel Tisnovsky * Makefile.am: Corrected Pulse Audio diff -r 77c3e685bd80 -r df0c918ebd66 Makefile.am --- a/Makefile.am Wed Mar 10 09:18:13 2010 +0100 +++ b/Makefile.am Wed Mar 10 21:53:48 2010 +0000 @@ -364,7 +364,8 @@ ICEDTEA_PATCHES += patches/hotspot/origi ICEDTEA_PATCHES += patches/hotspot/original/icedtea-6778662-lib64.patch \ patches/hotspot/original/icedtea-6778657-f2i-overflow.patch \ patches/hotspot/original/icedtea-6791168.patch \ - patches/hotspot/original/icedtea-6793825-includedb.patch + patches/hotspot/original/icedtea-6793825-includedb.patch \ + patches/openjdk/6822370-reentrantreadwritelock.patch endif ICEDTEA_PATCHES += $(DISTRIBUTION_PATCHES) diff -r 77c3e685bd80 -r df0c918ebd66 patches/openjdk/6822370-reentrantreadwritelock.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/6822370-reentrantreadwritelock.patch Wed Mar 10 21:53:48 2010 +0000 @@ -0,0 +1,65 @@ +# HG changeset patch +# User dholmes +# Date 1259712624 18000 +# Node ID 49bd3de668dc35ba7cff876422d114a91f35bbd2 +# Parent b6e6e189e1db90e044c24be709bc581e2356a910 +6822370: ReentrantReadWriteLock: threads hung when there are no threads holding onto the lock (Netra x4450) +Summary: This day one bug is caused by missing memory barriers in various Parker::park() paths that can result in lost wakeups and hangs. +Reviewed-by: dice, acorn + +diff -r b6e6e189e1db -r 49bd3de668dc src/os/linux/vm/os_linux.cpp +--- openjdk.orig/hotspot/src/os/linux/vm/os_linux.cpp Wed Nov 25 19:15:17 2009 -0800 ++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp Tue Dec 01 19:10:24 2009 -0500 +@@ -4656,6 +4656,7 @@ + // Return immediately if a permit is available. + if (_counter > 0) { + _counter = 0 ; ++ OrderAccess::fence(); + return ; + } + +@@ -4698,6 +4699,7 @@ + _counter = 0; + status = pthread_mutex_unlock(_mutex); + assert (status == 0, "invariant") ; ++ OrderAccess::fence(); + return; + } + +@@ -4737,7 +4739,7 @@ + if (jt->handle_special_suspend_equivalent_condition()) { + jt->java_suspend_self(); + } +- ++ OrderAccess::fence(); + } + + void Parker::unpark() { +diff -r b6e6e189e1db -r 49bd3de668dc src/os/solaris/vm/os_solaris.cpp +--- openjdk.orig/hotspot/src/os/solaris/vm/os_solaris.cpp Wed Nov 25 19:15:17 2009 -0800 ++++ openjdk/hotspot/src/os/solaris/vm/os_solaris.cpp Tue Dec 01 19:10:24 2009 -0500 +@@ -5803,6 +5803,7 @@ + // Return immediately if a permit is available. + if (_counter > 0) { + _counter = 0 ; ++ OrderAccess::fence(); + return ; + } + +@@ -5846,6 +5847,7 @@ + _counter = 0; + status = os::Solaris::mutex_unlock(_mutex); + assert (status == 0, "invariant") ; ++ OrderAccess::fence(); + return; + } + +@@ -5891,7 +5893,7 @@ + if (jt->handle_special_suspend_equivalent_condition()) { + jt->java_suspend_self(); + } +- ++ OrderAccess::fence(); + } + + void Parker::unpark() { From andrew at icedtea.classpath.org Wed Mar 10 17:52:02 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 11 Mar 2010 01:52:02 +0000 Subject: /hg/release/icedtea6-1.6: Backport fix for Sun bug 6822370. Message-ID: changeset 373dcdea5871 in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=373dcdea5871 author: Andrew John Hughes date: Thu Mar 11 01:51:53 2010 +0000 Backport fix for Sun bug 6822370. 2010-03-10 Andrew John Hughes * Makefile.am: Add new patch. * patches/openjdk/6822370-reentrantreadwritelock.patch: Backported patch from HotSpot 16 to fix bug S6822370; threads blocked when the ReentrantReadWriteLock is not held. diffstat: 3 files changed, 76 insertions(+), 1 deletion(-) ChangeLog | 9 ++ Makefile.am | 3 patches/openjdk/6822370-reentrantreadwritelock.patch | 65 ++++++++++++++++++ diffs (98 lines): diff -r 29c75d7fc03a -r 373dcdea5871 ChangeLog --- a/ChangeLog Wed Jan 27 15:56:02 2010 +0000 +++ b/ChangeLog Thu Mar 11 01:51:53 2010 +0000 @@ -1,3 +1,12 @@ 2010-01-27 Andrew John Hughes + + * Makefile.am: + Add new patch. + * patches/openjdk/6822370-reentrantreadwritelock.patch: + Backported patch from HotSpot 16 to fix bug S6822370; + threads blocked when the ReentrantReadWriteLock is + not held. + 2010-01-27 Andrew John Hughes * NEWS: diff -r 29c75d7fc03a -r 373dcdea5871 Makefile.am --- a/Makefile.am Wed Jan 27 15:56:02 2010 +0000 +++ b/Makefile.am Thu Mar 11 01:51:53 2010 +0000 @@ -644,7 +644,8 @@ ICEDTEA_PATCHES = \ patches/security/icedtea-6872358.patch \ patches/icedtea-jar-misc.patch \ patches/icedtea-6897844-xshm.patch \ - patches/icedtea-linux-separate-debuginfo.patch + patches/icedtea-linux-separate-debuginfo.patch \ + patches/openjdk/6822370-reentrantreadwritelock.patch if WITH_ALT_HSBUILD ICEDTEA_PATCHES += \ diff -r 29c75d7fc03a -r 373dcdea5871 patches/openjdk/6822370-reentrantreadwritelock.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/6822370-reentrantreadwritelock.patch Thu Mar 11 01:51:53 2010 +0000 @@ -0,0 +1,65 @@ +# HG changeset patch +# User dholmes +# Date 1259712624 18000 +# Node ID 49bd3de668dc35ba7cff876422d114a91f35bbd2 +# Parent b6e6e189e1db90e044c24be709bc581e2356a910 +6822370: ReentrantReadWriteLock: threads hung when there are no threads holding onto the lock (Netra x4450) +Summary: This day one bug is caused by missing memory barriers in various Parker::park() paths that can result in lost wakeups and hangs. +Reviewed-by: dice, acorn + +diff -r b6e6e189e1db -r 49bd3de668dc src/os/linux/vm/os_linux.cpp +--- openjdk.orig/hotspot/src/os/linux/vm/os_linux.cpp Wed Nov 25 19:15:17 2009 -0800 ++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp Tue Dec 01 19:10:24 2009 -0500 +@@ -4656,6 +4656,7 @@ + // Return immediately if a permit is available. + if (_counter > 0) { + _counter = 0 ; ++ OrderAccess::fence(); + return ; + } + +@@ -4698,6 +4699,7 @@ + _counter = 0; + status = pthread_mutex_unlock(_mutex); + assert (status == 0, "invariant") ; ++ OrderAccess::fence(); + return; + } + +@@ -4737,7 +4739,7 @@ + if (jt->handle_special_suspend_equivalent_condition()) { + jt->java_suspend_self(); + } +- ++ OrderAccess::fence(); + } + + void Parker::unpark() { +diff -r b6e6e189e1db -r 49bd3de668dc src/os/solaris/vm/os_solaris.cpp +--- openjdk.orig/hotspot/src/os/solaris/vm/os_solaris.cpp Wed Nov 25 19:15:17 2009 -0800 ++++ openjdk/hotspot/src/os/solaris/vm/os_solaris.cpp Tue Dec 01 19:10:24 2009 -0500 +@@ -5803,6 +5803,7 @@ + // Return immediately if a permit is available. + if (_counter > 0) { + _counter = 0 ; ++ OrderAccess::fence(); + return ; + } + +@@ -5846,6 +5847,7 @@ + _counter = 0; + status = os::Solaris::mutex_unlock(_mutex); + assert (status == 0, "invariant") ; ++ OrderAccess::fence(); + return; + } + +@@ -5891,7 +5893,7 @@ + if (jt->handle_special_suspend_equivalent_condition()) { + jt->java_suspend_self(); + } +- ++ OrderAccess::fence(); + } + + void Parker::unpark() { From ed at camswl.com Thu Mar 11 03:23:29 2010 From: ed at camswl.com (ed at camswl.com) Date: Thu, 11 Mar 2010 11:23:29 GMT Subject: RTC Thumb2 JIT enhancements Message-ID: <201003111123.o2BBNT7J010860@mint.camswl.com> Hi folks, The following are some enhancements I have made to the T2JIT over the past month. I have tested the changes with various benchmarks, with Think Free Office, and with the hotspot and lang portions of JTreg which all pass. The jdk portion is still running. Unfortunately the diffs are quite large so I am submitting the diffs to the list as 4 separate sets of diffs. Has the b18 release been split off yet? I would prefer these changes not to go into the b18 release as they have not had sufficient testing yet. Regards, Ed. - Support for frameless compilation Local variables and interpreter state are now addressed from Java SP rather than separate 'istate' (R8) register. R8 now free for register allocation giving 6 allocatable registers instead of 5. - Support for compilation of methods containing monitorenter / monitorexit monitorenter / monitorexit moved from asm to C so they can be called by JIT code compilation of monitorenter / monitorexit containinng methods uses frame adressing because stack can expand dynamically to accomodate monitors. - Interpreter caches 'thread' in a register Interpreter reworked to cache 'thread' in a register. Involved removal of one 'tmp' register in interpreter to make room for 'thread' register. Interpreter and JIT are now consistent in register usage. - Compression of JIT 'header' Removed the OSR entry from the JIT header. Previously, each JITted method had an individual piece of code in the header to load the appropriate registers from locals and the jump to the OSR entry point. This is changed so the the OSR caller (the interpreter), uses the 'regusage' array in the JIT header to load the correct registers and then just jumps directly to the entry point in the method. Saving is 24 bytes per method. - Backwards branch targets now doubleword aligned. Pads with no ops before a backwards branch target to ensure backwards branch target is 64 bit aligned. Small performance benefit. - Addition of OSPACE flag Setting environment variable T2_OSPACE will cause the JIT to optimise for space as opposed to time. OSPACE does the following. o Tweaks the register allocation to allocate register based on space o Enables tailing of returns. IE does a branch to the return. o Disables doubleword alignment of backwards branch targets o Disables inlining invoke virtual/static/special wrappers OSPACE has a small performance effect on benchmarks (~10% on ECM) but has no noticeable effect on large applications. Default is compile for time (OSPACE disabled) - Removed a pass from the compiler The JIT had an additional pass to detect 'zombie' code (ie code which could be, but has never been called). Zombie code removal was disabled in prior versions because it was unreliable, however the additional pass was still there. - Removed vestigal and debug code Removed #if 0 code and debug code which was no longer functional From ed at camswl.com Thu Mar 11 03:25:29 2010 From: ed at camswl.com (ed at camswl.com) Date: Thu, 11 Mar 2010 11:25:29 GMT Subject: RTC Thumb2 JIT enhancements (diffs part 1) Message-ID: <201003111125.o2BBPT5W010902@mint.camswl.com> diff -ruNE old/icedtea6/ports/hotspot/src/cpu/zero/vm/asm_helper.cpp new2/icedtea6/ports/hotspot/src/cpu/zero/vm/asm_helper.cpp --- old/icedtea6/ports/hotspot/src/cpu/zero/vm/asm_helper.cpp 2010-03-10 17:38:48.000000000 +0000 +++ new2/icedtea6/ports/hotspot/src/cpu/zero/vm/asm_helper.cpp 2010-03-11 09:42:05.000000000 +0000 @@ -16,7 +16,7 @@ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ -#define ARCH_THUMBEE (1<<16) +#define ARCH_THUMB2 (1<<16) #define ARCH_VFP (1<<17) #define ARCH_CLZ (1<<18) @@ -49,7 +49,7 @@ unsigned value = *p++; if (tag == 0) goto fini; if (tag == AT_HWCAP) { - if (value & HWCAP_THUMBEE) rc |= ARCH_THUMBEE; + if (value & HWCAP_THUMBEE) rc |= ARCH_THUMB2; if (value & HWCAP_VFP) rc |= ARCH_VFP; } else if (tag == AT_PLATFORM) { const char *s = (const char *)value; @@ -66,7 +66,7 @@ close(fd); // printf("arch = %d, rc = 0x%08x\n", arch, rc); if (arch >= 5) rc |= ARCH_CLZ; - if (arch >= 7) rc |= ARCH_THUMBEE; + if (arch >= 7) rc |= ARCH_THUMB2; return rc | (1<thread()->pending_exception(); } +extern "C" oop Helper_monitorenter(interpreterState istate, oop lockee) +{ + BasicObjectLock* limit = istate->monitor_base(); + BasicObjectLock* most_recent = (BasicObjectLock*) istate->stack_base(); + BasicObjectLock* entry = NULL; + markOop displaced; + JavaThread *thread = istate->thread(); + + if (lockee == NULL) { + HELPER_THROW(istate->thread(), vmSymbols::java_lang_NullPointerException(), ""); + goto handle_exception; + } + while (most_recent != limit ) { + if (most_recent->obj() == NULL) entry = most_recent; + else if (most_recent->obj() == lockee) break; + most_recent++; + } + if (entry == NULL) { + int monitor_words = frame::interpreter_frame_monitor_size(); + ZeroStack *stack = thread->zero_stack(); + + if (monitor_words > stack->available_words()) { + InterpreterRuntime::throw_StackOverflowError(thread); + goto handle_exception; + } else { + stack->alloc(monitor_words * wordSize); + + for (intptr_t *p = istate->stack() + 1; p < istate->stack_base(); p++) + *(p - monitor_words) = *p; + + istate->set_stack_limit(istate->stack_limit() - monitor_words); + istate->set_stack(istate->stack() - monitor_words); + istate->set_stack_base(istate->stack_base() - monitor_words); + + entry = (BasicObjectLock *) istate->stack_base(); + } + } + entry->set_obj(lockee); + displaced = lockee->mark()->set_unlocked(); + entry->lock()->set_displaced_header(displaced); + if (Atomic::cmpxchg_ptr(entry, lockee->mark_addr(), displaced) != displaced) { + // Is it simple recursive case? + if (thread->is_lock_owned((address) displaced->clear_lock_bits())) { + entry->lock()->set_displaced_header(NULL); + } else { + InterpreterRuntime::monitorenter(thread, entry); + } + } +handle_exception: + return thread->pending_exception(); +} + +extern "C" oop Helper_monitorexit(interpreterState istate, oop lockee) +{ + BasicObjectLock* limit = istate->monitor_base(); + BasicObjectLock* most_recent = (BasicObjectLock*) istate->stack_base(); + JavaThread *thread = istate->thread(); + + if (lockee == NULL) { + HELPER_THROW(istate->thread(), vmSymbols::java_lang_NullPointerException(), ""); + goto handle_exception; + } + while (most_recent != limit ) { + if ((most_recent)->obj() == lockee) { + BasicLock* lock = most_recent->lock(); + markOop header = lock->displaced_header(); + most_recent->set_obj(NULL); + if (header != NULL) { + if (Atomic::cmpxchg_ptr(header, lockee->mark_addr(), lock) != lock) { + // restore object for the slow case + most_recent->set_obj(lockee); + InterpreterRuntime::monitorexit(thread, most_recent); + } + } + return thread->pending_exception(); + } + most_recent++; + } + InterpreterRuntime::throw_illegal_monitor_state_exception(thread); +handle_exception: + return thread->pending_exception(); +} + extern "C" oop Helper_aastore(interpreterState istate, oop value, int index, arrayOop arrayref) { if (arrayref == NULL) { @@ -475,7 +558,7 @@ int main(void) { print_def("ARCH_VFP", ARCH_VFP); - print_def("ARCH_THUMBEE", ARCH_THUMBEE); + print_def("ARCH_THUMB2", ARCH_THUMB2); print_def("ARCH_CLZ", ARCH_CLZ); nl(); print_def("JVM_CONSTANT_Utf8", JVM_CONSTANT_Utf8); From ed at camswl.com Thu Mar 11 03:25:32 2010 From: ed at camswl.com (ed at camswl.com) Date: Thu, 11 Mar 2010 11:25:32 GMT Subject: RTC Thumb2 JIT enhancements (diffs part 2) Message-ID: <201003111125.o2BBPWci010907@mint.camswl.com> diff -ruNE old/icedtea6/ports/hotspot/src/cpu/zero/vm/bytecodes_arm.def new2/icedtea6/ports/hotspot/src/cpu/zero/vm/bytecodes_arm.def --- old/icedtea6/ports/hotspot/src/cpu/zero/vm/bytecodes_arm.def 2010-03-10 17:38:48.000000000 +0000 +++ new2/icedtea6/ports/hotspot/src/cpu/zero/vm/bytecodes_arm.def 2010-03-11 09:41:54.000000000 +0000 @@ -328,13 +328,13 @@ (lconst_1) lconst_1 { DISPATCH_START_R2 - mov tmp2, #1 + mov r3, #1 DISPATCH_NEXT mov tmp1, #0 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2, tmp1 + PUSH r3, tmp1 DISPATCH_FINISH } @@ -360,10 +360,10 @@ DISPATCH_NEXT orr tmp1, tmp1, #0x00f00000 DISPATCH_NEXT - mov tmp2, #0 + mov r3, #0 DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2, tmp1 + PUSH r3, tmp1 DISPATCH_FINISH } @@ -412,11 +412,11 @@ DISPATCH_START \seq_len sub r3, locals, r2, lsl #2 DISPATCH_NEXT - ldmda r3, {tmp2, tmp1} + ldmda r3, {r3, tmp1} DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2, tmp1 + PUSH r3, tmp1 DISPATCH_FINISH } @@ -458,49 +458,49 @@ (lload_0,dload_0) u8load_0 { DISPATCH_START_R2 - ldmda locals, {tmp2-tmp1} + ldmda locals, {r3, tmp1} DISPATCH_NEXT PUSH tmp1 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2 + PUSH r3 DISPATCH_FINISH } (lload_1,dload_1) u8load_1 { DISPATCH_START_R2 - ldmdb locals, {tmp2-tmp1} + ldmdb locals, {r3, tmp1} DISPATCH_NEXT PUSH tmp1 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2 + PUSH r3 DISPATCH_FINISH } (lload_2,dload_2) u8load_2 { DISPATCH_START_R2 - ldr tmp2, [locals, #-12] + ldr r3, [locals, #-12] DISPATCH_NEXT ldr tmp1, [locals, #-8] DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2, tmp1 + PUSH r3, tmp1 DISPATCH_FINISH } (lload_3,dload_3) u8load_3 { DISPATCH_START_R2 - ldr tmp2, [locals, #-16] + ldr r3, [locals, #-16] DISPATCH_NEXT ldr tmp1, [locals, #-12] DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2, tmp1 + PUSH r3, tmp1 DISPATCH_FINISH } @@ -539,12 +539,12 @@ bcs array_bound_exception_jpc_1 DISPATCH_NEXT add r3, r3, r2, lsl #3 - ldr tmp2, [r3, #BASE_OFFSET_LONG] + ldr r1, [r3, #BASE_OFFSET_LONG] DISPATCH_NEXT ldr tmp1, [r3, #20] DISPATCH_NEXT PUT_STACK 1, tmp1 - PUT_STACK 0, tmp2 + PUT_STACK 0, r1 DISPATCH_FINISH } @@ -627,13 +627,13 @@ @ r2 = [jpc, #1] (lstore,dstore) u8store { DISPATCH_START \seq_len - POP tmp2, tmp1 + POP r1, tmp1 DISPATCH_NEXT sub r3, locals, r2, lsl #2 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - stmda r3, {tmp2, tmp1} + stmda r3, {r1, tmp1} DISPATCH_FINISH } @@ -684,30 +684,30 @@ (lstore_0,dstore_0) u8store_0 { DISPATCH_START_R2 DISPATCH_NEXT - POP tmp2, tmp1 + POP r1, tmp1 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - stmda locals, {tmp2, tmp1} + stmda locals, {r1, tmp1} DISPATCH_FINISH } (lstore_1,dstore_1) u8store_1 { DISPATCH_START_R2 DISPATCH_NEXT - POP tmp2, tmp1 + POP r1, tmp1 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - stmdb locals, {tmp2, tmp1} + stmdb locals, {r1, tmp1} DISPATCH_FINISH } (lstore_2,dstore_2) u8store_2 { DISPATCH_START_R2 - POP tmp2, tmp1 + POP r1, tmp1 DISPATCH_NEXT - str tmp2, [locals, #-12] + str r1, [locals, #-12] DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT @@ -717,9 +717,9 @@ (lstore_3,dstore_3) u8store_3 { DISPATCH_START_R2 - POP tmp2, tmp1 + POP r1, tmp1 DISPATCH_NEXT - str tmp2, [locals, #-16] + str r1, [locals, #-16] DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT @@ -728,72 +728,72 @@ } (iastore,fastore) u4astore { - POP r3, tmp2, tmp1 @ r3 = value, tmp2 = index, tmp1 = arrayref + POP r1, tmp1, lr @ r1 = value, tmp1 = index, lr = arrayref DISPATCH_START_R2 - SW_NPC cmp tmp1, #0 + SW_NPC cmp lr, #0 SW_NPC beq null_ptr_exception_jpc_1 .abortentry10: - ldr lr, [tmp1, #8] @ lr = limit + ldr ip, [lr, #8] @ lr = limit DISPATCH_NEXT - cmp tmp2, lr - bcs array_bound_exception_jpc_1_tmp2 + cmp tmp1, ip + bcs array_bound_exception_jpc_1_tmp1 DISPATCH_NEXT - add tmp1, tmp1, tmp2, lsl #2 + add lr, lr, tmp1, lsl #2 DISPATCH_NEXT - str r3, [tmp1, #BASE_OFFSET_WORD] + str r1, [lr, #BASE_OFFSET_WORD] DISPATCH_FINISH } (lastore,dastore) u8astore { - POP r1, r3, tmp2, tmp1 @ r1,r3 = value, tmp2 = index, tmp1 = arrayref + POP r1, r3, tmp1, lr @ r1,r3 = value, tmp1 = index, lr = arrayref DISPATCH_START_R2 - SW_NPC cmp tmp1, #0 + SW_NPC cmp lr, #0 SW_NPC beq null_ptr_exception_jpc_1 .abortentry11: - ldr ip, [tmp1, #8] @ ip = limit - cmp tmp2, ip + ldr ip, [lr, #8] @ ip = limit + cmp tmp1, ip DISPATCH_NEXT - bcs array_bound_exception_jpc_1_tmp2 + bcs array_bound_exception_jpc_1_tmp1 DISPATCH_NEXT - add tmp2, tmp1, tmp2, lsl #3 - str r1, [tmp2, #BASE_OFFSET_LONG] + add tmp1, lr, tmp1, lsl #3 + str r1, [tmp1, #BASE_OFFSET_LONG] DISPATCH_NEXT DISPATCH_NEXT - str r3, [tmp2, #20] + str r3, [tmp1, #BASE_OFFSET_LONG+4] DISPATCH_FINISH } (bastore) bastore { - POP r3, tmp2, tmp1 @ r3 = value, tmp2 = index, tmp1 = arrayref + POP r3, tmp1, lr @ r3 = value, tmp1 = index, lr = arrayref DISPATCH_START_R2 - SW_NPC cmp tmp1, #0 + SW_NPC cmp lr, #0 SW_NPC beq null_ptr_exception_jpc_1 .abortentry12: - ldr lr, [tmp1, #8] @ lr = limit + ldr ip, [lr, #8] @ ip = limit DISPATCH_NEXT - cmp tmp2, lr - bcs array_bound_exception_jpc_1_tmp2 + cmp tmp1, ip + bcs array_bound_exception_jpc_1_tmp1 DISPATCH_NEXT - add tmp1, tmp1, tmp2 + add lr, lr, tmp1 DISPATCH_NEXT - strb r3, [tmp1, #BASE_OFFSET_BYTE] + strb r3, [lr, #BASE_OFFSET_BYTE] DISPATCH_FINISH } (castore,sastore) u2astore { - POP r3, tmp2, tmp1 @ r3 = value, tmp2 = index, tmp1 = arrayref + POP r3, tmp1, lr @ r3 = value, tmp1 = index, lr = arrayref DISPATCH_START_R2 - SW_NPC cmp tmp1, #0 + SW_NPC cmp lr, #0 SW_NPC beq null_ptr_exception_jpc_1 .abortentry13: - ldr lr, [tmp1, #8] @ lr = limit + ldr ip, [lr, #8] @ ip = limit DISPATCH_NEXT - cmp tmp2, lr - bcs array_bound_exception_jpc_1_tmp2 + cmp tmp1, ip + bcs array_bound_exception_jpc_1_tmp1 DISPATCH_NEXT - add tmp1, tmp1, tmp2, lsl #1 + add lr, lr, tmp1, lsl #1 DISPATCH_NEXT - strh r3, [tmp1, #BASE_OFFSET_SHORT] + strh r3, [lr, #BASE_OFFSET_SHORT] DISPATCH_FINISH } @@ -877,13 +877,13 @@ (iadd) iadd { DISPATCH_START_R2 - POP tmp2, tmp1 + POP r1, tmp1 DISPATCH_NEXT - add tmp2, tmp2, tmp1 + add r1, r1, tmp1 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2 + PUSH r1 DISPATCH_FINISH } @@ -900,13 +900,13 @@ (isub) isub { DISPATCH_START_R2 - POP tmp2, tmp1 + POP r1, tmp1 DISPATCH_NEXT - sub tmp2, tmp1, tmp2 + sub r1, tmp1, r1 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2 + PUSH r1 DISPATCH_FINISH } @@ -925,11 +925,11 @@ DISPATCH_START_R2 POP r2, tmp1 DISPATCH_NEXT - mul tmp2, r2, tmp1 + mul r1, r2, tmp1 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2 + PUSH r1 DISPATCH_FINISH } @@ -1112,13 +1112,13 @@ (iand) iand { DISPATCH_START_R2 - POP tmp2, tmp1 + POP r1, tmp1 DISPATCH_NEXT - and tmp2, tmp1, tmp2 + and r1, tmp1, r1 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2 + PUSH r1 DISPATCH_FINISH } @@ -1135,13 +1135,13 @@ (ior) ior { DISPATCH_START_R2 - POP tmp2, tmp1 + POP r1, tmp1 DISPATCH_NEXT - orr tmp2, tmp1, tmp2 + orr r1, tmp1, r1 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2 + PUSH r1 DISPATCH_FINISH } @@ -1158,13 +1158,13 @@ (ixor) ixor { DISPATCH_START_R2 - POP tmp2, tmp1 + POP r1, tmp1 DISPATCH_NEXT - eor tmp2, tmp1, tmp2 + eor r1, tmp1, r1 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2 + PUSH r1 DISPATCH_FINISH } @@ -1337,78 +1337,48 @@ POP r3 ldrb r1, [jpc, #2] cmp r3, #0 - beq 1f + beq branch_taken_unsafe DISPATCH 3 -1: - mov r2, r2, lsl #24 - orr ip, r1, r2, asr #16 - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE } (ifne,ifnonnull) ifne_unsafe { POP r3 ldrb r1, [jpc, #2] cmp r3, #0 - bne 1f + bne branch_taken_unsafe DISPATCH 3 -1: - mov r2, r2, lsl #24 - orr ip, r1, r2, asr #16 - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE } (iflt) iflt_unsafe { POP r3 ldrb r1, [jpc, #2] cmp r3, #0 - blt 1f + blt branch_taken_unsafe DISPATCH 3 -1: - mov r2, r2, lsl #24 - orr ip, r1, r2, asr #16 - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE } (ifge) ifge_unsafe { POP r3 ldrb r1, [jpc, #2] cmp r3, #0 - bge 1f + bge branch_taken_unsafe DISPATCH 3 -1: - mov r2, r2, lsl #24 - orr ip, r1, r2, asr #16 - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE } (ifgt) ifgt_unsafe { POP r3 ldrb r1, [jpc, #2] cmp r3, #0 - bgt 1f + bgt branch_taken_unsafe DISPATCH 3 -1: - mov r2, r2, lsl #24 - orr ip, r1, r2, asr #16 - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE } (ifle) ifle_unsafe { POP r3 ldrb r1, [jpc, #2] cmp r3, #0 - ble 1f + ble branch_taken_unsafe DISPATCH 3 -1: - mov r2, r2, lsl #24 - orr ip, r1, r2, asr #16 - ldrb r0, [jpc, ip]! - DISPATCH_BYTECODE } (if_icmpeq,if_acmpeq) if_icmpeq_unsafe { @@ -1473,9 +1443,9 @@ (jsr) jsr { ldr r3, [istate, #ISTATE_METHOD] - ldr r1, [r3, #8] + ldr r1, [r3, #METHOD_CONSTMETHOD] rsb r2, r1, jpc - sub r2, r2, #45 + sub r2, r2, #CONSTMETHOD_CODEOFFSET - 3 PUSH r2 b do_goto } @@ -1484,10 +1454,10 @@ @ r1 = [jpc, #2] (ret) ret { ldr r0, [istate, #ISTATE_METHOD] - ldr r3, [r0, #8] + ldr r3, [r0, #METHOD_CONSTMETHOD] ldr r1, [locals, -r2, lsl #2] add jpc, r3, r1 - DISPATCH 48 + DISPATCH CONSTMETHOD_CODEOFFSET } @ We dont do safe and unsafe versions of tableswitch and lookupswitch @@ -1574,18 +1544,18 @@ ldrb r1, [jpc, #2] DISPATCH_START 3 POP tmp1 - add tmp2, constpool, r1, lsl #12 - add tmp2, tmp2, r2, lsl #4 + add r1, constpool, r1, lsl #12 + add r1, r1, r2, lsl #4 DISPATCH_NEXT SW_NPC cmp tmp1, #0 SW_NPC beq null_ptr_exception_jpc_3 - ldr tmp2, [tmp2, #CP_OFFSET+8] + ldr r1, [r1, #CP_OFFSET+8] DISPATCH_NEXT .abortentry78: - ldr tmp2, [tmp1, tmp2] + ldr r1, [tmp1, r1] DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2 + PUSH r1 DISPATCH_FINISH } @@ -1593,18 +1563,18 @@ ldrb r1, [jpc, #2] DISPATCH_START 3 POP tmp1 - add tmp2, constpool, r1, lsl #12 - add tmp2, tmp2, r2, lsl #4 + add r1, constpool, r1, lsl #12 + add r1, r1, r2, lsl #4 DISPATCH_NEXT SW_NPC cmp tmp1, #0 SW_NPC beq null_ptr_exception_jpc_3 - ldr tmp2, [tmp2, #CP_OFFSET+8] + ldr r1, [r1, #CP_OFFSET+8] DISPATCH_NEXT .abortentry79: - ldrsb tmp2, [tmp1, tmp2] + ldrsb r1, [tmp1, r1] DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2 + PUSH r1 DISPATCH_FINISH } @@ -1612,18 +1582,18 @@ ldrb r1, [jpc, #2] DISPATCH_START 3 POP tmp1 - add tmp2, constpool, r1, lsl #12 - add tmp2, tmp2, r2, lsl #4 + add r1, constpool, r1, lsl #12 + add r1, r1, r2, lsl #4 DISPATCH_NEXT SW_NPC cmp tmp1, #0 SW_NPC beq null_ptr_exception_jpc_3 - ldr tmp2, [tmp2, #CP_OFFSET+8] + ldr r1, [r1, #CP_OFFSET+8] DISPATCH_NEXT .abortentry80: - ldrh tmp2, [tmp1, tmp2] + ldrh r1, [tmp1, r1] DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2 + PUSH r1 DISPATCH_FINISH } @@ -1631,18 +1601,18 @@ ldrb r1, [jpc, #2] DISPATCH_START 3 POP tmp1 - add tmp2, constpool, r1, lsl #12 - add tmp2, tmp2, r2, lsl #4 + add r1, constpool, r1, lsl #12 + add r1, r1, r2, lsl #4 DISPATCH_NEXT SW_NPC cmp tmp1, #0 SW_NPC beq null_ptr_exception_jpc_3 - ldr tmp2, [tmp2, #CP_OFFSET+8] + ldr r1, [r1, #CP_OFFSET+8] DISPATCH_NEXT .abortentry81: - ldrsh tmp2, [tmp1, tmp2] + ldrsh r1, [tmp1, r1] DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2 + PUSH r1 DISPATCH_FINISH } @@ -1650,19 +1620,19 @@ ldrb r1, [jpc, #2] DISPATCH_START 3 POP tmp1 - add tmp2, constpool, r1, lsl #12 - add tmp2, tmp2, r2, lsl #4 + add r1, constpool, r1, lsl #12 + add r1, r1, r2, lsl #4 DISPATCH_NEXT SW_NPC cmp tmp1, #0 SW_NPC beq null_ptr_exception_jpc_3 - ldr tmp2, [tmp2, #CP_OFFSET+8] + ldr r1, [r1, #CP_OFFSET+8] DISPATCH_NEXT - add tmp2, tmp1, tmp2 + add r1, tmp1, r1 DISPATCH_NEXT .abortentry82: - ldmia tmp2, {tmp2, tmp1} + ldmia r1, {r1, tmp1} DISPATCH_NEXT - PUSH tmp2, tmp1 + PUSH r1, tmp1 DISPATCH_FINISH } @@ -1670,17 +1640,17 @@ ldrb r1, [jpc, #2] DISPATCH_START 3 POP r3, tmp1 @ r3 = value, tmp1 = object - add tmp2, constpool, r1, lsl #12 - add tmp2, tmp2, r2, lsl #4 + add r1, constpool, r1, lsl #12 + add r1, r1, r2, lsl #4 DISPATCH_NEXT SW_NPC cmp tmp1, #0 SW_NPC beq null_ptr_exception_jpc_3 - ldr tmp2, [tmp2, #CP_OFFSET+8] + ldr r1, [r1, #CP_OFFSET+8] DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT .abortentry83: - str r3, [tmp1, tmp2] + str r3, [tmp1, r1] DISPATCH_FINISH } @@ -1688,17 +1658,17 @@ ldrb r1, [jpc, #2] DISPATCH_START 3 POP r3, tmp1 @ r3 = value, tmp1 = object - add tmp2, constpool, r1, lsl #12 - add tmp2, tmp2, r2, lsl #4 + add r1, constpool, r1, lsl #12 + add r1, r1, r2, lsl #4 DISPATCH_NEXT SW_NPC cmp tmp1, #0 SW_NPC beq null_ptr_exception_jpc_3 - ldr tmp2, [tmp2, #CP_OFFSET+8] + ldr r1, [r1, #CP_OFFSET+8] DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT .abortentry84: - strh r3, [tmp1, tmp2] + strh r3, [tmp1, r1] DISPATCH_FINISH } @@ -1706,30 +1676,30 @@ ldrb r1, [jpc, #2] DISPATCH_START 3 POP r3, tmp1 @ r3 = value, tmp1 = object - add tmp2, constpool, r1, lsl #12 - add tmp2, tmp2, r2, lsl #4 + add r1, constpool, r1, lsl #12 + add r1, r1, r2, lsl #4 DISPATCH_NEXT SW_NPC cmp tmp1, #0 SW_NPC beq null_ptr_exception_jpc_3 - ldr tmp2, [tmp2, #CP_OFFSET+8] + ldr r1, [r1, #CP_OFFSET+8] DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT .abortentry85: - strb r3, [tmp1, tmp2] + strb r3, [tmp1, r1] DISPATCH_FINISH } (aputfield) aputfield { ldrb r1, [jpc, #2] POP r3, tmp1 @ r3 = value, tmp1 = object - add tmp2, constpool, r1, lsl #12 - add tmp2, tmp2, r2, lsl #4 + add r1, constpool, r1, lsl #12 + add r1, r1, r2, lsl #4 SW_NPC cmp tmp1, #0 SW_NPC beq null_ptr_exception_jpc_3 - ldr tmp2, [tmp2, #CP_OFFSET+8] + ldr r1, [r1, #CP_OFFSET+8] .abortentry113: - str r3, [tmp1, tmp2] + str r3, [tmp1, r1] mov r0, tmp1 bl Helper_aputfield DISPATCH 3 @@ -1739,18 +1709,18 @@ ldrb r1, [jpc, #2] DISPATCH_START 3 POP r3, tmp1, lr @ r3, tmp1 = value, lr = object - add tmp2, constpool, r1, lsl #12 - add tmp2, tmp2, r2, lsl #4 + add r1, constpool, r1, lsl #12 + add r1, r1, r2, lsl #4 DISPATCH_NEXT SW_NPC cmp lr, #0 SW_NPC beq null_ptr_exception_jpc_3 - ldr tmp2, [tmp2, #CP_OFFSET+8] + ldr r1, [r1, #CP_OFFSET+8] DISPATCH_NEXT - add tmp2, lr, tmp2 + add r1, lr, r1 DISPATCH_NEXT DISPATCH_NEXT .abortentry86: - stm tmp2, {r3, tmp1} + stm r1, {r3, tmp1} DISPATCH_FINISH } @@ -1760,15 +1730,15 @@ @ r1 = [jpc, #2] (getstatic) getstatic { ldrb r1, [jpc, #2] - add tmp2, constpool, r1, lsl #12 - add tmp2, tmp2, r2, lsl #4 - ldr r3, [tmp2, #CP_OFFSET] + add tmp1, constpool, r1, lsl #12 + add tmp1, tmp1, r2, lsl #4 + ldr r3, [tmp1, #CP_OFFSET] and r3, r3, #0x00ff0000 cmp r3, #opc_getstatic << 16 blne resolve_get_put - ldr r3, [tmp2, #CP_OFFSET+4] - ldr r2, [tmp2, #CP_OFFSET+12] - ldr lr, [tmp2, #CP_OFFSET+8] + ldr r3, [tmp1, #CP_OFFSET+4] + ldr r2, [tmp1, #CP_OFFSET+12] + ldr lr, [tmp1, #CP_OFFSET+8] movs r2, r2, lsr #29 bhi getstatic_w @ C = 1, Z = 0 => R2 == 3, 5, 7 bcs getstatic_h @ C = 1 => R2 = 1 @@ -1782,15 +1752,15 @@ @ r1 = [jpc, #2] (putstatic) putstatic { ldrb r1, [jpc, #2] - add tmp2, constpool, r1, lsl #12 - add tmp2, tmp2, r2, lsl #4 - ldr r3, [tmp2, #CP_OFFSET] + add tmp1, constpool, r1, lsl #12 + add tmp1, tmp1, r2, lsl #4 + ldr r3, [tmp1, #CP_OFFSET] and r3, r3, #0xff000000 cmp r3, #opc_putstatic << 24 blne resolve_get_put - ldr r3, [tmp2, #CP_OFFSET+4] @ r3 = object - ldr lr, [tmp2, #CP_OFFSET+12] @ lr = tos_type - ldr r2, [tmp2, #CP_OFFSET+8] @ r2 = offset + ldr r3, [tmp1, #CP_OFFSET+4] @ r3 = object + ldr lr, [tmp1, #CP_OFFSET+12] @ lr = tos_type + ldr r2, [tmp1, #CP_OFFSET+8] @ r2 = offset movs lr, lr, lsr #29 bhi putstatic_w @ C = 1, Z = 0 => R2 == 3, 5, 7 bcs putstatic_h @ C = 1 => R2 = 1 @@ -1804,26 +1774,25 @@ (return) return_unsafe { - ldr tmp2, [istate, #ISTATE_MONITOR_BASE] @ tmp2 = base + ldr r9, [istate, #ISTATE_MONITOR_BASE] @ r9 = base ldr tmp1, [istate, #ISTATE_STACK_BASE] @ tmp1 = end - ldr tmp_xxx, [istate, #ISTATE_THREAD] - cmp tmp1, tmp2 + cmp tmp1, r9 bcc 1f 2: mov r3, #0 - ldr r2, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - str r3, [tmp_xxx, #THREAD_LAST_JAVA_SP] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + str r3, [thread, #THREAD_LAST_JAVA_SP] ldr r0, [istate, #ISTATE_METHOD] ldr r3, [r2, #0] ldrh r0, [r0, #40] add r1, r2, #4 - str r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] + str r3, [thread, #THREAD_TOP_ZERO_FRAME] add stack, r1, r0, lsl #2 - str stack, [tmp_xxx, #THREAD_JAVA_SP] + str stack, [thread, #THREAD_JAVA_SP] ldmfd arm_sp!, {fast_regset, pc} 1: @@ -1833,27 +1802,26 @@ (ireturn,areturn,freturn) ireturn_unsafe { - ldr tmp2, [istate, #ISTATE_MONITOR_BASE] @ tmp2 = base + ldr r9, [istate, #ISTATE_MONITOR_BASE] @ r9 = base ldr tmp1, [istate, #ISTATE_STACK_BASE] @ tmp1 = end - ldr tmp_xxx, [istate, #ISTATE_THREAD] - cmp tmp1, tmp2 + cmp tmp1, r9 bcc 1f 2: mov r3, #0 POP r1 @ pop result before we lose stack - ldr stack, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - str r3, [tmp_xxx, #THREAD_LAST_JAVA_SP] + ldr stack, [thread, #THREAD_TOP_ZERO_FRAME] + str r3, [thread, #THREAD_LAST_JAVA_SP] ldr r0, [istate, #ISTATE_METHOD] ldr r3, [stack, #0] ldrh r0, [r0, #40] - str r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] + str r3, [thread, #THREAD_TOP_ZERO_FRAME] str r1, [stack, r0, lsl #2]! - str stack, [tmp_xxx, #THREAD_JAVA_SP] + str stack, [thread, #THREAD_JAVA_SP] ldmfd arm_sp!, {fast_regset, pc} 1: @@ -1863,28 +1831,27 @@ (lreturn,dreturn) lreturn_unsafe { - ldr tmp2, [istate, #ISTATE_MONITOR_BASE] @ tmp2 = base + ldr r9, [istate, #ISTATE_MONITOR_BASE] @ r9 = base ldr tmp1, [istate, #ISTATE_STACK_BASE] @ tmp1 = end - ldr tmp_xxx, [istate, #ISTATE_THREAD] - cmp tmp1, tmp2 + cmp tmp1, r9 bcc 1f 2: mov r3, #0 - ldr r2, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - str r3, [tmp_xxx, #THREAD_LAST_JAVA_SP] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + str r3, [thread, #THREAD_LAST_JAVA_SP] ldr r0, [istate, #ISTATE_METHOD] ldr r3, [r2, #0] ldrh r0, [r0, #40] add r1, r2, #4 - str r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] + str r3, [thread, #THREAD_TOP_ZERO_FRAME] POP r2, r3 add stack, r1, r0, lsl #2 stmdb stack!, {r2, r3} - str stack, [tmp_xxx, #THREAD_JAVA_SP] + str stack, [thread, #THREAD_JAVA_SP] ldmfd arm_sp!, {fast_regset, pc} 1: @@ -1930,21 +1897,20 @@ DISPATCH 0 2: sub jpc, jpc, #\seq_len - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread DECACHE_JPC DECACHE_STACK mov r1, #0 bl _ZN18InterpreterRuntime3ldcEP10JavaThreadb - ldr r0, [istate, #ISTATE_THREAD] @ thread CACHE_CP - ldr r1, [r0, #THREAD_PENDING_EXC] + ldr r1, [thread, #THREAD_PENDING_EXC] CACHE_JPC cmp r1, #0 bne handle_exception - ldr r3, [r0, #THREAD_VM_RESULT] + ldr r3, [thread, #THREAD_VM_RESULT] mov r2, #0 PUSH r3 - str r2, [r0, #THREAD_VM_RESULT] + str r2, [thread, #THREAD_VM_RESULT] DISPATCH \seq_len } @@ -1986,21 +1952,20 @@ DISPATCH 0 2: sub jpc, jpc, #\seq_len - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread DECACHE_JPC DECACHE_STACK mov r1, #1 bl _ZN18InterpreterRuntime3ldcEP10JavaThreadb - ldr r0, [istate, #ISTATE_THREAD] @ thread CACHE_CP - ldr r1, [r0, #THREAD_PENDING_EXC] + ldr r1, [thread, #THREAD_PENDING_EXC] CACHE_JPC cmp r1, #0 - ldr r3, [r0, #THREAD_VM_RESULT] + ldr r3, [thread, #THREAD_VM_RESULT] bne handle_exception mov r2, #0 PUSH r3 - str r2, [r0, #THREAD_VM_RESULT] + str r2, [thread, #THREAD_VM_RESULT] DISPATCH \seq_len } @@ -2021,10 +1986,6 @@ DISPATCH_NEXT DISPATCH_NEXT - cmp tmp1, #JVM_CONSTANT_Long - cmpne tmp1, #JVM_CONSTANT_Double - bne vm_fatal_error - add tmp1, r2, r3, lsl #2 ldr r3, [tmp1, #CONSTANTPOOL_BASE] ldr tmp1, [tmp1, #CONSTANTPOOL_BASE+4] @@ -2038,70 +1999,70 @@ (iadd_u4store) { ldrb r3, [jpc, #2] DISPATCH_START \seq_len - POP tmp2, tmp1 + POP r1, tmp1 DISPATCH_NEXT - add tmp2, tmp1, tmp2 + add r1, tmp1, r1 DISPATCH_NEXT rsb r3, r3, #0 DISPATCH_NEXT DISPATCH_NEXT - str tmp2, [locals, r3, lsl #2] + str r1, [locals, r3, lsl #2] DISPATCH_FINISH } (isub_u4store) { ldrb r3, [jpc, #2] DISPATCH_START \seq_len - POP tmp2, tmp1 + POP r1, tmp1 DISPATCH_NEXT - sub tmp2, tmp1, tmp2 + sub r1, tmp1, r1 DISPATCH_NEXT rsb r3, r3, #0 DISPATCH_NEXT DISPATCH_NEXT - str tmp2, [locals, r3, lsl #2] + str r1, [locals, r3, lsl #2] DISPATCH_FINISH } (iand_u4store) { ldrb r3, [jpc, #2] DISPATCH_START \seq_len - POP tmp2, tmp1 + POP r1, tmp1 DISPATCH_NEXT - and tmp2, tmp1, tmp2 + and r1, tmp1, r1 DISPATCH_NEXT rsb r3, r3, #0 DISPATCH_NEXT DISPATCH_NEXT - str tmp2, [locals, r3, lsl #2] + str r1, [locals, r3, lsl #2] DISPATCH_FINISH } (ior_u4store) { ldrb r3, [jpc, #2] DISPATCH_START \seq_len - POP tmp2, tmp1 + POP r1, tmp1 DISPATCH_NEXT - orr tmp2, tmp1, tmp2 + orr r1, tmp1, r1 DISPATCH_NEXT rsb r3, r3, #0 DISPATCH_NEXT DISPATCH_NEXT - str tmp2, [locals, r3, lsl #2] + str r1, [locals, r3, lsl #2] DISPATCH_FINISH } (ixor_u4store) { ldrb r3, [jpc, #2] DISPATCH_START \seq_len - POP tmp2, tmp1 + POP r1, tmp1 DISPATCH_NEXT - eor tmp2, tmp1, tmp2 + eor r1, tmp1, r1 DISPATCH_NEXT rsb r3, r3, #0 DISPATCH_NEXT DISPATCH_NEXT - str tmp2, [locals, r3, lsl #2] + str r1, [locals, r3, lsl #2] DISPATCH_FINISH } @@ -2110,12 +2071,12 @@ DISPATCH_START \seq_len DISPATCH_NEXT rsb r3, lr, #opc_istore_0 - POP tmp2, tmp1 + POP r1, tmp1 DISPATCH_NEXT - add tmp2, tmp1, tmp2 + add r1, tmp1, r1 DISPATCH_NEXT DISPATCH_NEXT - str tmp2, [locals, r3, lsl #2] + str r1, [locals, r3, lsl #2] DISPATCH_FINISH } @@ -2124,12 +2085,12 @@ DISPATCH_START \seq_len DISPATCH_NEXT rsb r3, lr, #opc_istore_0 - POP tmp2, tmp1 + POP r1, tmp1 DISPATCH_NEXT - sub tmp2, tmp1, tmp2 + sub r1, tmp1, r1 DISPATCH_NEXT DISPATCH_NEXT - str tmp2, [locals, r3, lsl #2] + str r1, [locals, r3, lsl #2] DISPATCH_FINISH } @@ -2138,12 +2099,12 @@ DISPATCH_START \seq_len DISPATCH_NEXT rsb r3, lr, #opc_istore_0 - POP tmp2, tmp1 + POP r1, tmp1 DISPATCH_NEXT - and tmp2, tmp1, tmp2 + and r1, tmp1, r1 DISPATCH_NEXT DISPATCH_NEXT - str tmp2, [locals, r3, lsl #2] + str r1, [locals, r3, lsl #2] DISPATCH_FINISH } @@ -2152,12 +2113,12 @@ DISPATCH_START \seq_len DISPATCH_NEXT rsb r3, lr, #opc_istore_0 - POP tmp2, tmp1 + POP r1, tmp1 DISPATCH_NEXT - orr tmp2, tmp1, tmp2 + orr r1, tmp1, r1 DISPATCH_NEXT DISPATCH_NEXT - str tmp2, [locals, r3, lsl #2] + str r1, [locals, r3, lsl #2] DISPATCH_FINISH } @@ -2166,12 +2127,12 @@ DISPATCH_START \seq_len DISPATCH_NEXT rsb r3, lr, #opc_istore_0 - POP tmp2, tmp1 + POP r1, tmp1 DISPATCH_NEXT - eor tmp2, tmp1, tmp2 + eor r1, tmp1, r1 DISPATCH_NEXT DISPATCH_NEXT - str tmp2, [locals, r3, lsl #2] + str r1, [locals, r3, lsl #2] DISPATCH_FINISH } @@ -2199,10 +2160,10 @@ DISPATCH_NEXT ldr tmp1, [locals, r3, lsl #2] DISPATCH_NEXT - sub tmp2, r2, #opc_iconst_0 + sub r1, r2, #opc_iconst_0 DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2, tmp1 + PUSH r1, tmp1 DISPATCH_FINISH } @@ -2212,20 +2173,20 @@ ldrb r2, [jpc, #3] rsb tmp1, r0, #opc_iaccess_0 ldrb r3, [jpc, #2] - add tmp2, constpool, r2, lsl #12 + add r1, constpool, r2, lsl #12 DISPATCH_START 4 ldr tmp1, [locals, tmp1, lsl #2] - add tmp2, r3, lsl #4 + add r1, r3, lsl #4 DISPATCH_NEXT SW_NPC cmp tmp1, #0 SW_NPC beq null_ptr_exception_jpc_3 DISPATCH_NEXT - ldr tmp2, [tmp2, #CP_OFFSET+8] + ldr r1, [r1, #CP_OFFSET+8] DISPATCH_NEXT .abortentry87: - ldr tmp2, [tmp1, tmp2] + ldr r1, [tmp1, r1] DISPATCH_NEXT - PUSH tmp2 + PUSH r1 DISPATCH_FINISH } @@ -2510,21 +2471,21 @@ rsb tmp1, r1, #opc_iaccess_0 ldrb r3, [jpc, #3] ldr lr, [locals, lr, lsl #2] - add tmp2, constpool, r2, lsl #12 + add r1, constpool, r2, lsl #12 DISPATCH_START \seq_len PUSH lr ldr tmp1, [locals, tmp1, lsl #2] - add tmp2, r3, lsl #4 + add r1, r3, lsl #4 DISPATCH_NEXT SW_NPC cmp tmp1, #0 SW_NPC beq null_ptr_exception_jpc_3 DISPATCH_NEXT - ldr tmp2, [tmp2, #CP_OFFSET+8] + ldr r1, [r1, #CP_OFFSET+8] DISPATCH_NEXT .abortentry111: - ldr tmp2, [tmp1, tmp2] + ldr r1, [tmp1, r1] DISPATCH_NEXT - PUSH tmp2 + PUSH r1 DISPATCH_FINISH } @@ -2536,21 +2497,21 @@ rsb tmp1, r1, #opc_iaccess_0 ldrb r3, [jpc, #4] ldr lr, [locals, lr, lsl #2] - add tmp2, constpool, r2, lsl #12 + add r1, constpool, r2, lsl #12 DISPATCH_START \seq_len PUSH lr ldr tmp1, [locals, tmp1, lsl #2] - add tmp2, r3, lsl #4 + add r1, r3, lsl #4 DISPATCH_NEXT SW_NPC cmp tmp1, #0 SW_NPC beq null_ptr_exception_jpc_3 DISPATCH_NEXT - ldr tmp2, [tmp2, #CP_OFFSET+8] + ldr r1, [r1, #CP_OFFSET+8] DISPATCH_NEXT .abortentry112: - ldr tmp2, [tmp1, tmp2] + ldr r1, [tmp1, r1] DISPATCH_NEXT - PUSH tmp2 + PUSH r1 DISPATCH_FINISH } @@ -2561,14 +2522,14 @@ { rsb tmp1, r0, #opc_aload_0 DISPATCH_START \seq_len - rsb tmp2, r1, #opc_aload_0 + rsb r1, r1, #opc_aload_0 DISPATCH_NEXT ldr tmp1, [locals, tmp1, lsl #2] - ldr tmp2, [locals, tmp2, lsl #2] + ldr r1, [locals, r1, lsl #2] DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2, tmp1 + PUSH r1, tmp1 DISPATCH_FINISH } @@ -2577,14 +2538,14 @@ { rsb tmp1, r0, #opc_aload_0 DISPATCH_START \seq_len - rsb tmp2, r1, #opc_iload_0 + rsb r1, r1, #opc_iload_0 DISPATCH_NEXT ldr tmp1, [locals, tmp1, lsl #2] - ldr tmp2, [locals, tmp2, lsl #2] + ldr r1, [locals, r1, lsl #2] DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2, tmp1 + PUSH r1, tmp1 DISPATCH_FINISH } @@ -2593,17 +2554,17 @@ { rsb tmp1, r0, #opc_iload_0 DISPATCH_START \seq_len - rsb tmp2, r1, #opc_aload_0 + rsb r1, r1, #opc_aload_0 DISPATCH_NEXT ldr tmp1, [locals, tmp1, lsl #2] cmp r0, #opc_igetfield - ldr tmp2, [locals, tmp2, lsl #2] + ldr r1, [locals, r1, lsl #2] beq 1f 2: DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2, tmp1 + PUSH r1, tmp1 DISPATCH_FINISH 1: ldrb lr, [jpc, #-1] @@ -2668,10 +2629,10 @@ (aload_0,aload_1,aload_2,aload_3) { DISPATCH_START \seq_len - rsb tmp2, r1, #opc_aload_0 + rsb r1, r1, #opc_aload_0 DISPATCH_NEXT rsb tmp1, r2, #0 - ldr tmp2, [locals, tmp2, lsl #2] + ldr r1, [locals, r1, lsl #2] cmp r0, #opc_igetfield DISPATCH_NEXT beq 1f @@ -2679,7 +2640,7 @@ ldr tmp1, [locals, tmp1, lsl #2] DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2, tmp1 + PUSH r1, tmp1 DISPATCH_FINISH 1: ldrb lr, [jpc, #-1] @@ -2693,15 +2654,15 @@ (iload_0,iload_1,iload_2,iload_3) { DISPATCH_START \seq_len - rsb tmp2, r1, #opc_iload_0 + rsb r1, r1, #opc_iload_0 DISPATCH_NEXT rsb tmp1, r2, #0 - ldr tmp2, [locals, tmp2, lsl #2] + ldr r1, [locals, r1, lsl #2] DISPATCH_NEXT ldr tmp1, [locals, tmp1, lsl #2] DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2, tmp1 + PUSH r1, tmp1 DISPATCH_FINISH } @@ -2716,16 +2677,16 @@ @ r2 = [jpc, #1] (aload,fload)(iload,aload,fload) { - ldrb tmp2, [jpc, #3] + ldrb r1, [jpc, #3] rsb tmp1, r2, #0 DISPATCH_START \seq_len - rsb tmp2, tmp2, #0 + rsb r1, r1, #0 ldr tmp1, [locals, tmp1, lsl #2] DISPATCH_NEXT - ldr tmp2, [locals, tmp2, lsl #2] + ldr r1, [locals, r1, lsl #2] DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2, tmp1 + PUSH r1, tmp1 DISPATCH_FINISH } @@ -2736,16 +2697,16 @@ } (iload)(aload,fload) { - ldrb tmp2, [jpc, #3] + ldrb r1, [jpc, #3] rsb tmp1, r2, #0 DISPATCH_START \seq_len - rsb tmp2, tmp2, #0 + rsb r1, r1, #0 ldr tmp1, [locals, tmp1, lsl #2] DISPATCH_NEXT - ldr tmp2, [locals, tmp2, lsl #2] + ldr r1, [locals, r1, lsl #2] DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2, tmp1 + PUSH r1, tmp1 DISPATCH_FINISH } @@ -2756,13 +2717,13 @@ { rsb tmp1, r0, #opc_aload_0 DISPATCH_START \seq_len - rsb tmp2, r1, #opc_astore_0 + rsb r1, r1, #opc_astore_0 DISPATCH_NEXT ldr tmp1, [locals, tmp1, lsl #2] DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - str tmp1, [locals, tmp2, lsl #2] + str tmp1, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -2771,45 +2732,45 @@ { rsb tmp1, r0, #opc_iload_0 DISPATCH_START \seq_len - rsb tmp2, r1, #opc_istore_0 + rsb r1, r1, #opc_istore_0 DISPATCH_NEXT ldr tmp1, [locals, tmp1, lsl #2] DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - str tmp1, [locals, tmp2, lsl #2] + str tmp1, [locals, r1, lsl #2] DISPATCH_FINISH } (aload_0,aload_1,aload_2,aload_3) (astore,istore,fstore) { - ldrb tmp2, [jpc, #2] + ldrb r1, [jpc, #2] rsb tmp1, r0, #opc_aload_0 DISPATCH_START \seq_len - rsb tmp2, tmp2, #0 + rsb r1, r1, #0 DISPATCH_NEXT ldr tmp1, [locals, tmp1, lsl #2] DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - str tmp1, [locals, tmp2, lsl #2] + str tmp1, [locals, r1, lsl #2] DISPATCH_FINISH } (iload_0,iload_1,iload_2,iload_3) (astore,istore,fstore) { - ldrb tmp2, [jpc, #2] + ldrb r1, [jpc, #2] rsb tmp1, r0, #opc_iload_0 DISPATCH_START \seq_len - rsb tmp2, tmp2, #0 + rsb r1, r1, #0 DISPATCH_NEXT ldr tmp1, [locals, tmp1, lsl #2] DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - str tmp1, [locals, tmp2, lsl #2] + str tmp1, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -2820,12 +2781,12 @@ DISPATCH_START \seq_len rsb tmp1, r1, #opc_astore_0 DISPATCH_NEXT - rsb tmp2, r2, #0 - ldr tmp2, [locals, tmp2, lsl #2] + rsb r1, r2, #0 + ldr r1, [locals, r1, lsl #2] DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - str tmp2, [locals, tmp1, lsl #2] + str r1, [locals, tmp1, lsl #2] DISPATCH_FINISH } @@ -2836,27 +2797,27 @@ DISPATCH_START \seq_len rsb tmp1, r1, #opc_istore_0 DISPATCH_NEXT - rsb tmp2, r2, #0 - ldr tmp2, [locals, tmp2, lsl #2] + rsb r1, r2, #0 + ldr r1, [locals, r1, lsl #2] DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - str tmp2, [locals, tmp1, lsl #2] + str r1, [locals, tmp1, lsl #2] DISPATCH_FINISH } @ r2 = [jpc, #1] (iload,aload,fload)(astore,istore,fstore) { ldrb tmp1, [jpc, #3] - rsb tmp2, r2, #0 + rsb r1, r2, #0 DISPATCH_START \seq_len rsb tmp1, tmp1, #0 DISPATCH_NEXT - ldr tmp2, [locals, tmp2, lsl #2] + ldr r1, [locals, r1, lsl #2] DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - str tmp2, [locals, tmp1, lsl #2] + str r1, [locals, tmp1, lsl #2] DISPATCH_FINISH } @@ -2867,14 +2828,14 @@ { rsb tmp1, r0, #opc_aload_0 DISPATCH_START \seq_len - sub tmp2, r1, #opc_iconst_0 + sub r1, r1, #opc_iconst_0 DISPATCH_NEXT ldr tmp1, [locals, tmp1, lsl #2] DISPATCH_NEXT PUSH tmp1 DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2 + PUSH r1 DISPATCH_FINISH } @@ -2892,14 +2853,14 @@ { cmp r0, #opc_iload DISPATCH_START \seq_len - sub r3, r1, #opc_iconst_0 + sub r1, r1, #opc_iconst_0 DISPATCH_NEXT - ldr tmp2, [locals, -r2, lsl #2] + ldr r3, [locals, -r2, lsl #2] DISPATCH_NEXT beq 1f DISPATCH_NEXT DISPATCH_NEXT - PUSH r3, tmp2 + PUSH r1, r3 DISPATCH_FINISH 1: mov tmp1, #opc_iload_iconst_N @@ -3263,12 +3224,12 @@ (iload_0,iload_1,iload_2,iload_3) (iadd) { - POP tmp2 + POP r1 rsb tmp1, r0, #opc_iload_0 DISPATCH_START \seq_len ldr tmp1, [locals, tmp1, lsl #2] DISPATCH_NEXT - add tmp1, tmp2, tmp1 + add tmp1, r1, tmp1 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT @@ -3278,27 +3239,27 @@ (iload,aload,fload)(iadd) { DISPATCH_START \seq_len - rsb tmp2, r2, #0 + rsb r1, r2, #0 POP tmp1 DISPATCH_NEXT - ldr tmp2, [locals, tmp2, lsl #2] + ldr r1, [locals, r1, lsl #2] DISPATCH_NEXT - add tmp2, tmp1, tmp2 + add r1, tmp1, r1 DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2 + PUSH r1 DISPATCH_FINISH } (iload_0,iload_1,iload_2,iload_3) (isub) { - POP tmp2 + POP r1 rsb tmp1, r0, #opc_iload_0 DISPATCH_START \seq_len ldr tmp1, [locals, tmp1, lsl #2] DISPATCH_NEXT - sub tmp1, tmp2, tmp1 + sub tmp1, r1, tmp1 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT @@ -3308,15 +3269,15 @@ (iload,aload,fload)(isub) { DISPATCH_START \seq_len - rsb tmp2, r2, #0 + rsb r1, r2, #0 POP tmp1 DISPATCH_NEXT - ldr tmp2, [locals, tmp2, lsl #2] + ldr r1, [locals, r1, lsl #2] DISPATCH_NEXT - sub tmp2, tmp1, tmp2 + sub r1, tmp1, r1 DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2 + PUSH r1 DISPATCH_FINISH } @@ -3445,12 +3406,12 @@ (iload_0,iload_1,iload_2,iload_3) (iand) { - POP tmp2 + POP r1 rsb tmp1, r0, #opc_iload_0 DISPATCH_START \seq_len ldr tmp1, [locals, tmp1, lsl #2] DISPATCH_NEXT - and tmp1, tmp2, tmp1 + and tmp1, r1, tmp1 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT @@ -3460,27 +3421,27 @@ (iload,aload,fload)(iand) { DISPATCH_START \seq_len - rsb tmp2, r2, #0 + rsb r1, r2, #0 POP tmp1 DISPATCH_NEXT - ldr tmp2, [locals, tmp2, lsl #2] + ldr r1, [locals, r1, lsl #2] DISPATCH_NEXT - and tmp2, tmp1, tmp2 + and r1, tmp1, r1 DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2 + PUSH r1 DISPATCH_FINISH } (iload_0,iload_1,iload_2,iload_3) (ior) { - POP tmp2 + POP r1 rsb tmp1, r0, #opc_iload_0 DISPATCH_START \seq_len ldr tmp1, [locals, tmp1, lsl #2] DISPATCH_NEXT - orr tmp1, tmp2, tmp1 + orr tmp1, r1, tmp1 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT @@ -3490,27 +3451,27 @@ (iload,aload,fload)(ior) { DISPATCH_START \seq_len - rsb tmp2, r2, #0 + rsb r1, r2, #0 POP tmp1 DISPATCH_NEXT - ldr tmp2, [locals, tmp2, lsl #2] + ldr r1, [locals, r1, lsl #2] DISPATCH_NEXT - orr tmp2, tmp1, tmp2 + orr r1, tmp1, r1 DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2 + PUSH r1 DISPATCH_FINISH } (iload_0,iload_1,iload_2,iload_3) (ixor) { - POP tmp2 + POP r1 rsb tmp1, r0, #opc_iload_0 DISPATCH_START \seq_len ldr tmp1, [locals, tmp1, lsl #2] DISPATCH_NEXT - eor tmp1, tmp2, tmp1 + eor tmp1, r1, tmp1 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT @@ -3520,15 +3481,15 @@ (iload,aload,fload)(ixor) { DISPATCH_START \seq_len - rsb tmp2, r2, #0 + rsb r1, r2, #0 POP tmp1 DISPATCH_NEXT - ldr tmp2, [locals, tmp2, lsl #2] + ldr r1, [locals, r1, lsl #2] DISPATCH_NEXT - eor tmp2, tmp1, tmp2 + eor r1, tmp1, r1 DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2 + PUSH r1 DISPATCH_FINISH } @@ -3841,23 +3802,22 @@ (ireturn,areturn,freturn) { rsb r0, r0, #opc_iload_0 - ldr tmp2, [istate, #ISTATE_MONITOR_BASE] @ tmp2 = base + ldr r9, [istate, #ISTATE_MONITOR_BASE] @ r9 = base ldr tmp1, [istate, #ISTATE_STACK_BASE] @ tmp1 = end ldr r1, [locals, r0, lsl #2] - ldr tmp_xxx, [istate, #ISTATE_THREAD] - cmp tmp1, tmp2 + cmp tmp1, r9 bcc 1f 2: mov r3, #0 - ldr stack, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - str r3, [tmp_xxx, #THREAD_LAST_JAVA_SP] + ldr stack, [thread, #THREAD_TOP_ZERO_FRAME] + str r3, [thread, #THREAD_LAST_JAVA_SP] ldr r0, [istate, #ISTATE_METHOD] ldr r3, [stack, #0] ldrh r0, [r0, #40] - str r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] + str r3, [thread, #THREAD_TOP_ZERO_FRAME] str r1, [stack, r0, lsl #2]! - str stack, [tmp_xxx, #THREAD_JAVA_SP] + str stack, [thread, #THREAD_JAVA_SP] ldmfd arm_sp!, {fast_regset, pc} 1: @@ -3870,23 +3830,22 @@ (iload,aload,fload)(ireturn,areturn,freturn) { - ldr tmp2, [istate, #ISTATE_MONITOR_BASE] @ tmp2 = base + ldr r9, [istate, #ISTATE_MONITOR_BASE] @ r9 = base ldr tmp1, [istate, #ISTATE_STACK_BASE] @ tmp1 = end ldr r1, [locals, -r2, lsl #2] - ldr tmp_xxx, [istate, #ISTATE_THREAD] - cmp tmp1, tmp2 + cmp tmp1, r9 bcc 1f 2: mov r3, #0 - ldr stack, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - str r3, [tmp_xxx, #THREAD_LAST_JAVA_SP] + ldr stack, [thread, #THREAD_TOP_ZERO_FRAME] + str r3, [thread, #THREAD_LAST_JAVA_SP] ldr r0, [istate, #ISTATE_METHOD] ldr r3, [stack, #0] ldrh r0, [r0, #40] - str r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] + str r3, [thread, #THREAD_TOP_ZERO_FRAME] str r1, [stack, r0, lsl #2]! - str stack, [tmp_xxx, #THREAD_JAVA_SP] + str stack, [thread, #THREAD_JAVA_SP] ldmfd arm_sp!, {fast_regset, pc} 1: @@ -4078,20 +4037,20 @@ ldrb ip, [jpc, #4] rsb tmp1, r2, #0 ldrb r3, [jpc, #3] - add tmp2, constpool, ip, lsl #12 + add r1, constpool, ip, lsl #12 DISPATCH_START 5 ldr tmp1, [locals, tmp1, lsl #2] - add tmp2, r3, lsl #4 + add r1, r3, lsl #4 DISPATCH_NEXT SW_NPC cmp tmp1, #0 SW_NPC beq null_ptr_exception_jpc_3 DISPATCH_NEXT - ldr tmp2, [tmp2, #CP_OFFSET+8] + ldr r1, [r1, #CP_OFFSET+8] DISPATCH_NEXT .abortentry88: - ldr tmp2, [tmp1, tmp2] + ldr r1, [tmp1, r1] DISPATCH_NEXT - PUSH tmp2 + PUSH r1 DISPATCH_FINISH } @@ -4120,9 +4079,9 @@ (iconst_m1,iconst_0,iconst_1,iconst_2,iconst_3,iconst_4,iconst_5)(iadd) { sub tmp1, r0, #opc_iconst_0 DISPATCH_START \seq_len - POP tmp2 + POP r1 DISPATCH_NEXT - add tmp1, tmp2, tmp1 + add tmp1, r1, tmp1 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT @@ -4133,9 +4092,9 @@ (iconst_m1,iconst_0,iconst_1,iconst_2,iconst_3,iconst_4,iconst_5)(isub) { sub tmp1, r0, #opc_iconst_0 DISPATCH_START \seq_len - POP tmp2 + POP r1 DISPATCH_NEXT - sub tmp1, tmp2, tmp1 + sub tmp1, r1, tmp1 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT @@ -4266,23 +4225,22 @@ } (iconst_m1,iconst_0,iconst_1,iconst_2,iconst_3,iconst_4,iconst_5)(ireturn) { - ldr tmp2, [istate, #ISTATE_MONITOR_BASE] @ tmp2 = base + ldr r9, [istate, #ISTATE_MONITOR_BASE] @ r9 = base ldr tmp1, [istate, #ISTATE_STACK_BASE] @ tmp1 = end sub r1, r0, #opc_iconst_0 - ldr tmp_xxx, [istate, #ISTATE_THREAD] - cmp tmp1, tmp2 + cmp tmp1, r9 bcc 1f 2: mov r3, #0 - ldr stack, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - str r3, [tmp_xxx, #THREAD_LAST_JAVA_SP] + ldr stack, [thread, #THREAD_TOP_ZERO_FRAME] + str r3, [thread, #THREAD_LAST_JAVA_SP] ldr r0, [istate, #ISTATE_METHOD] ldr r3, [stack, #0] ldrh r0, [r0, #40] - str r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] + str r3, [thread, #THREAD_TOP_ZERO_FRAME] str r1, [stack, r0, lsl #2]! - str stack, [tmp_xxx, #THREAD_JAVA_SP] + str stack, [thread, #THREAD_JAVA_SP] ldmfd arm_sp!, {fast_regset, pc} 1: @@ -4652,17 +4610,17 @@ @ ---- iadd; xxx ------------------------------------------------------------ (iadd)(iload,fload,aload) { - ldrb r3, [jpc, #2] + ldrb r1, [jpc, #2] DISPATCH_START \seq_len - POP tmp2, tmp1 + POP r3, tmp1 DISPATCH_NEXT - rsb r3, r3, #0 + rsb r1, r1, #0 DISPATCH_NEXT - ldr r3, [locals, r3, lsl #2] + ldr r1, [locals, r1, lsl #2] DISPATCH_NEXT - add tmp2, tmp1, tmp2 + add r3, tmp1, r3 DISPATCH_NEXT - PUSH r3, tmp2 + PUSH r1, r3 DISPATCH_FINISH } @@ -4670,15 +4628,15 @@ (iload_0,iload_1,iload_2,iload_3) { DISPATCH_START \seq_len - rsb r3, r1, #opc_iload_0 - POP tmp2, tmp1 + rsb r1, r1, #opc_iload_0 + POP r3, tmp1 DISPATCH_NEXT - ldr r3, [locals, r3, lsl #2] - add tmp2, tmp1, tmp2 + ldr r1, [locals, r1, lsl #2] + add r3, tmp1, r3 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - PUSH r3, tmp2 + PUSH r1, r3 DISPATCH_FINISH } @@ -4735,12 +4693,12 @@ DISPATCH_START \seq_len POP r2, r3, tmp1 DISPATCH_NEXT - add tmp2, r3, r2 + add r1, r3, r2 DISPATCH_NEXT - add tmp2, tmp1, tmp2 + add r1, tmp1, r1 DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2 + PUSH r1 DISPATCH_FINISH } @@ -4748,12 +4706,12 @@ DISPATCH_START \seq_len POP r2, r3, tmp1 DISPATCH_NEXT - add tmp2, r3, r2 + add r1, r3, r2 DISPATCH_NEXT - sub tmp2, tmp1, tmp2 + sub r1, tmp1, r1 DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2 + PUSH r1 DISPATCH_FINISH } @@ -4774,17 +4732,17 @@ @ ---- sub; xxx ------------------------------------------------------------ (isub)(iload,fload,aload) { - ldrb r3, [jpc, #2] + ldrb r1, [jpc, #2] DISPATCH_START \seq_len - POP tmp2, tmp1 + POP r3, tmp1 DISPATCH_NEXT - rsb r3, r3, #0 + rsb r1, r1, #0 DISPATCH_NEXT - ldr r3, [locals, r3, lsl #2] + ldr r1, [locals, r1, lsl #2] DISPATCH_NEXT - sub tmp2, tmp1, tmp2 + sub r3, tmp1, r3 DISPATCH_NEXT - PUSH r3, tmp2 + PUSH r1, r3 DISPATCH_FINISH } @@ -4792,15 +4750,15 @@ (iload_0,iload_1,iload_2,iload_3) { DISPATCH_START \seq_len - rsb r3, r1, #opc_iload_0 - POP tmp2, tmp1 + rsb r1, r1, #opc_iload_0 + POP r3, tmp1 DISPATCH_NEXT - ldr r3, [locals, r3, lsl #2] - sub tmp2, tmp1, tmp2 + ldr r1, [locals, r1, lsl #2] + sub r3, tmp1, r3 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - PUSH r3, tmp2 + PUSH r1, r3 DISPATCH_FINISH } @@ -4857,12 +4815,12 @@ DISPATCH_START \seq_len POP r2, r3, tmp1 DISPATCH_NEXT - sub tmp2, r3, r2 + sub r1, r3, r2 DISPATCH_NEXT - add tmp2, tmp1, tmp2 + add r1, tmp1, r1 DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2 + PUSH r1 DISPATCH_FINISH } @@ -4870,12 +4828,12 @@ DISPATCH_START \seq_len POP r2, r3, tmp1 DISPATCH_NEXT - sub tmp2, r3, r2 + sub r1, r3, r2 DISPATCH_NEXT - sub tmp2, tmp1, tmp2 + sub r1, tmp1, r1 DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2 + PUSH r1 DISPATCH_FINISH } @@ -4896,17 +4854,17 @@ @ ---- iand; xxx ------------------------------------------------------------ (iand)(iload,fload,aload) { - ldrb r3, [jpc, #2] + ldrb r1, [jpc, #2] DISPATCH_START \seq_len - POP tmp2, tmp1 + POP r3, tmp1 DISPATCH_NEXT - rsb r3, r3, #0 + rsb r1, r1, #0 DISPATCH_NEXT - ldr r3, [locals, r3, lsl #2] + ldr r1, [locals, r1, lsl #2] DISPATCH_NEXT - and tmp2, tmp1, tmp2 + and r3, tmp1, r3 DISPATCH_NEXT - PUSH r3, tmp2 + PUSH r1, r3 DISPATCH_FINISH } @@ -4914,15 +4872,15 @@ (iload_0,iload_1,iload_2,iload_3) { DISPATCH_START \seq_len - rsb r3, r1, #opc_iload_0 - POP tmp2, tmp1 + rsb r1, r1, #opc_iload_0 + POP r3, tmp1 DISPATCH_NEXT - ldr r3, [locals, r3, lsl #2] - and tmp2, tmp1, tmp2 + ldr r1, [locals, r1, lsl #2] + and r3, tmp1, r3 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - PUSH r3, tmp2 + PUSH r1, r3 DISPATCH_FINISH } @@ -4979,12 +4937,12 @@ DISPATCH_START \seq_len POP r2, r3, tmp1 DISPATCH_NEXT - and tmp2, r3, r2 + and r1, r3, r2 DISPATCH_NEXT - add tmp2, tmp1, tmp2 + add r1, tmp1, r1 DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2 + PUSH r1 DISPATCH_FINISH } @@ -4992,12 +4950,12 @@ DISPATCH_START \seq_len POP r2, r3, tmp1 DISPATCH_NEXT - and tmp2, r3, r2 + and r1, r3, r2 DISPATCH_NEXT - sub tmp2, tmp1, tmp2 + sub r1, tmp1, r1 DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2 + PUSH r1 DISPATCH_FINISH } @@ -5018,17 +4976,17 @@ @ ---- ior; xxx ------------------------------------------------------------ (ior)(iload,fload,aload) { - ldrb r3, [jpc, #2] + ldrb r1, [jpc, #2] DISPATCH_START \seq_len - POP tmp2, tmp1 + POP r3, tmp1 DISPATCH_NEXT - rsb r3, r3, #0 + rsb r1, r1, #0 DISPATCH_NEXT - ldr r3, [locals, r3, lsl #2] + ldr r1, [locals, r1, lsl #2] DISPATCH_NEXT - orr tmp2, tmp1, tmp2 + orr r3, tmp1, r3 DISPATCH_NEXT - PUSH r3, tmp2 + PUSH r1, r3 DISPATCH_FINISH } @@ -5036,15 +4994,15 @@ (iload_0,iload_1,iload_2,iload_3) { DISPATCH_START \seq_len - rsb r3, r1, #opc_iload_0 - POP tmp2, tmp1 + rsb r1, r1, #opc_iload_0 + POP r3, tmp1 DISPATCH_NEXT - ldr r3, [locals, r3, lsl #2] - orr tmp2, tmp1, tmp2 + ldr r1, [locals, r1, lsl #2] + orr r3, tmp1, r3 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - PUSH r3, tmp2 + PUSH r1, r3 DISPATCH_FINISH } @@ -5101,12 +5059,12 @@ DISPATCH_START \seq_len POP r2, r3, tmp1 DISPATCH_NEXT - orr tmp2, r3, r2 + orr r1, r3, r2 DISPATCH_NEXT - add tmp2, tmp1, tmp2 + add r1, tmp1, r1 DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2 + PUSH r1 DISPATCH_FINISH } @@ -5114,12 +5072,12 @@ DISPATCH_START \seq_len POP r2, r3, tmp1 DISPATCH_NEXT - orr tmp2, r3, r2 + orr r1, r3, r2 DISPATCH_NEXT - sub tmp2, tmp1, tmp2 + sub r1, tmp1, r1 DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2 + PUSH r1 DISPATCH_FINISH } @@ -5141,17 +5099,17 @@ @ ---- ixor; xxx ------------------------------------------------------------ (ixor)(iload,fload,aload) { - ldrb r3, [jpc, #2] + ldrb r1, [jpc, #2] DISPATCH_START \seq_len - POP tmp2, tmp1 + POP r3, tmp1 DISPATCH_NEXT - rsb r3, r3, #0 + rsb r1, r1, #0 DISPATCH_NEXT - ldr r3, [locals, r3, lsl #2] + ldr r1, [locals, r1, lsl #2] DISPATCH_NEXT - eor tmp2, tmp1, tmp2 + eor r3, tmp1, r3 DISPATCH_NEXT - PUSH r3, tmp2 + PUSH r1, r3 DISPATCH_FINISH } @@ -5159,15 +5117,15 @@ (iload_0,iload_1,iload_2,iload_3) { DISPATCH_START \seq_len - rsb r3, r1, #opc_iload_0 - POP tmp2, tmp1 + rsb r1, r1, #opc_iload_0 + POP r3, tmp1 DISPATCH_NEXT - ldr r3, [locals, r3, lsl #2] - eor tmp2, tmp1, tmp2 + ldr r1, [locals, r1, lsl #2] + eor r3, tmp1, r3 DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - PUSH r3, tmp2 + PUSH r1, r3 DISPATCH_FINISH } @@ -5224,12 +5182,12 @@ DISPATCH_START \seq_len POP r2, r3, tmp1 DISPATCH_NEXT - eor tmp2, r3, r2 + eor r1, r3, r2 DISPATCH_NEXT - add tmp2, tmp1, tmp2 + add r1, tmp1, r1 DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2 + PUSH r1 DISPATCH_FINISH } @@ -5237,12 +5195,12 @@ DISPATCH_START \seq_len POP r2, r3, tmp1 DISPATCH_NEXT - eor tmp2, r3, r2 + eor r1, r3, r2 DISPATCH_NEXT - sub tmp2, tmp1, tmp2 + sub r1, tmp1, r1 DISPATCH_NEXT DISPATCH_NEXT - PUSH tmp2 + PUSH r1 DISPATCH_FINISH } @@ -5267,15 +5225,15 @@ ldrsb tmp1, [jpc, #2] sub lr, r1, #opc_iconst_0 DISPATCH_START \seq_len - rsb tmp2, r2, #0 - ldr r3, [locals, tmp2, lsl #2] + rsb r1, r2, #0 + ldr r3, [locals, r1, lsl #2] DISPATCH_NEXT add r3, r3, tmp1 DISPATCH_NEXT PUSH lr DISPATCH_NEXT DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -5283,14 +5241,14 @@ ldrb lr, [jpc, #4] ldrsb tmp1, [jpc, #2] DISPATCH_START \seq_len - rsb tmp2, r2, #0 - ldr r3, [locals, tmp2, lsl #2] + rsb r1, r2, #0 + ldr r3, [locals, r1, lsl #2] DISPATCH_NEXT rsb lr, lr, #0 DISPATCH_NEXT add r3, r3, tmp1 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] ldr tmp1, [locals, lr, lsl #2] DISPATCH_NEXT PUSH tmp1 @@ -5303,12 +5261,12 @@ rsb lr, r1, #opc_iload_0 ldrsb tmp1, [jpc, #2] DISPATCH_START \seq_len - rsb tmp2, r2, #0 - ldr r3, [locals, tmp2, lsl #2] + rsb r1, r2, #0 + ldr r3, [locals, r1, lsl #2] DISPATCH_NEXT add r3, r3, tmp1 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_NEXT ldr tmp1, [locals, lr, lsl #2] DISPATCH_NEXT @@ -5324,24 +5282,24 @@ (iload,fload,aload) { ldrb r2, [jpc, #3] rsb tmp1, r0, #opc_iaccess_0 - ldrb r3, [jpc, #2] - add tmp2, constpool, r2, lsl #12 + ldrb r1, [jpc, #2] + add r3, constpool, r2, lsl #12 DISPATCH_START 6 ldr tmp1, [locals, tmp1, lsl #2] - add tmp2, r3, lsl #4 - ldrb r3, [jpc, #-1] + add r3, r1, lsl #4 + ldrb r1, [jpc, #-1] DISPATCH_NEXT SW_NPC cmp tmp1, #0 SW_NPC beq null_ptr_exception_jpc_5 DISPATCH_NEXT - ldr tmp2, [tmp2, #CP_OFFSET+8] + ldr r3, [r3, #CP_OFFSET+8] DISPATCH_NEXT - rsb r3, r3, #0 + rsb r1, r1, #0 .abortentry89: - ldr tmp2, [tmp1, tmp2] - ldr r3, [locals, r3, lsl #2] + ldr r3, [tmp1, r3] + ldr r1, [locals, r1, lsl #2] DISPATCH_NEXT - PUSH r3, tmp2 + PUSH r1, r3 DISPATCH_FINISH } @@ -5350,22 +5308,22 @@ ldrb r2, [jpc, #3] rsb tmp1, r0, #opc_iaccess_0 ldrb ip, [jpc, #2] - add tmp2, constpool, r2, lsl #12 + add r3, constpool, r2, lsl #12 DISPATCH_START 5 - rsb r3, r1, #opc_iload_0 + rsb r1, r1, #opc_iload_0 ldr tmp1, [locals, tmp1, lsl #2] - add tmp2, ip, lsl #4 + add r3, ip, lsl #4 DISPATCH_NEXT SW_NPC cmp tmp1, #0 SW_NPC beq null_ptr_exception_jpc_4 DISPATCH_NEXT - ldr tmp2, [tmp2, #CP_OFFSET+8] + ldr r3, [r3, #CP_OFFSET+8] DISPATCH_NEXT .abortentry90: - ldr tmp2, [tmp1, tmp2] - ldr r3, [locals, r3, lsl #2] + ldr r3, [tmp1, r3] + ldr r1, [locals, r1, lsl #2] DISPATCH_NEXT - PUSH r3, tmp2 + PUSH r1, r3 DISPATCH_FINISH } @@ -5374,22 +5332,22 @@ ldrb r2, [jpc, #3] rsb tmp1, r0, #opc_iaccess_0 ldrb ip, [jpc, #2] - add tmp2, constpool, r2, lsl #12 + add r1, constpool, r2, lsl #12 DISPATCH_START 5 ldr tmp1, [locals, tmp1, lsl #2] - add tmp2, ip, lsl #4 + add r1, ip, lsl #4 DISPATCH_NEXT SW_NPC cmp tmp1, #0 SW_NPC beq null_ptr_exception_jpc_4 DISPATCH_NEXT - ldr tmp2, [tmp2, #CP_OFFSET+8] + ldr r1, [r1, #CP_OFFSET+8] DISPATCH_NEXT POP r3 .abortentry91: - ldr tmp2, [tmp1, tmp2] + ldr r1, [tmp1, r1] DISPATCH_NEXT - add tmp2, tmp2, r3 - PUSH tmp2 + add r1, r1, r3 + PUSH r1 DISPATCH_FINISH } @@ -6053,13 +6011,13 @@ DISPATCH_START \seq_len sub r3, r3, #opc_iconst_0 DISPATCH_NEXT - rsb tmp2, lr, #0 + rsb r1, lr, #0 DISPATCH_NEXT ldr tmp1, [locals, r2, lsl #2] DISPATCH_NEXT add r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -6090,13 +6048,13 @@ DISPATCH_START \seq_len sub r3, r3, #opc_iconst_0 DISPATCH_NEXT - rsb tmp2, lr, #opc_istore_0 + rsb r1, lr, #opc_istore_0 DISPATCH_NEXT ldr tmp1, [locals, r2, lsl #2] DISPATCH_NEXT add r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -6127,13 +6085,13 @@ DISPATCH_START \seq_len sub r3, r3, #opc_iconst_0 DISPATCH_NEXT - rsb tmp2, lr, #0 + rsb r1, lr, #0 DISPATCH_NEXT ldr tmp1, [locals, r2, lsl #2] DISPATCH_NEXT sub r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -6164,13 +6122,13 @@ DISPATCH_START \seq_len sub r3, r3, #opc_iconst_0 DISPATCH_NEXT - rsb tmp2, lr, #opc_istore_0 + rsb r1, lr, #opc_istore_0 DISPATCH_NEXT ldr tmp1, [locals, r2, lsl #2] DISPATCH_NEXT sub r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -6201,13 +6159,13 @@ DISPATCH_START \seq_len sub r3, r3, #opc_iconst_0 DISPATCH_NEXT - rsb tmp2, lr, #0 + rsb r1, lr, #0 DISPATCH_NEXT ldr tmp1, [locals, r2, lsl #2] DISPATCH_NEXT and r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -6238,13 +6196,13 @@ DISPATCH_START \seq_len sub r3, r3, #opc_iconst_0 DISPATCH_NEXT - rsb tmp2, lr, #opc_istore_0 + rsb r1, lr, #opc_istore_0 DISPATCH_NEXT ldr tmp1, [locals, r2, lsl #2] DISPATCH_NEXT and r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -6275,13 +6233,13 @@ DISPATCH_START \seq_len sub r3, r3, #opc_iconst_0 DISPATCH_NEXT - rsb tmp2, lr, #0 + rsb r1, lr, #0 DISPATCH_NEXT ldr tmp1, [locals, r2, lsl #2] DISPATCH_NEXT orr r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -6312,13 +6270,13 @@ DISPATCH_START \seq_len sub r3, r3, #opc_iconst_0 DISPATCH_NEXT - rsb tmp2, lr, #opc_istore_0 + rsb r1, lr, #opc_istore_0 DISPATCH_NEXT ldr tmp1, [locals, r2, lsl #2] DISPATCH_NEXT orr r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -6349,13 +6307,13 @@ DISPATCH_START \seq_len sub r3, r3, #opc_iconst_0 DISPATCH_NEXT - rsb tmp2, lr, #0 + rsb r1, lr, #0 DISPATCH_NEXT ldr tmp1, [locals, r2, lsl #2] DISPATCH_NEXT eor r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -6386,13 +6344,13 @@ DISPATCH_START \seq_len sub r3, r3, #opc_iconst_0 DISPATCH_NEXT - rsb tmp2, lr, #opc_istore_0 + rsb r1, lr, #opc_istore_0 DISPATCH_NEXT ldr tmp1, [locals, r2, lsl #2] DISPATCH_NEXT eor r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -6577,14 +6535,14 @@ DISPATCH_START \seq_len rsb r3, r3, #0 DISPATCH_NEXT - rsb tmp2, lr, #opc_istore_0 + rsb r1, lr, #opc_istore_0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT add r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -6597,14 +6555,14 @@ DISPATCH_START \seq_len rsb r3, r3, #opc_iload_0 DISPATCH_NEXT - rsb tmp2, lr, #opc_istore_0 + rsb r1, lr, #opc_istore_0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT add r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -6656,14 +6614,14 @@ DISPATCH_START \seq_len rsb r3, r3, #0 DISPATCH_NEXT - rsb tmp2, lr, #opc_istore_0 + rsb r1, lr, #opc_istore_0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT sub r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -6676,14 +6634,14 @@ DISPATCH_START \seq_len rsb r3, r3, #opc_iload_0 DISPATCH_NEXT - rsb tmp2, lr, #opc_istore_0 + rsb r1, lr, #opc_istore_0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT sub r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -6735,14 +6693,14 @@ DISPATCH_START \seq_len rsb r3, r3, #0 DISPATCH_NEXT - rsb tmp2, lr, #opc_istore_0 + rsb r1, lr, #opc_istore_0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT and r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -6755,14 +6713,14 @@ DISPATCH_START \seq_len rsb r3, r3, #opc_iload_0 DISPATCH_NEXT - rsb tmp2, lr, #opc_istore_0 + rsb r1, lr, #opc_istore_0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT and r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -6814,14 +6772,14 @@ DISPATCH_START \seq_len rsb r3, r3, #0 DISPATCH_NEXT - rsb tmp2, lr, #opc_istore_0 + rsb r1, lr, #opc_istore_0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT orr r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -6834,14 +6792,14 @@ DISPATCH_START \seq_len rsb r3, r3, #opc_iload_0 DISPATCH_NEXT - rsb tmp2, lr, #opc_istore_0 + rsb r1, lr, #opc_istore_0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT orr r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -6893,14 +6851,14 @@ DISPATCH_START \seq_len rsb r3, r3, #0 DISPATCH_NEXT - rsb tmp2, lr, #opc_istore_0 + rsb r1, lr, #opc_istore_0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT eor r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -6913,14 +6871,14 @@ DISPATCH_START \seq_len rsb r3, r3, #opc_iload_0 DISPATCH_NEXT - rsb tmp2, lr, #opc_istore_0 + rsb r1, lr, #opc_istore_0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT eor r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -6972,14 +6930,14 @@ DISPATCH_START \seq_len rsb r3, r3, #0 DISPATCH_NEXT - rsb tmp2, lr, #0 + rsb r1, lr, #0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT add r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -6992,14 +6950,14 @@ DISPATCH_START \seq_len rsb r3, r3, #opc_iload_0 DISPATCH_NEXT - rsb tmp2, lr, #0 + rsb r1, lr, #0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT add r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -7051,14 +7009,14 @@ DISPATCH_START \seq_len rsb r3, r3, #0 DISPATCH_NEXT - rsb tmp2, lr, #0 + rsb r1, lr, #0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT sub r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -7071,14 +7029,14 @@ DISPATCH_START \seq_len rsb r3, r3, #opc_iload_0 DISPATCH_NEXT - rsb tmp2, lr, #0 + rsb r1, lr, #0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT sub r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -7130,14 +7088,14 @@ DISPATCH_START \seq_len rsb r3, r3, #0 DISPATCH_NEXT - rsb tmp2, lr, #0 + rsb r1, lr, #0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT and r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -7150,14 +7108,14 @@ DISPATCH_START \seq_len rsb r3, r3, #opc_iload_0 DISPATCH_NEXT - rsb tmp2, lr, #0 + rsb r1, lr, #0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT and r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -7209,14 +7167,14 @@ DISPATCH_START \seq_len rsb r3, r3, #0 DISPATCH_NEXT - rsb tmp2, lr, #0 + rsb r1, lr, #0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT orr r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -7229,14 +7187,14 @@ DISPATCH_START \seq_len rsb r3, r3, #opc_iload_0 DISPATCH_NEXT - rsb tmp2, lr, #0 + rsb r1, lr, #0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT orr r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -7288,14 +7246,14 @@ DISPATCH_START \seq_len rsb r3, r3, #0 DISPATCH_NEXT - rsb tmp2, lr, #0 + rsb r1, lr, #0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT eor r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } @@ -7308,14 +7266,14 @@ DISPATCH_START \seq_len rsb r3, r3, #opc_iload_0 DISPATCH_NEXT - rsb tmp2, lr, #0 + rsb r1, lr, #0 ldr tmp1, [locals, r2, lsl #2] ldr r3, [locals, r3, lsl #2] DISPATCH_NEXT DISPATCH_NEXT eor r3, tmp1, r3 DISPATCH_NEXT - str r3, [locals, tmp2, lsl #2] + str r3, [locals, r1, lsl #2] DISPATCH_FINISH } From ed at camswl.com Thu Mar 11 03:25:35 2010 From: ed at camswl.com (ed at camswl.com) Date: Thu, 11 Mar 2010 11:25:35 GMT Subject: RTC Thumb2 JIT enhancements (diffs part 3) Message-ID: <201003111125.o2BBPZU7010911@mint.camswl.com> diff -ruNE old/icedtea6/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S new2/icedtea6/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S --- old/icedtea6/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S 2010-03-10 17:38:48.000000000 +0000 +++ new2/icedtea6/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S 2010-03-11 09:41:29.000000000 +0000 @@ -15,16 +15,16 @@ @ 2 along with this work; if not, write to the Free Software Foundation, @ Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -#undef THUMB2EE +#undef T2JIT #if !defined(DISABLE_THUMB2) && defined(HOTSPOT_ASM) && !defined(SHARK) -#define THUMB2EE +#define T2JIT #endif #ifdef HOTSPOT_ASM #define ARMv4 -#if defined(SHARK) || defined(THUMB2EE) +#if defined(SHARK) || defined(T2JIT) #define USE_COMPILER @@ -36,8 +36,8 @@ #define MP_COMPILE_THRESHOLD 0x10000 // 65536 - must be a single MOV constant #define UP_COMPILE_THRESHOLD 0x30000 // 196608 - must be a single MOV constant #else -#define MP_COMPILE_THRESHOLD 0x2700 // 10000 - must be a single MOV constant -#define UP_COMPILE_THRESHOLD 0x2700 // 10000 - must be a single MOV constant +#define MP_COMPILE_THRESHOLD 0x1380 // 10000 - must be a single MOV constant +#define UP_COMPILE_THRESHOLD 0x1380 // 10000 - must be a single MOV constant #endif #define MAX_FG_METHOD_SIZE 500 @@ -49,7 +49,7 @@ #define DISABLE_BG_COMP_ON_NON_MP #endif -#ifdef THUMB2EE +#ifdef T2JIT #define FREQ_COUNT_OVERFLOW Thumb2_Compile #else #define FREQ_COUNT_OVERFLOW _ZN18InterpreterRuntime26frequency_counter_overflowEP10JavaThreadPh @@ -73,12 +73,15 @@ #define LEAF_STACK_SIZE 200 #define STACK_SPARE 40 +#define TBIT 1 + #define stack r4 #define jpc r5 #define dispatch r6 #define locals r7 #define istate r8 #define constpool r9 +#define thread r10 #define arm_sp r13 #define tmp_xxx r7 @@ -86,17 +89,23 @@ #define tmp_vvv r9 #define tmp1 r11 -#define tmp2 r10 #define regset r4,r5,r6,r7,r9,r10,r11 #define fast_regset r8 +#define Rframe r7 + +#define FRAME_METHOD (ISTATE_METHOD-ISTATE_NEXT_FRAME) +#define FRAME_CONSTANTS (ISTATE_CONSTANTS-ISTATE_NEXT_FRAME) +#define FRAME_BCP (ISTATE_BCP-ISTATE_NEXT_FRAME) +#define FRAME_STACK_LIMIT (ISTATE_STACK_LIMIT-ISTATE_NEXT_FRAME) +#define FRAME_LOCALS (ISTATE_LOCALS-ISTATE_NEXT_FRAME) +#define FRAME_STACK (ISTATE_STACK-ISTATE_NEXT_FRAME) + #include "offsets_arm.s" #define last_implemented_bytecode 201 -#define CODE_ALIGN_SIZE 64 - .macro ALIGN_CODE .align 6 .endm @@ -113,6 +122,18 @@ .align 2 .endm +#define SLOW_ENTRY_OFFSET 24 +#define FAST_ENTRY_OFFSET 40 + + .macro SLOW_ENTRY + ALIGN_CODE + .word 0, 0, 0, 0, 0, 0 + .endm + + .macro FAST_ENTRY + ALIGN_CODE + .endm + @------------------------------------------------ @ Software NULL Pointer check macro. @ Usage: @@ -254,7 +275,7 @@ @ T2 @------------------------------------------------ .macro T2 p1, p2, p3, p4 -#ifdef THUMB2EE +#ifdef T2JIT .ifnes "\p4", "" \p1 \p2, \p3, \p4 .else @@ -314,6 +335,11 @@ .endif .endm + .macro LOAD_ISTATE + ldr istate, [thread, #THREAD_TOP_ZERO_FRAME] + sub istate, istate, #ISTATE_NEXT_FRAME + .endm + .macro CACHE_JPC ldr jpc, [istate, #ISTATE_BCP] .endm @@ -330,10 +356,18 @@ ldr constpool, [istate, #ISTATE_CONSTANTS] .endm + .macro DECACHE_STACK_USING_FRAME + str stack, [Rframe, #FRAME_STACK] + .endm + .macro DECACHE_STACK str stack, [istate, #ISTATE_STACK] .endm + .macro DECACHE_JPC_USING_FRAME + str jpc, [Rframe, #FRAME_BCP] + .endm + .macro DECACHE_JPC str jpc, [istate, #ISTATE_BCP] .endm @@ -660,38 +694,30 @@ .word normal_entry @ java_lang_math_log .word normal_entry @ java_lang_math_log10 - ALIGN_CODE + SLOW_ENTRY native_entry_synchronized: - b fast_native_entry_synchronized + b _ZN14CppInterpreter12native_entryEP13methodOopDesciP6Thread - ALIGN_CODE + FAST_ENTRY fast_native_entry_synchronized: + mov r2, thread b _ZN14CppInterpreter12native_entryEP13methodOopDesciP6Thread - ALIGN_CODE + SLOW_ENTRY empty_entry: - b fast_empty_entry - - ALIGN_CODE -fast_empty_entry: - ldr r3, .L1359 - ldr r1, .L1359+4 -.LPIC19: - add r3, pc, r3 - - ldr ip, [r3, r1] - ldr r3, [ip, #0] - cmp r3, #0 - bne normal_entry_synchronized - ldrh r3, [r0, #42] ldr r1, [r2, #THREAD_JAVA_SP] add r1, r1, r3, lsl #2 str r1, [r2, #THREAD_JAVA_SP] bx lr -.L1359: - .word _GLOBAL_OFFSET_TABLE_-(.LPIC19+8) - .word _ZN20SafepointSynchronize6_stateE(GOT) + + FAST_ENTRY +fast_empty_entry: + ldrh r3, [r0, #42] + ldr r1, [thread, #THREAD_JAVA_SP] + add r1, r1, r3, lsl #2 + str r1, [thread, #THREAD_JAVA_SP] + bx lr @ ---- START execute.s --------------------------------------------------------------------- @@ -730,7 +756,7 @@ bx lr #endif // HW_NULL_PTR_CHECK 2: -#ifdef THUMB2EE +#ifdef T2JIT b Thumb2_Check_Null #else mov r0, #0 @@ -826,13 +852,14 @@ #endif - ALIGN_CODE + SLOW_ENTRY native_entry: stmfd arm_sp!, {regset, lr} + mov thread, r2 bl fast_native_entry ldmia sp!, {regset, pc} - ALIGN_CODE + FAST_ENTRY fast_native_entry: adrl ip, dispatch_init_adcon mov r11, r0 @@ -841,12 +868,12 @@ add dispatch, dispatch, ip add dispatch, dispatch, r7 ldrh r1, [r11, #METHOD_SIZEOFPARAMETERS] - ldr r4, [r2, #THREAD_JAVA_SP] - ldr r3, [r2, #THREAD_TOP_ZERO_FRAME] + ldr r4, [thread, #THREAD_JAVA_SP] + ldr r3, [thread, #THREAD_TOP_ZERO_FRAME] mov r0, #0 mov ip, #INTERPRETER_FRAME sub r9, r4, #FRAME_SIZE - str r9, [r2, #THREAD_JAVA_SP] @ drop stack + str r9, [thread, #THREAD_JAVA_SP] @ drop stack sub r5, r9, #4 @ stack limit = r9 - 4 str r3, [r9, #ISTATE_NEXT_FRAME] str ip, [r9, #ISTATE_FRAME_TYPE] @@ -855,44 +882,40 @@ str r9, [r9, #ISTATE_STACK_BASE] str r0, [r9, #ISTATE_OOP_TEMP] -@ str r0, [r9, #ISTATE_CALLEE] -@ str r0, [r9, #ISTATE_PREV_LINK] str r0, [r9, #ISTATE_MSG] -@ str r0, [r9, #ISTATE_MDX] - ldr r10, [r11, #METHOD_CONSTANTS] + ldr ip, [r11, #METHOD_CONSTANTS] sub r7, r4, #4 mov r5, #0 add r7, r7, r1, lsl #2 - ldr r10, [r10, #CONSTANTPOOL_CACHE] + ldr ip, [ip, #CONSTANTPOOL_CACHE] - str r2, [r9, #ISTATE_THREAD] + str thread, [r9, #ISTATE_THREAD] str r5, [r9, #ISTATE_BCP] str r7, [r9, #ISTATE_LOCALS] - str r10, [r9, #ISTATE_CONSTANTS] + str ip, [r9, #ISTATE_CONSTANTS] str r11, [r9, #ISTATE_METHOD] -@ stmia r9, {r2, r5, r7, r10, r11} - ldr r1, [r2, #THREAD_STACK_SIZE] - ldr r3, [r2, #THREAD_STACK_BASE] + ldr r1, [thread, #THREAD_STACK_SIZE] + ldr r3, [thread, #THREAD_STACK_BASE] add r0, r9, #72 - mov r9, r2 + rsb r3, r1, r3 rsb r3, r3, arm_sp cmp r3, #4096 - str r0, [r9, #THREAD_TOP_ZERO_FRAME] + str r0, [thread, #THREAD_TOP_ZERO_FRAME] ldr r5, [r11, #METHOD_SIGNATUREHANDLER] blt .fast_native_entry_throw_stack_overflow cmp r5, #0 bne .fast_native_entry_got_handleraddr - str r0, [r9, #THREAD_LAST_JAVA_SP] - mov r0, r9 + str r0, [thread, #THREAD_LAST_JAVA_SP] + mov r0, thread mov r1, r11 bl _ZN18InterpreterRuntime19prepare_native_callEP10JavaThreadP13methodOopDesc - ldr r11, [r9, #THREAD_TOP_ZERO_FRAME] - ldr r1, [r9, #THREAD_PENDING_EXC] - str r5, [r9, #THREAD_LAST_JAVA_SP] + ldr r11, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r1, [thread, #THREAD_PENDING_EXC] + str r5, [thread, #THREAD_LAST_JAVA_SP] ldr r11, [r11, #-72 + ISTATE_METHOD] cmp r1, #0 bne .fast_native_entry_exception @@ -901,19 +924,19 @@ ldr r2, [dispatch, #InterpreterRuntime_slow_signature_handler_Address-XXX] cmp r5, r2 bne .fast_native_entry_get_handler - ldr r3, [r9, #THREAD_TOP_ZERO_FRAME] + ldr r3, [thread, #THREAD_TOP_ZERO_FRAME] mov r2, #0 - mov r0, r9 - str r3, [r9, #THREAD_LAST_JAVA_SP] + mov r0, thread + str r3, [thread, #THREAD_LAST_JAVA_SP] mov r3, r2 mov r1, r11 bl _ZN18InterpreterRuntime22slow_signature_handlerEP10JavaThreadP13methodOopDescPiS4_ - ldr r11, [r9, #THREAD_TOP_ZERO_FRAME] - ldr r1, [r9, #THREAD_PENDING_EXC] + ldr r11, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r1, [thread, #THREAD_PENDING_EXC] mov r3, #0 ldr r11, [r11, #-72 + ISTATE_METHOD] cmp r1, #0 - str r3, [r9, #THREAD_LAST_JAVA_SP] + str r3, [thread, #THREAD_LAST_JAVA_SP] mov r5, r0 bne .fast_native_entry_exception .fast_native_entry_get_handler: @@ -931,7 +954,7 @@ add r1, r5, #24 sub arm_sp, arm_sp, lr, lsl #2 - add r2, r9, #THREAD_JNI_ENVIRONMENT + add r2, thread, #THREAD_JNI_ENVIRONMENT mov lr, arm_sp str r2, [lr], #4 @@ -987,11 +1010,11 @@ bge .fast_copy_args .fast_no_args: - ldr r0, [r9, #THREAD_TOP_ZERO_FRAME] + ldr r0, [thread, #THREAD_TOP_ZERO_FRAME] mov r2, #_thread_in_native - str r0, [r9, #THREAD_LAST_JAVA_SP] - str r2, [r9, #THREAD_STATE] + str r0, [thread, #THREAD_LAST_JAVA_SP] + str r2, [thread, #THREAD_STATE] ldr ip, [r11, #METHOD_NATIVEHANDLER] ldrh r11, [r11, #METHOD_SIZEOFPARAMETERS] @@ -1003,11 +1026,11 @@ mov arm_sp, r4 ldr r3, [dispatch, #SafePointSynchronize_state_Address-XXX] - str ip, [r9, #THREAD_STATE] + str ip, [thread, #THREAD_STATE] ldr r3, [r3, #0] cmp r3, #0 - ldreq r3, [r9, #THREAD_SUSPEND_FLAGS] + ldreq r3, [thread, #THREAD_SUSPEND_FLAGS] cmpeq r3, #0 bne .fast_native_entry_do_special @@ -1015,13 +1038,13 @@ mov r3, #_thread_in_Java mov r2, #0 - str r3, [r9, #THREAD_STATE] - str r2, [r9, #THREAD_LAST_JAVA_SP] + str r3, [thread, #THREAD_STATE] + str r2, [thread, #THREAD_LAST_JAVA_SP] add r2, r5, #24 ldr r3, [r5, #4] - ldr r5, [r9, #THREAD_TOP_ZERO_FRAME] + ldr r5, [thread, #THREAD_TOP_ZERO_FRAME] ldr lr, [r5], #4 @@ -1031,7 +1054,7 @@ adr r3, .return_type_table ldrh r2, [ip, #6] - ldr ip, [r9, #THREAD_ACTIVE_HANDLES] + ldr ip, [thread, #THREAD_ACTIVE_HANDLES] mov tmp1, #0 ldr pc, [r3, r2, lsl #2] @@ -1055,42 +1078,42 @@ .fast_native_return_dw: str r0, [r5, #-8]! - str lr, [r9, #THREAD_TOP_ZERO_FRAME] + str lr, [thread, #THREAD_TOP_ZERO_FRAME] str tmp1, [ip, #JNIHANDLEBLOCK_TOP] str r1, [r5, #4] - str r5, [r9, #THREAD_JAVA_SP] + str r5, [thread, #THREAD_JAVA_SP] ldmfd arm_sp!, {fast_regset, pc} .fast_native_return_byte: mov r0, r0, lsl #24 - str lr, [r9, #THREAD_TOP_ZERO_FRAME] + str lr, [thread, #THREAD_TOP_ZERO_FRAME] mov r0, r0, asr #24 str tmp1, [ip, #JNIHANDLEBLOCK_TOP] str r0, [r5, #-4]! - str r5, [r9, #THREAD_JAVA_SP] + str r5, [thread, #THREAD_JAVA_SP] ldmfd arm_sp!, {fast_regset, pc} .fast_native_return_char: mov r0, r0, lsl #16 - str lr, [r9, #THREAD_TOP_ZERO_FRAME] + str lr, [thread, #THREAD_TOP_ZERO_FRAME] mov r0, r0, lsr #16 str tmp1, [ip, #JNIHANDLEBLOCK_TOP] str r0, [r5, #-4]! - str r5, [r9, #THREAD_JAVA_SP] + str r5, [thread, #THREAD_JAVA_SP] ldmfd arm_sp!, {fast_regset, pc} .fast_native_return_bool: ands r0, r0, #255 - str lr, [r9, #THREAD_TOP_ZERO_FRAME] + str lr, [thread, #THREAD_TOP_ZERO_FRAME] movne r0, #1 str tmp1, [ip, #JNIHANDLEBLOCK_TOP] str r0, [r5, #-4]! - str r5, [r9, #THREAD_JAVA_SP] + str r5, [thread, #THREAD_JAVA_SP] ldmfd arm_sp!, {fast_regset, pc} .fast_native_return_obj: cmp r0, #0 ldrne r0, [r0] str r0, [r5, #-4]! - str lr, [r9, #THREAD_TOP_ZERO_FRAME] + str lr, [thread, #THREAD_TOP_ZERO_FRAME] str tmp1, [ip, #JNIHANDLEBLOCK_TOP] - str r5, [r9, #THREAD_JAVA_SP] + str r5, [thread, #THREAD_JAVA_SP] ldmfd arm_sp!, {fast_regset, pc} .fast_native_return_short: mov r0, r0, lsl #16 @@ -1098,23 +1121,23 @@ .fast_native_return_w: str r0, [r5, #-4]! .fast_native_return_void: - str lr, [r9, #THREAD_TOP_ZERO_FRAME] + str lr, [thread, #THREAD_TOP_ZERO_FRAME] str tmp1, [ip, #JNIHANDLEBLOCK_TOP] .fast_native_exit: - str r5, [r9, #THREAD_JAVA_SP] + str r5, [thread, #THREAD_JAVA_SP] ldmfd arm_sp!, {fast_regset, pc} .fast_native_entry_throw_stack_overflow: - str r0, [r9, #THREAD_LAST_JAVA_SP] - mov r0, r9 + str r0, [thread, #THREAD_LAST_JAVA_SP] + mov r0, thread bl _ZN18InterpreterRuntime24throw_StackOverflowErrorEP10JavaThread mov r3, #0 - ldr r1, [r9, #THREAD_PENDING_EXC] - str r3, [r9, #THREAD_LAST_JAVA_SP] + ldr r1, [thread, #THREAD_PENDING_EXC] + str r3, [thread, #THREAD_LAST_JAVA_SP] .fast_native_entry_exception: - ldr r5, [r9, #THREAD_TOP_ZERO_FRAME] + ldr r5, [thread, #THREAD_TOP_ZERO_FRAME] ldr r3, [r5], #4 - str r3, [r9, #THREAD_TOP_ZERO_FRAME] + str r3, [thread, #THREAD_TOP_ZERO_FRAME] ldrh r3, [r11, #METHOD_SIZEOFPARAMETERS] add r5, r5, r3, lsl #2 @@ -1122,7 +1145,7 @@ .fast_native_entry_do_special: stmdb arm_sp!, {r0, r1} - mov r0, r9 + mov r0, thread bl _ZN10JavaThread40check_special_condition_for_native_transEPS_ ldmia arm_sp!, {r0, r1} b .fast_native_entry_do_return @@ -1169,69 +1192,69 @@ Opcode goto ldrsb r1, [jpc, #1] - ldrb tmp1, [jpc, #2] + ldrb r2, [jpc, #2] branch_taken: - orr tmp1, tmp1, r1, lsl #8 - DISPATCH_START_REG tmp1 - cmp tmp1, #0 + orr r2, r2, r1, lsl #8 + DISPATCH_START_REG r2 + cmp r2, #0 ble do_backedge DISPATCH_FINISH branch_taken_unsafe: mov r2, r2, lsl #24 - orr tmp1, r1, r2, asr #16 - DISPATCH_START_REG tmp1 - USEC cmp tmp1, #0 + orr r2, r1, r2, asr #16 + DISPATCH_START_REG r2 + USEC cmp r2, #0 USEC ble do_backedge DISPATCH_FINISH branch_taken_unsafe_1: add jpc, jpc, #1 - orr tmp1, ip, r1, lsl #8 - DISPATCH_START_REG tmp1 - USEC cmp tmp1, #0 + orr r2, ip, r1, lsl #8 + DISPATCH_START_REG r2 + USEC cmp r2, #0 USEC ble do_backedge DISPATCH_FINISH branch_taken_unsafe_2: add jpc, jpc, #2 - orr tmp1, ip, r1, lsl #8 - DISPATCH_START_REG tmp1 - USEC cmp tmp1, #0 + orr r2, ip, r1, lsl #8 + DISPATCH_START_REG r2 + USEC cmp r2, #0 USEC ble do_backedge DISPATCH_FINISH branch_taken_unsafe_3: add jpc, jpc, #3 - orr tmp1, ip, r1, lsl #8 - DISPATCH_START_REG tmp1 - USEC cmp tmp1, #0 + orr r2, ip, r1, lsl #8 + DISPATCH_START_REG r2 + USEC cmp r2, #0 USEC ble do_backedge DISPATCH_FINISH branch_taken_unsafe_4: add jpc, jpc, #4 - orr tmp1, ip, r1, lsl #8 - DISPATCH_START_REG tmp1 - USEC cmp tmp1, #0 + orr r2, ip, r1, lsl #8 + DISPATCH_START_REG r2 + USEC cmp r2, #0 USEC ble do_backedge DISPATCH_FINISH do_backedge: - USEC ldr tmp2, [istate, #ISTATE_METHOD] + USEC ldr tmp1, [istate, #ISTATE_METHOD] OSR ldr lr, [dispatch, #InterpreterInvocationLimit_Address-XXX] - USEC ldr r1, [tmp2, #METHOD_BACKEDGECOUNTER] - USEC ldr ip, [tmp2, #METHOD_INVOCATIONCOUNTER] + USEC ldr r1, [tmp1, #METHOD_BACKEDGECOUNTER] + USEC ldr ip, [tmp1, #METHOD_INVOCATIONCOUNTER] USEC add r1, r1, #INVOCATIONCOUNTER_COUNTINCREMENT OSR ldr lr, [lr] USEC add ip, ip, #INVOCATIONCOUNTER_COUNTINCREMENT - USEC str r1, [tmp2, #METHOD_BACKEDGECOUNTER] -#ifdef THUMB2EE + USEC str r1, [tmp1, #METHOD_BACKEDGECOUNTER] +#ifdef T2JIT OSR cmp r1, lr #else OSR cmp r1, lr, lsl #2 #endif - USEC str ip, [tmp2, #METHOD_INVOCATIONCOUNTER] + USEC str ip, [tmp1, #METHOD_INVOCATIONCOUNTER] OSR bcs do_osr osr_continue: @@ -1246,7 +1269,7 @@ do_synchronize: DECACHE_JPC DECACHE_STACK - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread bl Helper_SafePoint CACHE_CP CACHE_JPC @@ -1256,12 +1279,12 @@ #ifdef ON_STACK_REPLACEMENT -#ifdef THUMB2EE +#ifdef T2JIT do_osr: - ldr r3, [tmp2, #METHOD_CONSTMETHOD] + ldr r3, [tmp1, #METHOD_CONSTMETHOD] DECACHE_JPC DECACHE_STACK - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread sub r1, jpc, r3 sub r1, r1, #CONSTMETHOD_CODEOFFSET bl FREQ_COUNT_OVERFLOW @@ -1281,27 +1304,26 @@ cmp ip, #0 beq osr_continue - ldr r3, [tmp2, #METHOD_CONSTMETHOD] + ldr r3, [tmp1, #METHOD_CONSTMETHOD] DECACHE_JPC ldrh r3, [r3, #CONSTMETHOD_CODESIZE] DECACHE_STACK - ldr r0, [istate, #ISTATE_THREAD] - sub r1, jpc, tmp1 + mov r0, thread + sub r1, jpc, r2 cmp r3, #MAX_FG_METHOD_SIZE bcc 1f - ldr tmp2, [dispatch, #BackgroundCompilation_Address-XXX] + ldr tmp1, [dispatch, #BackgroundCompilation_Address-XXX] mov r3, #1 - ldr r5, [tmp2] - str r3, [tmp2] + ldr r5, [tmp1] + str r3, [tmp1] bl FREQ_COUNT_OVERFLOW - str r5, [tmp2] + str r5, [tmp1] b 2f 1: bl FREQ_COUNT_OVERFLOW 2: - ldr r3, [istate, #ISTATE_THREAD] CACHE_CP - ldr r1, [r3, #THREAD_PENDING_EXC] + ldr r1, [thread, #THREAD_PENDING_EXC] CACHE_JPC cmp r1, #0 bne handle_exception @@ -1316,20 +1338,19 @@ osr_migrate: ldr tmp1, [r0, #128] @ osr_method->osr_entry() - mov r0, r3 + mov r0, thread bl _ZN13SharedRuntime19OSR_migration_beginEP10JavaThread mov r1, r0 ldr r0, [istate, #ISTATE_METHOD] ldrh lr, [r0, #METHOD_MAXLOCALS] ldrh ip, [r0, #METHOD_SIZEOFPARAMETERS] - ldr r3, [istate, #ISTATE_THREAD] sub lr, lr, ip - ldr r2, [r3, #THREAD_TOP_ZERO_FRAME] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] add ip, r2, #4 ldr r2, [r2] add ip, ip, lr, lsl #2 - str r2, [r3, #THREAD_TOP_ZERO_FRAME] - str ip, [r3, #THREAD_JAVA_SP] + str r2, [thread, #THREAD_TOP_ZERO_FRAME] + str ip, [thread, #THREAD_JAVA_SP] mov r2, tmp1 @ r0 = method @ r1 = osr_buf @@ -1339,7 +1360,7 @@ ldmfd arm_sp!, {fast_regset, pc} -#endif // THUMB2EE +#endif // T2JIT #endif // ON_STACK_REPLACEMENT @@ -1347,7 +1368,7 @@ Opcode ifnull POP r3 ldrsb r1, [jpc, #1] - ldrb tmp1, [jpc, #2] + ldrb r2, [jpc, #2] cmp r3, #0 beq branch_taken DISPATCH 3 @@ -1356,7 +1377,7 @@ Opcode ifnonnull POP r3 ldrsb r1, [jpc, #1] - ldrb tmp1, [jpc, #2] + ldrb r2, [jpc, #2] cmp r3, #0 bne branch_taken DISPATCH 3 @@ -1364,7 +1385,7 @@ Opcode iflt POP r3 ldrsb r1, [jpc, #1] - ldrb tmp1, [jpc, #2] + ldrb r2, [jpc, #2] cmp r3, #0 blt branch_taken DISPATCH 3 @@ -1372,7 +1393,7 @@ Opcode ifge POP r3 ldrsb r1, [jpc, #1] - ldrb tmp1, [jpc, #2] + ldrb r2, [jpc, #2] cmp r3, #0 bge branch_taken DISPATCH 3 @@ -1380,7 +1401,7 @@ Opcode ifgt POP r3 ldrsb r1, [jpc, #1] - ldrb tmp1, [jpc, #2] + ldrb r2, [jpc, #2] cmp r3, #0 bgt branch_taken DISPATCH 3 @@ -1388,7 +1409,7 @@ Opcode ifle POP r3 ldrsb r1, [jpc, #1] - ldrb tmp1, [jpc, #2] + ldrb r2, [jpc, #2] cmp r3, #0 ble branch_taken DISPATCH 3 @@ -1397,7 +1418,7 @@ Opcode if_acmpeq POP r2, r3 ldrsb r1, [jpc, #1] - ldrb tmp1, [jpc, #2] + ldrb r2, [jpc, #2] cmp r3, r2 beq branch_taken DISPATCH 3 @@ -1406,7 +1427,7 @@ Opcode if_acmpne POP r2, r3 ldrsb r1, [jpc, #1] - ldrb tmp1, [jpc, #2] + ldrb r2, [jpc, #2] cmp r3, r2 bne branch_taken DISPATCH 3 @@ -1414,7 +1435,7 @@ Opcode if_icmplt POP r2, r3 ldrsb r1, [jpc, #1] - ldrb tmp1, [jpc, #2] + ldrb r2, [jpc, #2] cmp r3, r2 blt branch_taken DISPATCH 3 @@ -1422,7 +1443,7 @@ Opcode if_icmpge POP r2, r3 ldrsb r1, [jpc, #1] - ldrb tmp1, [jpc, #2] + ldrb r2, [jpc, #2] cmp r3, r2 bge branch_taken DISPATCH 3 @@ -1430,7 +1451,7 @@ Opcode if_icmpgt POP r2, r3 ldrsb r1, [jpc, #1] - ldrb tmp1, [jpc, #2] + ldrb r2, [jpc, #2] cmp r3, r2 bgt branch_taken DISPATCH 3 @@ -1438,7 +1459,7 @@ Opcode if_icmple POP r2, r3 ldrsb r1, [jpc, #1] - ldrb tmp1, [jpc, #2] + ldrb r2, [jpc, #2] cmp r3, r2 ble branch_taken DISPATCH 3 @@ -1455,7 +1476,7 @@ bne handle_return DECACHE_JPC DECACHE_STACK - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread bl Helper_SafePoint CACHE_JPC cmp r0, #0 @@ -1465,13 +1486,12 @@ resolve_get_put: mov r1, r0 mov tmp1, lr - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread DECACHE_JPC DECACHE_STACK bl _ZN18InterpreterRuntime15resolve_get_putEP10JavaThreadN9Bytecodes4CodeE - ldr r0, [istate, #ISTATE_THREAD] + ldr r3, [thread, #THREAD_PENDING_EXC] CACHE_JPC - ldr r3, [r0, #THREAD_PENDING_EXC] CACHE_CP cmp r3, #0 mov lr, tmp1 @@ -1480,7 +1500,7 @@ ldrb r3, [jpc, #1] ldrb r2, [jpc, #2] orr r3, r3, r2, lsl #8 @ r3 = index - add tmp2, constpool, r3, lsl #4 @ tmp2 = cache + add tmp1, constpool, r3, lsl #4 @ tmp1 = cache bx lr accessor_non_w: @@ -1504,28 +1524,28 @@ add r0, r3, r1 ldm r0, {r0, r1} sub ip, ip, #4 - str ip, [r2, #THREAD_JAVA_SP] + str ip, [thread, #THREAD_JAVA_SP] stmia ip, {r0, r1} bx lr Opcode getfield ldrb r1, [jpc, #2] - add tmp2, constpool, r1, lsl #12 - add tmp2, tmp2, r2, lsl #4 - ldr r3, [tmp2, #CP_OFFSET] + add tmp1, constpool, r1, lsl #12 + add tmp1, tmp1, r2, lsl #4 + ldr r3, [tmp1, #CP_OFFSET] and r3, r3, #0x00ff0000 cmp r3, #opc_getfield << 16 blne resolve_get_put - NFBC POP tmp1 - ldr r2, [tmp2, #CP_OFFSET+12] - NFBC cmp tmp1, #0 + NFBC POP r3 + ldr r2, [tmp1, #CP_OFFSET+12] + NFBC cmp r3, #0 NFBC beq null_ptr_exception - NFBC ldr tmp2, [tmp2, #CP_OFFSET+8] + NFBC ldr tmp1, [tmp1, #CP_OFFSET+8] movs r2, r2, lsr #29 FBC movhi r0, #opc_igetfield bls getfield_non_w - NFBC ldr tmp2, [tmp1, tmp2] - NFBC PUSH tmp2 + NFBC ldr tmp1, [r3, tmp1] + NFBC PUSH tmp1 NFBC DISPATCH 3 #ifdef FAST_BYTECODES @@ -1555,34 +1575,34 @@ b rewrite_bytecode #else getfield_sh: - ldrsh tmp2, [tmp1, tmp2] - PUSH tmp2 + ldrsh tmp1, [r3, tmp1] + PUSH tmp1 DISPATCH 3 getfield_h: - ldrh tmp2, [tmp1, tmp2] - PUSH tmp2 + ldrh tmp1, [r3, tmp1] + PUSH tmp1 DISPATCH 3 getfield_sb: - ldrsb tmp2, [tmp1, tmp2] - PUSH tmp2 + ldrsb tmp1, [r3, tmp1] + PUSH tmp1 DISPATCH 3 getfield_dw: - add tmp1, tmp1, tmp2 - ldm tmp1, {r2, tmp2} - PUSH r2, tmp2 + add r3, r3, tmp1 + ldm r3, {r2, tmp1} + PUSH r2, tmp1 DISPATCH 3 #endif Opcode putfield ldrb r1, [jpc, #2] - add tmp2, constpool, r1, lsl #12 - add tmp2, tmp2, r2, lsl #4 - ldr r3, [tmp2, #CP_OFFSET] + add tmp1, constpool, r1, lsl #12 + add tmp1, tmp1, r2, lsl #4 + ldr r3, [tmp1, #CP_OFFSET] and r3, r3, #0xff000000 cmp r3, #opc_putfield << 24 blne resolve_get_put - ldr r2, [tmp2, #CP_OFFSET+12] - NFBC ldr tmp2, [tmp2, #CP_OFFSET+8] + ldr r2, [tmp1, #CP_OFFSET+12] + NFBC ldr tmp1, [tmp1, #CP_OFFSET+8] movs r2, r2, lsr #29 bls putfield_non_w FBC mov r0, #opc_iputfield @@ -1593,7 +1613,7 @@ NFBC POP r2, r3 NFBC cmp r3, #0 NFBC beq null_ptr_exception - NFBC str r2, [r3, tmp2] + NFBC str r2, [r3, tmp1] NFBC DISPATCH 3 putfield_non_w: @@ -1619,26 +1639,26 @@ POP r2, r3 cmp r3, #0 beq null_ptr_exception - strh r2, [r3, tmp2] + strh r2, [r3, tmp1] DISPATCH 3 putfield_sb: POP r2, r3 cmp r3, #0 beq null_ptr_exception - strb r2, [r3, tmp2] + strb r2, [r3, tmp1] DISPATCH 3 putfield_dw: POP r2, r3, lr cmp lr, #0 beq null_ptr_exception - add tmp2, lr, tmp2 - stm tmp2, {r2, r3} + add tmp1, lr, tmp1 + stm tmp1, {r2, r3} DISPATCH 3 putfield_a: POP r2, r3 cmp r3, #0 beq null_ptr_exception - str r2, [r3, tmp2] + str r2, [r3, tmp1] mov r0, r3 bl Helper_aputfield DISPATCH 3 @@ -1646,67 +1666,67 @@ getstatic_sh: DISPATCH_START 3 - ldrsh tmp2, [r3, lr] + ldrsh tmp1, [r3, lr] DISPATCH_NEXT - PUSH tmp2 + PUSH tmp1 DISPATCH_FINISH getstatic_h: DISPATCH_START 3 - ldrh tmp2, [r3, lr] + ldrh tmp1, [r3, lr] DISPATCH_NEXT - PUSH tmp2 + PUSH tmp1 DISPATCH_FINISH getstatic_sb: DISPATCH_START 3 - ldrsb tmp2, [r3, lr] + ldrsb tmp1, [r3, lr] DISPATCH_NEXT - PUSH tmp2 + PUSH tmp1 DISPATCH_FINISH getstatic_dw: DISPATCH_START 3 add r3, r3, lr - ldm r3, {r2, tmp2} + ldm r3, {r2, tmp1} DISPATCH_NEXT - PUSH r2, tmp2 + PUSH r2, tmp1 DISPATCH_FINISH getstatic_w: DISPATCH_START 3 - ldr tmp2, [r3, lr] + ldr tmp1, [r3, lr] DISPATCH_NEXT - PUSH tmp2 + PUSH tmp1 DISPATCH_FINISH putstatic_sh: putstatic_h: DISPATCH_START 3 - POP tmp2 + POP tmp1 DISPATCH_NEXT - strh tmp2, [r3, r2] + strh tmp1, [r3, r2] DISPATCH_FINISH putstatic_w: cmp lr, #tos_atos >> 1 @ >> 1 due to lsr #29 above beq putstatic_a DISPATCH_START 3 - POP tmp2 + POP tmp1 DISPATCH_NEXT - str tmp2, [r3, r2] + str tmp1, [r3, r2] DISPATCH_FINISH putstatic_sb: DISPATCH_START 3 - POP tmp2 + POP tmp1 DISPATCH_NEXT - strb tmp2, [r3, r2] + strb tmp1, [r3, r2] DISPATCH_FINISH putstatic_dw: DISPATCH_START 3 add r2, r2, r3 - POP r3, tmp2 + POP r3, tmp1 DISPATCH_NEXT - stm r2, {r3, tmp2} + stm r2, {r3, tmp1} DISPATCH_FINISH putstatic_a: - POP tmp2 - str tmp2, [r3, r2] + POP tmp1 + str tmp1, [r3, r2] mov r0, r3 bl Helper_aputfield DISPATCH 3 @@ -1724,13 +1744,12 @@ mov r1, #opc_invokestatic resolve_invoke: mov tmp1, lr - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread DECACHE_JPC DECACHE_STACK bl _ZN18InterpreterRuntime14resolve_invokeEP10JavaThreadN9Bytecodes4CodeE - ldr r0, [istate, #ISTATE_THREAD] CACHE_JPC - ldr r3, [r0, #4] + ldr r3, [thread, #THREAD_PENDING_EXC] CACHE_CP cmp r3, #0 ldrb r3, [jpc, #1] @@ -1763,19 +1782,18 @@ Opcode newarray ldrb r1, [jpc, #1] @ zero_extendqisi2 ldr r2, [stack, #4] - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread DECACHE_JPC DECACHE_STACK bl _ZN18InterpreterRuntime8newarrayEP10JavaThread9BasicTypei - ldr r0, [istate, #ISTATE_THREAD] + ldr ip, [thread, #THREAD_PENDING_EXC] CACHE_JPC - ldr ip, [r0, #THREAD_PENDING_EXC] CACHE_CP cmp ip, #0 - ldr r2, [r0, #THREAD_VM_RESULT] + ldr r2, [thread, #THREAD_VM_RESULT] bne handle_exception str r2, [stack, #4] - str ip, [r0, #THREAD_VM_RESULT] + str ip, [thread, #THREAD_VM_RESULT] DISPATCH 2 Opcode anewarray @@ -1787,17 +1805,16 @@ DECACHE_JPC DECACHE_STACK ldr r1, [lr, #METHOD_CONSTANTS] - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread bl _ZN18InterpreterRuntime9anewarrayEP10JavaThreadP19constantPoolOopDescii - ldr r0, [istate, #ISTATE_THREAD] + ldr ip, [thread, #THREAD_PENDING_EXC] CACHE_JPC - ldr ip, [r0, #THREAD_PENDING_EXC] CACHE_CP cmp ip, #0 - ldr r2, [r0, #THREAD_VM_RESULT] + ldr r2, [thread, #THREAD_VM_RESULT] bne handle_exception str r2, [stack, #4] - str ip, [r0, #THREAD_VM_RESULT] + str ip, [thread, #THREAD_VM_RESULT] DISPATCH 3 Opcode arraylength @@ -1819,7 +1836,7 @@ cmp r1, #0 beq null_ptr_exception mov r2, #0 - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread mov r3, r2 bl _ZN12ThreadShadow21set_pending_exceptionEP7oopDescPKci b handle_exception @@ -1863,197 +1880,29 @@ DISPATCH 3 Opcode monitorenter - ldr r1, [stack, #4] - cmp r1, #0 - beq .monitorenter_4 - ldr r0, [istate, #ISTATE_MONITOR_BASE] - ldr r2, [istate, #ISTATE_STACK_BASE] - cmp r2, r0 - beq .monitorenter_5 - mov sl, #0 -.monitorenter_1: - ldr r3, [r2, #4] - cmp r3, #0 - moveq sl, r2 - beq .monitorenter_2 - cmp r1, r3 - beq .monitorenter_3 -.monitorenter_2: - add r2, r2, #8 - cmp r2, r0 - bne .monitorenter_1 -.monitorenter_3: - cmp sl, #0 - beq .monitorenter_5 - str r1, [sl, #4] - ldr r3, [r1, #0] - mov r0, sl - orr tmp1, r3, #1 - mov r2, tmp1 - str tmp1, [sl, #0] - bl cmpxchg_ptr - cmp r0, tmp1 - beq .monitorenter_exit - ldr r0, [istate, #ISTATE_THREAD] - bic r1, tmp1, #3 - bl JavaThread_is_lock_owned - cmp r0, #0 - movne lr, #0 - strne lr, [sl, #0] - bne .monitorenter_exit - mov r1, sl - DECACHE_JPC - DECACHE_STACK - ldr r0, [istate, #ISTATE_THREAD] - bl _ZN18InterpreterRuntime12monitorenterEP10JavaThreadP15BasicObjectLock - ldr r0, [istate, #ISTATE_THREAD] - CACHE_JPC - ldr r3, [r0, #THREAD_PENDING_EXC] - cmp r3, #0 - beq .monitorenter_exit - b handle_exception -.monitorenter_4: - b null_ptr_exception -.monitorenter_5: - mov lr, #0 - DECACHE_JPC - DECACHE_STACK - ldr r3, [istate, #ISTATE_THREAD] - ldr ip, [istate, #ISTATE_THREAD] - ldr r1, [r3, #THREAD_JAVA_SP] - ldr r3, [r3, #THREAD_JAVA_STACK_BASE] - str lr, [ip, #THREAD_LAST_JAVA_SP] - rsb r3, r3, r1 - cmp r3, #7 - ble vm_fatal_error - sub r3, r1, #8 - ldr r1, [istate, #ISTATE_THREAD] - str r3, [r1, #THREAD_JAVA_SP] - ldr r2, [istate, #ISTATE_STACK] - ldr r1, [istate, #ISTATE_STACK_BASE] - add r3, r2, #4 - cmp r1, r3 - bls .monitorenter_7 - add r0, r2, #8 -.monitorenter_6: - ldr r3, [r0, #-4] - mov r2, r0 - str r3, [r0, #-12] - add r0, r0, #4 - ldr r1, [istate, #ISTATE_STACK_BASE] - cmp r1, r2 - bhi .monitorenter_6 - ldr r2, [istate, #ISTATE_STACK] -.monitorenter_7: - sub r1, r1, #8 - sub r2, r2, #8 - ldr r3, [istate, #ISTATE_STACK_LIMIT] - str r1, [istate, #ISTATE_STACK_BASE] - str r2, [istate, #ISTATE_STACK] - sub r3, r3, #8 - mov r0, #0 - str r3, [istate, #ISTATE_STACK_LIMIT] - str r0, [r1, #4] - ldr r1, [istate, #ISTATE_THREAD] - ldr r3, [r1, #THREAD_TOP_ZERO_FRAME] - str r3, [r1, #THREAD_LAST_JAVA_SP] - CACHE_STACK - ldr sl, [istate, #ISTATE_STACK_BASE] - ldr r3, [stack, #4] - CACHE_JPC - mov r1, r3 - str r3, [sl, #4] - ldr r2, [r3, #0] - mov r0, sl - orr tmp1, r2, #1 - mov r2, tmp1 - str tmp1, [sl, #0] - bl cmpxchg_ptr - cmp r0, tmp1 - beq .monitorenter_exit - ldr r0, [istate, #ISTATE_THREAD] - bic r1, tmp1, #3 - bl JavaThread_is_lock_owned - cmp r0, #0 - movne ip, #0 - strne ip, [sl, #0] - bne .monitorenter_exit - mov r1, sl - ldr r0, [istate, #ISTATE_THREAD] + mov r0, r8 + POP r1 DECACHE_JPC DECACHE_STACK - bl _ZN18InterpreterRuntime12monitorenterEP10JavaThreadP15BasicObjectLock - ldr r0, [istate, #ISTATE_THREAD] + bl Helper_monitorenter CACHE_JPC - ldr r3, [r0, #THREAD_PENDING_EXC] - cmp r3, #0 - beq .monitorenter_exit - b handle_exception -.monitorenter_exit: CACHE_CP - add stack, stack, #4 - DISPATCH 1 + CACHE_STACK @ monitorenter may expand stack!!! + cmp r0, #0 + bne handle_exception + DISPATCH 1 Opcode monitorexit - ldr sl, [stack, #4] - cmp sl, #0 - beq .monitorexit_3 - ldr r2, [istate, #ISTATE_MONITOR_BASE] - ldr tmp1, [istate, #ISTATE_STACK_BASE] - cmp tmp1, r2 - bne .monitorexit_2 - b .monitorexit_4 -.monitorexit_1: - add tmp1, tmp1, #8 - cmp tmp1, r2 - beq .monitorexit_4 -.monitorexit_2: - ldr r3, [tmp1, #4] - cmp sl, r3 - bne .monitorexit_1 - ldr r0, [tmp1, #0] - mov lr, #0 - cmp r0, lr - str lr, [tmp1, #4] - beq .monitorexit_exit - mov r1, sl - mov r2, tmp1 - bl cmpxchg_ptr - cmp tmp1, r0 - beq .monitorexit_exit - str sl, [tmp1, #4] - mov r1, tmp1 + mov r0, r8 + POP r1 DECACHE_JPC DECACHE_STACK - ldr r0, [istate, #ISTATE_THREAD] - bl _ZN18InterpreterRuntime11monitorexitEP10JavaThreadP15BasicObjectLock - ldr r0, [istate, #ISTATE_THREAD] - ldr r3, [r0, #THREAD_PENDING_EXC] + bl Helper_monitorexit CACHE_JPC - cmp r3, #0 - beq .monitorexit_exit - b handle_exception -.monitorexit_3: - b null_ptr_exception -.monitorexit_4: - ldr r0, [istate, #ISTATE_THREAD] - DECACHE_JPC - DECACHE_STACK - bl _ZN18InterpreterRuntime37throw_illegal_monitor_state_exceptionEP10JavaThread - b handle_exception_with_bcp -.monitorexit_exit: - add stack, stack, #4 CACHE_CP - DISPATCH 1 - -vm_fatal_error: - adr r0, .fatal_filename - mov r1, #99 - bl _Z28report_should_not_reach_herePKci - b breakpoint -.fatal_filename: - .ascii "[Optimsed Assembler Interpreter Loop]\000" - ALIGN_WORD + cmp r0, #0 + bne handle_exception + DISPATCH 1 Opcode aastore DECACHE_JPC @@ -2135,10 +1984,10 @@ DISPATCH 4 do_wide_ret: ldr r2, [istate, #ISTATE_METHOD] - ldr r2, [r2, #8] + ldr r2, [r2, #METHOD_CONSTMETHOD] ldr r1, [locals, -r1, lsl #2] add jpc, r2, r1 - DISPATCH 48 + DISPATCH CONSTMETHOD_CODEOFFSET do_wide_iinc: ldrsb r2, [jpc, #4] ldrb r3, [jpc, #5] @@ -2150,28 +1999,27 @@ Opcode multianewarray ldrb tmp1, [jpc, #3] @ zero_extendqisi2 - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread add r1, stack, tmp1, lsl #2 DECACHE_JPC DECACHE_STACK bl _ZN18InterpreterRuntime14multianewarrayEP10JavaThreadPi - ldr r0, [istate, #ISTATE_THREAD] CACHE_JPC - ldr r1, [r0, #THREAD_PENDING_EXC] + ldr r1, [thread, #THREAD_PENDING_EXC] CACHE_CP cmp r1, #0 - ldr r3, [r0, #THREAD_VM_RESULT] + ldr r3, [thread, #THREAD_VM_RESULT] bne handle_exception str r3, [stack, tmp1, asl #2]! - str r1, [r0, #THREAD_VM_RESULT] + str r1, [thread, #THREAD_VM_RESULT] sub stack, stack, #4 DISPATCH 4 Opcode jsr_w ldr r3, [istate, #ISTATE_METHOD] - ldr r1, [r3, #8] + ldr r1, [r3, #METHOD_CONSTMETHOD] rsb r2, r1, jpc - sub r2, r2, #43 + sub r2, r2, #CONSTMETHOD_CODEOFFSET - 5 str r2, [stack], #-4 b do_goto_w @@ -2194,7 +2042,7 @@ bne 1f DECACHE_JPC DECACHE_STACK - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread bl Helper_SafePoint CACHE_JPC CACHE_CP @@ -2207,20 +2055,19 @@ mov r2, jpc DECACHE_STACK DECACHE_JPC - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread ldr r1, [istate, #ISTATE_METHOD] bl _ZN18InterpreterRuntime24get_original_bytecode_atEP10JavaThreadP13methodOopDescPh mov tmp1, r0 - ldr r0, [istate, #ISTATE_THREAD] - ldr r3, [r0, #THREAD_PENDING_EXC] + mov r0, thread + ldr r3, [thread, #THREAD_PENDING_EXC] cmp r3, #0 bne handle_exception ldr r2, [istate, #ISTATE_BCP] ldr r1, [istate, #ISTATE_METHOD] bl _ZN18InterpreterRuntime11_breakpointEP10JavaThreadP13methodOopDescPh - ldr r0, [istate, #ISTATE_THREAD] CACHE_JPC - ldr r3, [r0, #THREAD_PENDING_EXC] + ldr r3, [thread, #THREAD_PENDING_EXC] CACHE_CP cmp r3, #0 and r0, tmp1, #255 @@ -2286,43 +2133,41 @@ beq handle_return DECACHE_JPC DECACHE_STACK - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread bl _ZN18InterpreterRuntime18register_finalizerEP10JavaThreadP7oopDesc - ldr r0, [istate, #ISTATE_THREAD] CACHE_JPC - ldr r3, [r0, #THREAD_PENDING_EXC] + ldr r3, [thread, #THREAD_PENDING_EXC] @ CACHE_LOCALS & CACHE_CP not require for handle_retuen / handle_exception cmp r3, #0 beq handle_return b handle_exception - ALIGN_CODE + SLOW_ENTRY normal_entry_synchronized: stmfd arm_sp!, {regset, lr} + mov thread, r2 + ldr r7, [thread, #THREAD_STACK_SIZE] + ldr r3, [thread, #THREAD_STACK_BASE] + rsb r3, r7, r3 + rsb r3, r3, arm_sp + cmp r3, #32768 + blt stack_overflow_no_frame bl fast_normal_entry_synchronized ldmfd arm_sp!, {regset, pc} - ALIGN_CODE + FAST_ENTRY fast_normal_entry_synchronized: stmfd arm_sp!, {fast_regset, lr} - mov sl, r0 - mov tmp1, r2 - - ldr r0, [tmp1, #THREAD_STACK_SIZE] - ldr r3, [tmp1, #THREAD_STACK_BASE] - rsb r3, r0, r3 - rsb r3, r3, arm_sp - cmp r3, #32768 - blt stack_overflow_before_frame + mov tmp1, r0 - ldrh r2, [sl, #METHOD_MAXLOCALS] - ldrh r3, [sl, #METHOD_SIZEOFPARAMETERS] + ldrh r2, [tmp1, #METHOD_MAXLOCALS] + ldrh r3, [tmp1, #METHOD_SIZEOFPARAMETERS] rsb r8, r3, r2 - ldr r1, [tmp1, #THREAD_JAVA_SP] - ldrh r0, [sl, #METHOD_MAXSTACK] - ldr r3, [tmp1, #THREAD_JAVA_STACK_BASE] + ldr r1, [thread, #THREAD_JAVA_SP] + ldrh r0, [tmp1, #METHOD_MAXSTACK] + ldr r3, [thread, #THREAD_JAVA_STACK_BASE] sub r5, r1, r8, lsl #2 sub r5, r5, #FRAME_SIZE+STACK_SPARE+LEAF_STACK_SIZE @@ -2338,24 +2183,21 @@ subs r8, r8, #1 str r2, [r1, #-4]! bgt .zero_locals_synchronized - str r1, [tmp1, #THREAD_JAVA_SP] + str r1, [thread, #THREAD_JAVA_SP] .normal_entry_synchronized_no_locals: - mov r2, tmp1 - mov r1, sl - add r0, tmp1, #THREAD_JAVA_STACK_BASE + mov r2, thread + mov r1, tmp1 + add r0, thread, #THREAD_JAVA_STACK_BASE bl build_frame - mov tmp_vvv, r0 - ldr r3, [tmp1, #THREAD_TOP_ZERO_FRAME] - sub r0, r0, #72 - mov istate, r0 - str r3, [tmp_vvv, #0] + sub istate, r0, #ISTATE_NEXT_FRAME + ldr r3, [thread, #THREAD_TOP_ZERO_FRAME] + str r0, [thread, #THREAD_TOP_ZERO_FRAME] + str r0, [thread, #THREAD_LAST_JAVA_SP] + str r3, [istate, #ISTATE_NEXT_FRAME] adrl ip, dispatch_init_adcon ldm ip, {r0, r1} add r0, r0, ip - str tmp_vvv, [tmp1, #THREAD_TOP_ZERO_FRAME] -@ CACHE_JPC - str tmp_vvv, [tmp1, #THREAD_LAST_JAVA_SP] add dispatch, r1, r0 ldr r0, [istate, #ISTATE_METHOD] ldr r3, [r0, #METHOD_ACCESSFLAGS] @@ -2367,20 +2209,21 @@ CACHE_LOCALS tst r3, #JVM_ACC_STATIC ldrne r3, [r0, #METHOD_CONSTANTS] - ldreq sl, [locals, #0] - ldrne r2, [r3, #16] - ldr tmp1, [istate, #ISTATE_MONITOR_BASE] - ldrne sl, [r2, #60] - ldr r3, [sl, #0] + ldreq tmp1, [locals, #0] + ldrne r2, [r3, #CONSTANTPOOL_POOL_HOLDER] + ldrne tmp1, [r2, #KLASS_PART+KLASS_JAVA_MIRROR] + ldr r3, [tmp1, #0] orr tmp_xxx, r3, #1 - str tmp_xxx, [tmp1, #-8]! + ldr ip, [istate, #ISTATE_MONITOR_BASE] + str tmp_xxx, [ip, #-8] .normal_do_synchronisation_2: - ldr tmp_vvv, [sl, #0] + ldr tmp_vvv, [tmp1, #0] cmp tmp_xxx, tmp_vvv bne .normal_do_synchronisation_3 mov r0, tmp_xxx - mov r1, tmp1 - mov r2, sl + ldr r1, [istate, #ISTATE_MONITOR_BASE] + sub r1, r1, #8 + mov r2, tmp1 mov r3, #0xffffffc0 bic r3, r3, #0xf000 blx r3 @@ -2388,21 +2231,22 @@ bne .normal_do_synchronisation_2 b 1f .normal_do_synchronisation_3: - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread bic r1, tmp_xxx, #3 bl JavaThread_is_lock_owned cmp r0, #0 beq .normal_do_synchronisation_4 + ldr ip, [istate, #ISTATE_MONITOR_BASE] mov r3, #0 - str r3, [tmp1] + str r3, [ip, #-8] b 1f .normal_do_synchronisation_4: - mov r1, tmp1 + ldr r1, [istate, #ISTATE_MONITOR_BASE] + sub r1, r1, #8 DECACHE_STACK - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread bl _ZN18InterpreterRuntime12monitorenterEP10JavaThreadP15BasicObjectLock - ldr r0, [istate, #ISTATE_THREAD] - ldr r3, [r0, #THREAD_PENDING_EXC] + ldr r3, [thread, #THREAD_PENDING_EXC] cmp r3, #0 mov r2, r0 bne handle_exception_do_not_unlock @@ -2425,15 +2269,15 @@ ldr r3, [r0, #METHOD_CONSTMETHOD] ldrh r3, [r3, #CONSTMETHOD_CODESIZE] mov r1, #0 - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread cmp r3, #MAX_FG_METHOD_SIZE bcc 1f - ldr tmp2, [dispatch, #BackgroundCompilation_Address-XXX] + ldr tmp1, [dispatch, #BackgroundCompilation_Address-XXX] mov r3, #1 - ldr r5, [tmp2] - str r3, [tmp2] + ldr r5, [tmp1] + str r3, [tmp1] bl FREQ_COUNT_OVERFLOW - str r5, [tmp2] + str r5, [tmp1] b 2f 1: bl FREQ_COUNT_OVERFLOW @@ -2465,15 +2309,15 @@ SW_NPC cmp r2, #0 SW_NPC beq null_ptr_exception .abortentry110: - ldr tmp2, [r2, #4] @ rcvr->klass() + ldr tmp1, [r2, #4] @ rcvr->klass() tst r3, #flag_methodInterface bne .invokeinterface_methodInterface ldr lr, [r0, #CP_OFFSET+4] @ lr = iclass - add r1, tmp2, #INSTANCEKLASS_VTABLE_OFFSET - ldr r2, [tmp2, #KLASS_PART+INSTANCEKLASS_VTABLE_LEN] - ldr ip, [tmp2, #KLASS_PART+INSTANCEKLASS_ITABLE_LEN] + add r1, tmp1, #INSTANCEKLASS_VTABLE_OFFSET + ldr r2, [tmp1, #KLASS_PART+INSTANCEKLASS_VTABLE_LEN] + ldr ip, [tmp1, #KLASS_PART+INSTANCEKLASS_ITABLE_LEN] add r2, r2, #1 bic r2, r2, #1 @@ -2490,29 +2334,26 @@ ldr r3, [r0, #CP_OFFSET+8] ldr r2, [r1, #-4] - add r3, tmp2, r3, lsl #2 - ldr tmp2, [r3, r2] - cmp tmp2, #0 + add r3, tmp1, r3, lsl #2 + ldr tmp1, [r3, r2] + cmp tmp1, #0 beq abstractmethod_exception .invokeinterface_invoke: - ldr tmp1, [istate, #ISTATE_THREAD] -@ str tmp2, [istate, #ISTATE_CALLEE] - ldr ip, [tmp2, #METHOD_FROM_INTERPRETED] + ldr ip, [tmp1, #METHOD_FROM_INTERPRETED] mov r1, #0 - str ip, [istate, #36] - str r1, [tmp1, #THREAD_LAST_JAVA_SP] + str r1, [thread, #THREAD_LAST_JAVA_SP] add stack, stack, #4 - str stack, [tmp1, #THREAD_JAVA_SP] + str stack, [thread, #THREAD_JAVA_SP] ldr r3, [ip] - mov r0, tmp2 - mov r1, ip -#ifndef SHARK - add r3, r3, #CODE_ALIGN_SIZE + mov r0, tmp1 +#ifdef SHARK + mov r2, thread +#else + add r3, r3, #FAST_ENTRY_OFFSET #endif - mov r2, tmp1 blx r3 adrl ip, dispatch_init_adcon @@ -2522,18 +2363,17 @@ CACHE_LOCALS - ldr ip, [istate, #ISTATE_THREAD] CACHE_JPC - ldr stack, [ip, #THREAD_JAVA_SP] + ldr stack, [thread, #THREAD_JAVA_SP] ldr r2, [istate, #ISTATE_STACK_LIMIT] sub stack, stack, #4 - ldr r1, [ip, #THREAD_TOP_ZERO_FRAME] + ldr r1, [thread, #THREAD_TOP_ZERO_FRAME] add r2, r2, #4 - str r2, [ip, #THREAD_JAVA_SP] - str r1, [ip, #THREAD_LAST_JAVA_SP] + str r2, [thread, #THREAD_JAVA_SP] + str r1, [thread, #THREAD_LAST_JAVA_SP] DISPATCH_START 5 - ldr r3, [ip, #4] + ldr r3, [thread, #THREAD_PENDING_EXC] DISPATCH_NEXT DISPATCH_NEXT cmp r3, #0 @@ -2545,11 +2385,11 @@ .invokeinterface_methodInterface: tst r3, #flag_vfinalMethod - ldrne tmp2, [r0, #CP_OFFSET+8] + ldrne tmp1, [r0, #CP_OFFSET+8] bne .invokeinterface_invoke ldr r1, [r0, #CP_OFFSET+8] - add r3, tmp2, r1, lsl #2 - ldr tmp2, [r3, #INSTANCEKLASS_VTABLE_OFFSET] + add r3, tmp1, r1, lsl #2 + ldr tmp1, [r3, #INSTANCEKLASS_VTABLE_OFFSET] b .invokeinterface_invoke #ifdef FAST_BYTECODES @@ -2562,7 +2402,6 @@ DECACHE_JPC add r0, r2, asl #4 ldr r3, [r0, #CP_OFFSET+12] - ldr tmp1, [istate, #ISTATE_THREAD] and r1, r3, #255 ldr r2, [stack, r1, asl #2] mov r1, #0 @@ -2571,15 +2410,13 @@ .abortentry117: HW_NPC ldr r3, [r2] @ Only to provoke abort - ldr tmp2, [r0, #CP_OFFSET+8] + ldr tmp1, [r0, #CP_OFFSET+8] -@ str tmp2, [istate, #ISTATE_CALLEE] - ldr ip, [tmp2, #METHOD_FROM_INTERPRETED] - str r1, [tmp1, #THREAD_LAST_JAVA_SP] - str ip, [istate, #36] + ldr ip, [tmp1, #METHOD_FROM_INTERPRETED] + str r1, [thread, #THREAD_LAST_JAVA_SP] add stack, stack, #4 - str stack, [tmp1, #THREAD_JAVA_SP] + str stack, [thread, #THREAD_JAVA_SP] ldr r3, [ip, #0] b normal_dispatch_and_return @@ -2604,20 +2441,19 @@ #else DECACHE_STACK DECACHE_JPC - ldr tmp1, [istate, #ISTATE_THREAD] and r1, r3, #255 ldr r2, [stack, r1, asl #2] mov r1, #0 cmp r2, #0 beq null_ptr_exception - ldr tmp2, [r0, #CP_OFFSET+8] + ldr tmp1, [r0, #CP_OFFSET+8] tst r3, #flag_vfinalMethod bne 1f ldr r3, [r2, #4] - add r3, r3, tmp2, lsl #2 - ldr tmp2, [r3, #INSTANCEKLASS_VTABLE_OFFSET] + add r3, r3, tmp1, lsl #2 + ldr tmp1, [r3, #INSTANCEKLASS_VTABLE_OFFSET] 1: #endif // FAST_BYTECODES @@ -2631,37 +2467,33 @@ DECACHE_JPC add r0, r0, r2, asl #4 ldr r3, [r0, #CP_OFFSET+12] - ldr tmp1, [istate, #ISTATE_THREAD] and r1, r3, #255 ldr r2, [stack, r1, asl #2] mov r1, #0 SW_NPC cmp r2, #0 SW_NPC beq null_ptr_exception_jpc_0 - ldr tmp2, [r0, #CP_OFFSET+8] + ldr tmp1, [r0, #CP_OFFSET+8] .abortentry104: ldr r3, [r2, #4] - add r3, r3, tmp2, lsl #2 - ldr tmp2, [r3, #INSTANCEKLASS_VTABLE_OFFSET] + add r3, r3, tmp1, lsl #2 + ldr tmp1, [r3, #INSTANCEKLASS_VTABLE_OFFSET] #endif // FAST_BYTECODES - -@ str tmp2, [istate, #ISTATE_CALLEE] - ldr ip, [tmp2, #METHOD_FROM_INTERPRETED] - str r1, [tmp1, #THREAD_LAST_JAVA_SP] - str ip, [istate, #36] + ldr ip, [tmp1, #METHOD_FROM_INTERPRETED] + str r1, [thread, #THREAD_LAST_JAVA_SP] add stack, stack, #4 - str stack, [tmp1, #THREAD_JAVA_SP] + str stack, [thread, #THREAD_JAVA_SP] ldr r3, [ip, #0] normal_dispatch_and_return: - mov r0, tmp2 - mov r1, ip -#ifndef SHARK - add r3, r3, #CODE_ALIGN_SIZE + mov r0, tmp1 +#ifdef SHARK + mov r2, thread +#else + add r3, r3, #FAST_ENTRY_OFFSET #endif - mov r2, tmp1 blx r3 adrl ip, dispatch_init_adcon @@ -2671,18 +2503,17 @@ CACHE_LOCALS - ldr ip, [istate, #ISTATE_THREAD] CACHE_JPC - ldr stack, [ip, #THREAD_JAVA_SP] + ldr stack, [thread, #THREAD_JAVA_SP] ldr r2, [istate, #ISTATE_STACK_LIMIT] sub stack, stack, #4 - ldr r1, [ip, #THREAD_TOP_ZERO_FRAME] + ldr r1, [thread, #THREAD_TOP_ZERO_FRAME] add r2, r2, #4 - str r2, [ip, #THREAD_JAVA_SP] - str r1, [ip, #THREAD_LAST_JAVA_SP] + str r2, [thread, #THREAD_JAVA_SP] + str r1, [thread, #THREAD_LAST_JAVA_SP] DISPATCH_START 3 - ldr r3, [ip, #4] + ldr r3, [thread, #THREAD_PENDING_EXC] DISPATCH_NEXT DISPATCH_NEXT cmp r3, #0 @@ -2710,19 +2541,15 @@ DECACHE_JPC FBC add r0, r2, asl #4 - ldr tmp2, [r0, #CP_OFFSET+4] + ldr tmp1, [r0, #CP_OFFSET+4] mov r1, #0 -@ str tmp2, [istate, #ISTATE_CALLEE] - ldr r3, [tmp2, #METHOD_FROM_INTERPRETED] - ldr tmp1, [istate, #ISTATE_THREAD] - str r3, [istate, #36] - str r1, [tmp1, #THREAD_LAST_JAVA_SP] + ldr r3, [tmp1, #METHOD_FROM_INTERPRETED] + str r1, [thread, #THREAD_LAST_JAVA_SP] add stack, stack, #4 - str stack, [tmp1, #THREAD_JAVA_SP] + str stack, [thread, #THREAD_JAVA_SP] - ldr ip, [istate, #36] - ldr r3, [ip, #0] + ldr r3, [r3, #0] b normal_dispatch_and_return @@ -2745,7 +2572,6 @@ FBC add r0, r2, asl #4 ldr r3, [r0, #CP_OFFSET+12] - ldr tmp1, [istate, #ISTATE_THREAD] and r3, r3, #255 ldr r2, [stack, r3, asl #2] mov r1, #0 @@ -2754,54 +2580,49 @@ .abortentry118: HW_NPC ldr r3, [r2] @ Only to provoke abort - ldr tmp2, [r0, #CP_OFFSET+4] + ldr tmp1, [r0, #CP_OFFSET+4] -@ str tmp2, [istate, #ISTATE_CALLEE] - ldr ip, [tmp2, #METHOD_FROM_INTERPRETED] - str r1, [tmp1, #THREAD_LAST_JAVA_SP] - str ip, [istate, #36] + ldr ip, [tmp1, #METHOD_FROM_INTERPRETED] + str r1, [thread, #THREAD_LAST_JAVA_SP] add stack, stack, #4 - str stack, [tmp1, #THREAD_JAVA_SP] + str stack, [thread, #THREAD_JAVA_SP] ldr r3, [ip, #0] b normal_dispatch_and_return - ALIGN_CODE + SLOW_ENTRY normal_entry: stmfd arm_sp!, {regset, lr} - - ldr r7, [r2, #THREAD_STACK_SIZE] - ldr r3, [r2, #THREAD_STACK_BASE] + mov thread, r2 + ldr r7, [thread, #THREAD_STACK_SIZE] + ldr r3, [thread, #THREAD_STACK_BASE] rsb r3, r7, r3 rsb r3, r3, arm_sp cmp r3, #32768 blt stack_overflow_no_frame - bl fast_normal_entry - ldmfd arm_sp!, {regset, pc} - ALIGN_CODE + FAST_ENTRY fast_normal_entry: adrl ip, dispatch_init_adcon - mov tmp2, r0 + mov tmp1, r0 ldm ip, {r0, r1} - mov tmp1, r2 add r0, r0, ip - ldr stack, [tmp1, #THREAD_JAVA_SP] + ldr stack, [thread, #THREAD_JAVA_SP] add dispatch, r1, r0 stmdb arm_sp!, {fast_regset, lr} - ldrh r0, [tmp2, #METHOD_MAXLOCALS] + ldrh r0, [tmp1, #METHOD_MAXLOCALS] mov r1, #0 - ldrh r3, [tmp2, #METHOD_SIZEOFPARAMETERS] + ldrh r3, [tmp1, #METHOD_SIZEOFPARAMETERS] mov ip, #INTERPRETER_FRAME - ldrh r2, [tmp2, #METHOD_MAXSTACK] + ldrh r2, [tmp1, #METHOD_MAXSTACK] sub r7, r0, r3 - ldr r3, [tmp1, #THREAD_JAVA_STACK_BASE] + ldr r3, [thread, #THREAD_JAVA_STACK_BASE] sub r5, stack, r7, lsl #2 sub r5, r5, #FRAME_SIZE+STACK_SPARE+LEAF_STACK_SIZE sub r5, r5, r2, lsl #2 @@ -2818,12 +2639,12 @@ subs r5, r5, #2 bcs 1b 3: - ldr r3, [tmp1, #THREAD_TOP_ZERO_FRAME] + ldr r3, [thread, #THREAD_TOP_ZERO_FRAME] mov lr, #0 sub istate, stack, #FRAME_SIZE sub r2, istate, r2, lsl #2 str lr, [istate, #ISTATE_MSG] - str r2, [tmp1, #THREAD_JAVA_SP] + str r2, [thread, #THREAD_JAVA_SP] sub r5, r2, #4 @ stack limit = istate - stackwords - 4 str r3, [istate, #ISTATE_NEXT_FRAME] str ip, [istate, #ISTATE_FRAME_TYPE] @@ -2835,20 +2656,20 @@ str r1, [istate, #ISTATE_OOP_TEMP] add locals, locals, r0, lsl #2 sub stack, istate, #4 - ldr jpc, [tmp2, #METHOD_CONSTMETHOD] - ldr constpool, [tmp2, #METHOD_CONSTANTS] + ldr jpc, [tmp1, #METHOD_CONSTMETHOD] + ldr constpool, [tmp1, #METHOD_CONSTANTS] add ip, istate, #ISTATE_NEXT_FRAME DISPATCH_START CONSTMETHOD_CODEOFFSET ldr constpool, [constpool, #CONSTANTPOOL_CACHE] - str ip, [tmp1, #THREAD_TOP_ZERO_FRAME] - USEC ldr r3, [r10, #METHOD_INVOCATIONCOUNTER] - str ip, [tmp1, #THREAD_LAST_JAVA_SP] + str ip, [thread, #THREAD_TOP_ZERO_FRAME] + USEC ldr r3, [tmp1, #METHOD_INVOCATIONCOUNTER] + str ip, [thread, #THREAD_LAST_JAVA_SP] DISPATCH_NEXT USEC ldr lr, [dispatch, #InterpreterInvocationLimit_Address-XXX] USEC add r3, r3, #INVOCATIONCOUNTER_COUNTINCREMENT - str tmp1, [istate, #ISTATE_THREAD] + str thread, [istate, #ISTATE_THREAD] USEC ldr lr, [lr] - USEC str r3, [tmp2, #METHOD_INVOCATIONCOUNTER] + USEC str r3, [tmp1, #METHOD_INVOCATIONCOUNTER] str locals, [istate, #ISTATE_LOCALS] USEC cmp r3, lr str constpool, [istate, #ISTATE_CONSTANTS] @@ -2856,27 +2677,27 @@ DISPATCH_NEXT DISPATCH_NEXT DISPATCH_NEXT - str r10, [istate, #ISTATE_METHOD] + str tmp1, [istate, #ISTATE_METHOD] @ mov lr, #0 @ str lr, [istate, #ISTATE_PREV_LINK] @ str lr, [istate, #ISTATE_CALLEE] DISPATCH_FINISH #ifdef USE_COMPILER method_entry_freq_count_overflow: - ldr r3, [r10, #METHOD_CONSTMETHOD] + ldr r3, [tmp1, #METHOD_CONSTMETHOD] DECACHE_JPC ldrh r3, [r3, #CONSTMETHOD_CODESIZE] - str r10, [istate, #ISTATE_METHOD] + str tmp1, [istate, #ISTATE_METHOD] mov r1, #0 - mov r0, tmp1 + mov r0, thread cmp r3, #MAX_FG_METHOD_SIZE bcc 1f - ldr tmp2, [dispatch, #BackgroundCompilation_Address-XXX] + ldr tmp1, [dispatch, #BackgroundCompilation_Address-XXX] mov r3, #1 - ldr r5, [tmp2] - str r3, [tmp2] + ldr r5, [tmp1] + str r3, [tmp1] bl FREQ_COUNT_OVERFLOW - str r5, [tmp2] + str r5, [tmp1] b 2f 1: bl FREQ_COUNT_OVERFLOW @@ -2887,16 +2708,35 @@ CACHE_CP DISPATCH 0 -#ifdef THUMB2EE -#define THUMB2_MAXLOCALS 1000 +#ifdef T2JIT + +#define JAZ_V1 r5 +#define JAZ_V2 r6 +#define JAZ_V3 r7 +#define JAZ_V4 r8 +#define JAZ_V5 r9 +#define JAZ_V6 r11 + +#define JAZ_REGSET JAZ_V1,JAZ_V2,JAZ_V3,JAZ_V4,JAZ_V5,JAZ_V6 +#define JAZ_REGSET_LEN 6 + call_thumb2: - mov ip, r1 - sub r1, locals, #THUMB2_MAXLOCALS * 4 - ldr r2, [istate, #ISTATE_THREAD] - sub r3, locals, #31 * 4 + stmdb sp!, {JAZ_REGSET} + mov ip, #0 +3: + ldrsh r3, [r1], #2 + cmp r3, #-1 + ldrne r3, [locals, -r3, lsl #2] + strne r3, [sp, ip, lsl #2] + add ip, ip, #1 + cmp ip, #JAZ_REGSET_LEN + bne 3b + + ldmia sp!, {JAZ_REGSET} +1: add stack, stack, #4 - bx ip -#endif // THUMB2EE + bx r0 +#endif // T2JIT #endif // USE_COMPILER .global Thumb2_Install @@ -2906,24 +2746,23 @@ bx lr handle_return: - ldr tmp2, [istate, #ISTATE_MONITOR_BASE] @ tmp2 = base + ldr r9, [istate, #ISTATE_MONITOR_BASE] @ r9 = base ldr tmp1, [istate, #ISTATE_STACK_BASE] @ tmp1 = end - ldr tmp_xxx, [istate, #ISTATE_THREAD] - cmp tmp1, tmp2 + cmp tmp1, r9 blcc return_check_monitors mov r3, #0 ldrb lr, [jpc, #0] - ldr r2, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - str r3, [tmp_xxx, #THREAD_LAST_JAVA_SP] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + str r3, [thread, #THREAD_LAST_JAVA_SP] ldr r0, [istate, #ISTATE_METHOD] ldr r3, [r2, #0] ldrh r0, [r0, #40] add r1, r2, #4 - str r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] + str r3, [thread, #THREAD_TOP_ZERO_FRAME] add r1, r1, r0, lsl #2 @@ -2937,28 +2776,28 @@ ldreq r0, [stack, #4] streq r0, [r1, #-4]! - str r1, [tmp_xxx, #THREAD_JAVA_SP] + str r1, [thread, #THREAD_JAVA_SP] ldmfd arm_sp!, {fast_regset, pc} @ ---------------------------------------------------------------------------------------- stack_overflow_no_frame: - mov r0, tmp1 - ldr ip, [r0, #THREAD_TOP_ZERO_FRAME] - str ip, [r0, #THREAD_LAST_JAVA_SP] + mov r0, thread + ldr ip, [thread, #THREAD_TOP_ZERO_FRAME] + str ip, [thread, #THREAD_LAST_JAVA_SP] bl _ZN18InterpreterRuntime24throw_StackOverflowErrorEP10JavaThread ldmfd arm_sp!, {regset, pc} stack_overflow_before_frame: - mov r0, tmp1 - ldr ip, [r0, #THREAD_TOP_ZERO_FRAME] - str ip, [r0, #THREAD_LAST_JAVA_SP] + mov r0, thread + ldr ip, [thread, #THREAD_TOP_ZERO_FRAME] + str ip, [thread, #THREAD_LAST_JAVA_SP] bl _ZN18InterpreterRuntime24throw_StackOverflowErrorEP10JavaThread ldmfd arm_sp!, {fast_regset, pc} handle_exception_do_not_unlock: mov r3, #1 - strb r3, [r2, #THREAD_DO_NOT_UNLOCK] + strb r3, [thread, #THREAD_DO_NOT_UNLOCK] b handle_exception_with_bcp abstractmethod_exception: @@ -2977,7 +2816,7 @@ mov r2, r1 ldr r1, [dispatch, #VmSymbols_symbols_Address-XXX] ldr r1, [r1, r0, lsl #2] - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread bl Helper_Raise b handle_exception_with_bcp null_str: @@ -3009,7 +2848,7 @@ beq 1f mov r0, istate - ldr r1, [istate, #ISTATE_THREAD] + mov r1, thread bl Helper_HandleException cmp r0, #0 beq 1f @@ -3020,34 +2859,33 @@ CACHE_CP DISPATCH 0 1: - ldr tmp2, [istate, #ISTATE_MONITOR_BASE] @ tmp2 = base + ldr r9, [istate, #ISTATE_MONITOR_BASE] @ r9 = base ldr tmp1, [istate, #ISTATE_STACK_BASE] @ tmp1 = end - ldr tmp_xxx, [istate, #ISTATE_THREAD] mov r3, #0 - ldrb r0, [tmp_xxx, #THREAD_DO_NOT_UNLOCK] - strb r3, [tmp_xxx, #THREAD_DO_NOT_UNLOCK] + ldrb r0, [thread, #THREAD_DO_NOT_UNLOCK] + strb r3, [thread, #THREAD_DO_NOT_UNLOCK] cmp r0, #0 bne 2f - cmp tmp1, tmp2 + cmp tmp1, r9 blcc return_check_monitors 2: mov r3, #0 - ldr r2, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] - str r3, [tmp_xxx, #THREAD_LAST_JAVA_SP] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + str r3, [thread, #THREAD_LAST_JAVA_SP] ldr r0, [istate, #ISTATE_METHOD] ldr r3, [r2, #0] ldrh r0, [r0, #40] add r1, r2, #4 - str r3, [tmp_xxx, #THREAD_TOP_ZERO_FRAME] + str r3, [thread, #THREAD_TOP_ZERO_FRAME] add r1, r1, r0, lsl #2 - str r1, [tmp_xxx, #THREAD_JAVA_SP] + str r1, [thread, #THREAD_JAVA_SP] ldmfd arm_sp!, {fast_regset, pc} @@ -3057,15 +2895,15 @@ ldr r2, [istate, #ISTATE_METHOD] ldr r4, [r2, #METHOD_ACCESSFLAGS] tst r4, #1<<5 - subne tmp2, tmp2, #8 - cmp tmp1, tmp2 + subne r9, r9, #8 + cmp tmp1, r9 bcs 2f 1: ldr r3, [tmp1, #4] cmp r3, #0 bne 3f add tmp1, tmp1, #8 - cmp tmp1, tmp2 + cmp tmp1, r9 bcc 1b 2: @@ -3073,48 +2911,57 @@ ldmeqia arm_sp!, {r4, pc} - ldr tmp1, [tmp2, #4] @ base->obj == NULL + ldr tmp1, [r9, #4] @ base->obj == NULL cmp tmp1, #0 beq 4f - ldr r0, [tmp2, #0] @ r0 = header + ldr r0, [r9, #0] @ r0 = header mov r3, #0 cmp r0, #0 - str r3, [tmp2, #4] @ base->obj = NULL + str r3, [r9, #4] @ base->obj = NULL ldmeqia arm_sp!, {r4, pc} mov r1, tmp1 - mov r2, tmp2 + mov r2, r9 bl cmpxchg_ptr - cmp tmp2, r0 + cmp r9, r0 ldmeqia arm_sp!, {r4, pc} - str tmp1, [tmp2, #4] + str tmp1, [r9, #4] - mov r1, tmp2 - ldr r0, [istate, #ISTATE_THREAD] + mov r1, r9 + mov r0, thread bl Helper_synchronized_exit ldmeqia arm_sp!, {r4, pc} 3: - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread bl Helper_RaiseIllegalMonitorException b 2b 4: - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread bl Helper_RaiseIllegalMonitorException ldmia arm_sp!, {r4, pc} - ALIGN_CODE + SLOW_ENTRY accessor_entry: - b slow_accessor_entry + stmfd arm_sp!, {regset, lr} + mov thread, r2 + ldr r7, [thread, #THREAD_STACK_SIZE] + ldr r3, [thread, #THREAD_STACK_BASE] + rsb r3, r7, r3 + rsb r3, r3, arm_sp + cmp r3, #32768 + blt stack_overflow_no_frame + bl fast_accessor_entry + ldmia sp!, {regset, pc} - ALIGN_CODE -slow_accessor_entry: + FAST_ENTRY +fast_accessor_entry: USEC adrl ip, dispatch_init_adcon USEC ldr r3, [ip] USEC add r3, r3, ip @@ -3126,7 +2973,7 @@ USEC add r3, r3, #INVOCATIONCOUNTER_COUNTINCREMENT USEC str r3, [r0, #METHOD_INVOCATIONCOUNTER] USEC cmp r3, ip - USEC bcs normal_entry + USEC bcs fast_normal_entry ldr r1, [r0, #METHOD_CONSTMETHOD] ldrb r3, [r1, #CONSTMETHOD_CODEOFFSET+2] @@ -3137,14 +2984,14 @@ add r1, ip, #CP_OFFSET ldr r3, [r1, r3, lsl #4]! @ r1 = cache, r3 = flags - ldr ip, [r2, #THREAD_JAVA_SP] @ ip == stack + ldr ip, [thread, #THREAD_JAVA_SP] @ ip == stack and r3, r3, #0x00ff0000 cmp r3, #opc_getfield << 16 ldr r3, [ip, #0] - bne normal_entry + bne fast_normal_entry cmp r3, #0 - beq normal_entry + beq fast_normal_entry ldr r0, [r1, #12] ldr r1, [r1, #8] @@ -3155,46 +3002,6 @@ str r0, [ip, #0] bx lr -.fast_accessor_non_w: - bcs .fast_accessor_h - beq .fast_accessor_sb - tst lr, #2 - bne .fast_accessor_dw -.fast_accessor_sh: - DISPATCH_STATE 2 - DISPATCH_NEXT - ldrsh tmp1, [r2, r3] - DISPATCH_NEXT - DISPATCH_NEXT - PUT_STACK 0, tmp1 - DISPATCH_FINISH -.fast_accessor_h: - DISPATCH_STATE 2 - DISPATCH_NEXT - ldrh tmp1, [r2, r3] - DISPATCH_NEXT - DISPATCH_NEXT - PUT_STACK 0, tmp1 - DISPATCH_FINISH -.fast_accessor_sb: - DISPATCH_STATE 2 - DISPATCH_NEXT - ldrsb tmp1, [r2, r3] - DISPATCH_NEXT - DISPATCH_NEXT - PUT_STACK 0, tmp1 - DISPATCH_FINISH -.fast_accessor_dw: - DISPATCH_STATE 2 - add tmp1, r2, r3 - DISPATCH_NEXT - ldm tmp1, {tmp2, tmp1} - DISPATCH_NEXT - PUT_STACK 0, tmp1 - DISPATCH_NEXT - PUSH tmp2 - DISPATCH_FINISH - div_zero_jpc_1: sub jpc, jpc, #1 .lrem_0: @@ -3218,10 +3025,10 @@ array_bound_exception_jpc_0_r3: mov r2, r3 b array_bounds_exception -array_bound_exception_jpc_1_tmp2: +array_bound_exception_jpc_1_tmp1: sub jpc, jpc, #1 -array_bound_exception_jpc_0_tmp2: - mov r2, tmp2 +array_bound_exception_jpc_0_tmp1: + mov r2, tmp1 b array_bounds_exception array_bound_exception_jpc_3: sub jpc, jpc, #1 @@ -3234,7 +3041,7 @@ DECACHE_JPC DECACHE_STACK mov r1, r2 - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread bl Helper_RaiseArrayBoundException b handle_exception_with_bcp @@ -4167,7 +3974,7 @@ #endif // USE_COMPILER -#ifdef THUMB2EE +#ifdef T2JIT bl Thumb2_Initialize #endif @@ -4832,22 +4639,26 @@ .word jrem_31 .word jrem_32 -#ifdef THUMB2EE +#ifdef T2JIT + + .macro LOAD_FRAME + ldr Rframe, [thread, #THREAD_TOP_ZERO_FRAME] + .endm + @ R0 = BCI @ R1 = index -#define Rthread r9 .global Thumb2_invokeinterface_stub Thumb2_invokeinterface_stub: + LOAD_FRAME stmdb sp!, {ip, lr} - ldr ip, [istate, #ISTATE_METHOD] + ldr ip, [Rframe, #FRAME_METHOD] sub stack, stack, #4 - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [Rframe, #FRAME_CONSTANTS] ldr ip, [ip, #METHOD_CONSTMETHOD] - DECACHE_STACK + str stack, [Rframe, #FRAME_STACK] add jpc, ip, r0 - add r0, r2, r1, lsl #4 - DECACHE_JPC + str jpc, [Rframe, #FRAME_BCP] ldr r2, [r0, #CP_OFFSET] and r2, r2, #0x00ff0000 @@ -4859,15 +4670,15 @@ ldr r2, [stack, r2, lsl #2] cmp r2, #0 beq istub_null_ptr_exception - ldr tmp2, [r2, #4] @ rcvr->klass() + ldr tmp1, [r2, #4] @ rcvr->klass() tst r3, #flag_methodInterface bne istub_methodInterface ldr lr, [r0, #CP_OFFSET+4] @ lr = iclass - add r1, tmp2, #INSTANCEKLASS_VTABLE_OFFSET - ldr r2, [tmp2, #KLASS_PART+INSTANCEKLASS_VTABLE_LEN] - ldr ip, [tmp2, #KLASS_PART+INSTANCEKLASS_ITABLE_LEN] + add r1, tmp1, #INSTANCEKLASS_VTABLE_OFFSET + ldr r2, [tmp1, #KLASS_PART+INSTANCEKLASS_VTABLE_LEN] + ldr ip, [tmp1, #KLASS_PART+INSTANCEKLASS_ITABLE_LEN] add r2, r2, #1 bic r2, r2, #1 @@ -4884,68 +4695,67 @@ ldr r3, [r0, #CP_OFFSET+8] ldr r2, [r1, #-4] - add r3, tmp2, r3, lsl #2 - ldr tmp2, [r3, r2] - cmp tmp2, #0 + add r3, tmp1, r3, lsl #2 + ldr tmp1, [r3, r2] + cmp tmp1, #0 beq istub_abstractmethod_exception istub_invoke: - ldr ip, [tmp2, #METHOD_FROM_INTERPRETED] + ldr ip, [tmp1, #METHOD_FROM_INTERPRETED] mov r1, #0 - str ip, [istate, #36] - str r1, [Rthread, #THREAD_LAST_JAVA_SP] + str r1, [thread, #THREAD_LAST_JAVA_SP] add stack, stack, #4 - str stack, [Rthread, #THREAD_JAVA_SP] + str stack, [thread, #THREAD_JAVA_SP] ldr r3, [ip] - mov r0, tmp2 - mov r1, ip -#ifndef SHARK - add r3, r3, #CODE_ALIGN_SIZE + mov r0, tmp1 +#ifdef SHARK + mov r2, thread +#else + add r3, r3, #FAST_ENTRY_OFFSET #endif - mov r2, Rthread blx r3 - ldr Rthread, [istate, #ISTATE_THREAD] + LOAD_FRAME - ldr stack, [Rthread, #THREAD_JAVA_SP] - ldr r2, [istate, #ISTATE_STACK_LIMIT] + ldr stack, [thread, #THREAD_JAVA_SP] + ldr r2, [Rframe, #FRAME_STACK_LIMIT] - ldr r1, [Rthread, #THREAD_TOP_ZERO_FRAME] add r2, r2, #4 - str r2, [Rthread, #THREAD_JAVA_SP] - str r1, [Rthread, #THREAD_LAST_JAVA_SP] - ldr r3, [Rthread, #4] + str r2, [thread, #THREAD_JAVA_SP] + str Rframe, [thread, #THREAD_LAST_JAVA_SP] + ldr r3, [thread, #4] cmp r3, #0 bne istub_exception ldmia sp!, {ip, pc} istub_methodInterface: tst r3, #flag_vfinalMethod - ldrne tmp2, [r0, #CP_OFFSET+8] + ldrne tmp1, [r0, #CP_OFFSET+8] bne istub_invoke ldr r1, [r0, #CP_OFFSET+8] - add r3, tmp2, r1, lsl #2 - ldr tmp2, [r3, #INSTANCEKLASS_VTABLE_OFFSET] + add r3, tmp1, r1, lsl #2 + ldr tmp1, [r3, #INSTANCEKLASS_VTABLE_OFFSET] b istub_invoke istub_resolve: - mov tmp2, r1 + mov tmp1, r1 mov r1, #opc_invokeinterface - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread ldr ip, resolve_invoke_adcon blx ip - ldr r3, [Rthread, #4] - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r3, [thread, #4] + ldr r2, [Rframe, #FRAME_CONSTANTS] cmp r3, #0 bne istub_exception - add r0, r2, tmp2, lsl #4 @ r1 = cache + add r0, r2, tmp1, lsl #4 @ r1 = cache b 2b istub_exception: ldmia sp!, {ip, lr} ldr ip, handle_exception_adcon + LOAD_ISTATE bx ip istub_null_ptr_exception: @@ -4957,9 +4767,10 @@ istub_incompatibleclass_exception: mov r0, #VMSYMBOLS_IncompatibleClassChangeError 3: - CACHE_JPC + ldr jpc, [Rframe, #FRAME_BCP] ldmia sp!, {ip, lr} ldr ip, raise_exception_adcon + LOAD_ISTATE bx ip resolve_invoke_adcon: @@ -4972,21 +4783,23 @@ .word raise_exception helper_aputfield_adcon: .word Helper_aputfield +lr_to_bci_adcon: + .word Thumb2_lr_to_bci @ R0 = BCI @ R1 = index .global Thumb2_invokevirtual_stub Thumb2_invokevirtual_stub: + LOAD_FRAME stmdb sp!, {ip, lr} - ldr ip, [istate, #ISTATE_METHOD] + ldr ip, [Rframe, #FRAME_METHOD] sub stack, stack, #4 - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [Rframe, #FRAME_CONSTANTS] ldr ip, [ip, #METHOD_CONSTMETHOD] - DECACHE_STACK + str stack, [Rframe, #FRAME_STACK] add jpc, ip, r0 - add r0, r2, r1, lsl #4 - DECACHE_JPC + str jpc, [Rframe, #FRAME_BCP] ldr r2, [r0, #CP_OFFSET] and r2, r2, #0xff000000 @@ -5000,139 +4813,285 @@ cmp r2, #0 beq istub_null_ptr_exception - ldr tmp2, [r0, #CP_OFFSET+8] + ldr tmp1, [r0, #CP_OFFSET+8] tst r3, #flag_vfinalMethod bne 1f ldr r3, [r2, #4] - add r3, r3, tmp2, lsl #2 - ldr tmp2, [r3, #INSTANCEKLASS_VTABLE_OFFSET] + add r3, r3, tmp1, lsl #2 + ldr tmp1, [r3, #INSTANCEKLASS_VTABLE_OFFSET] 1: mov r1, #0 - ldr ip, [tmp2, #METHOD_FROM_INTERPRETED] - str r1, [Rthread, #THREAD_LAST_JAVA_SP] - str ip, [istate, #36] + ldr ip, [tmp1, #METHOD_FROM_INTERPRETED] + str r1, [thread, #THREAD_LAST_JAVA_SP] add stack, stack, #4 - str stack, [Rthread, #THREAD_JAVA_SP] + str stack, [thread, #THREAD_JAVA_SP] ldr r3, [ip, #0] - mov r0, tmp2 - mov r1, ip -#ifndef SHARK - add r3, r3, #CODE_ALIGN_SIZE + mov r0, tmp1 +#ifdef SHARK + mov r2, thread +#else + add r3, r3, #FAST_ENTRY_OFFSET #endif - mov r2, Rthread blx r3 + LOAD_FRAME - ldr Rthread, [istate, #ISTATE_THREAD] - - ldr stack, [Rthread, #THREAD_JAVA_SP] - ldr r2, [istate, #ISTATE_STACK_LIMIT] + ldr stack, [thread, #THREAD_JAVA_SP] + ldr r2, [Rframe, #FRAME_STACK_LIMIT] - ldr r1, [Rthread, #THREAD_TOP_ZERO_FRAME] + ldr r1, [thread, #THREAD_TOP_ZERO_FRAME] add r2, r2, #4 - str r2, [Rthread, #THREAD_JAVA_SP] - str r1, [Rthread, #THREAD_LAST_JAVA_SP] - ldr r3, [Rthread, #4] + str r2, [thread, #THREAD_JAVA_SP] + str r1, [thread, #THREAD_LAST_JAVA_SP] + ldr r3, [thread, #4] cmp r3, #0 bne istub_exception ldmia sp!, {ip, pc} ivstub_resolve: - mov tmp2, r1 + mov tmp1, r1 mov r1, #opc_invokevirtual - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread ldr ip, resolve_invoke_adcon blx ip - ldr r3, [Rthread, #4] - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r3, [thread, #4] + ldr r2, [Rframe, #FRAME_CONSTANTS] cmp r3, #0 bne istub_exception - add r0, r2, tmp2, lsl #4 @ r1 = cache + add r0, r2, tmp1, lsl #4 @ r1 = cache b 2b @ R0 = BCI @ R1 = index + .global Thumb2_invokevfinalresolved_stub +Thumb2_invokevfinalresolved_stub: + LOAD_FRAME + stmdb sp!, {ip, lr} + ldr ip, [Rframe, #FRAME_METHOD] + sub stack, stack, #4 + ldr r2, [Rframe, #FRAME_CONSTANTS] + ldr ip, [ip, #METHOD_CONSTMETHOD] + DECACHE_STACK_USING_FRAME + add jpc, ip, r0 + + add r0, r2, r1, lsl #4 + DECACHE_JPC_USING_FRAME + ldr r3, [r0, #CP_OFFSET+12] + and r2, r3, #255 + ldr r2, [stack, r2, asl #2] + cmp r2, #0 + beq istub_null_ptr_exception + + ldr tmp1, [r0, #CP_OFFSET+8] + mov r1, #0 + ldr ip, [tmp1, #METHOD_FROM_INTERPRETED] + str r1, [thread, #THREAD_LAST_JAVA_SP] + + add stack, stack, #4 + str stack, [thread, #THREAD_JAVA_SP] + + ldr r3, [ip, #0] + + mov r0, tmp1 +#ifdef SHARK + mov r2, thread +#else + add r3, r3, #FAST_ENTRY_OFFSET +#endif + blx r3 + LOAD_FRAME + + ldr stack, [thread, #THREAD_JAVA_SP] + ldr r2, [Rframe, #FRAME_STACK_LIMIT] + + add r2, r2, #4 + str r2, [thread, #THREAD_JAVA_SP] + str Rframe, [thread, #THREAD_LAST_JAVA_SP] + ldr r3, [thread, #4] + cmp r3, #0 + bne istub_exception + ldmia sp!, {ip, pc} + +@ R0 = BCI +@ R1 = index + .global Thumb2_invokevirtualresolved_stub +Thumb2_invokevirtualresolved_stub: + LOAD_FRAME + stmdb sp!, {ip, lr} + ldr ip, [Rframe, #FRAME_METHOD] + sub stack, stack, #4 + ldr r2, [Rframe, #FRAME_CONSTANTS] + ldr ip, [ip, #METHOD_CONSTMETHOD] + DECACHE_STACK_USING_FRAME + add jpc, ip, r0 + + add r0, r2, r1, lsl #4 + DECACHE_JPC_USING_FRAME + + ldr r3, [r0, #CP_OFFSET+12] + and r2, r3, #255 + ldr r2, [stack, r2, asl #2] + cmp r2, #0 + beq istub_null_ptr_exception + + ldr tmp1, [r0, #CP_OFFSET+8] + ldr r3, [r2, #4] + add r3, r3, tmp1, lsl #2 + ldr tmp1, [r3, #INSTANCEKLASS_VTABLE_OFFSET] + mov r1, #0 + ldr ip, [tmp1, #METHOD_FROM_INTERPRETED] + str r1, [thread, #THREAD_LAST_JAVA_SP] + + add stack, stack, #4 + str stack, [thread, #THREAD_JAVA_SP] + + ldr r3, [ip, #0] + + mov r0, tmp1 +#ifdef SHARK + mov r2, thread +#else + add r3, r3, #FAST_ENTRY_OFFSET +#endif + blx r3 + LOAD_FRAME + + ldr stack, [thread, #THREAD_JAVA_SP] + ldr r2, [Rframe, #FRAME_STACK_LIMIT] + + add r2, r2, #4 + str r2, [thread, #THREAD_JAVA_SP] + str Rframe, [thread, #THREAD_LAST_JAVA_SP] + ldr r3, [thread, #4] + cmp r3, #0 + bne istub_exception + ldmia sp!, {ip, pc} + +@ R0 = BCI +@ R1 = index .global Thumb2_invokestatic_stub Thumb2_invokestatic_stub: + LOAD_FRAME stmdb sp!, {ip, lr} - ldr ip, [istate, #ISTATE_METHOD] + ldr ip, [Rframe, #FRAME_METHOD] sub stack, stack, #4 - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [Rframe, #FRAME_CONSTANTS] ldr ip, [ip, #METHOD_CONSTMETHOD] - DECACHE_STACK + DECACHE_STACK_USING_FRAME add jpc, ip, r0 add r0, r2, r1, lsl #4 - DECACHE_JPC + DECACHE_JPC_USING_FRAME ldr r2, [r0, #CP_OFFSET] and r2, r2, #0x00ff0000 cmp r2, #opc_invokestatic << 16 bne isstub_resolve 2: - ldr tmp2, [r0, #CP_OFFSET+4] + ldr tmp1, [r0, #CP_OFFSET+4] mov r1, #0 - ldr ip, [tmp2, #METHOD_FROM_INTERPRETED] - str r1, [Rthread, #THREAD_LAST_JAVA_SP] - str ip, [istate, #36] + ldr ip, [tmp1, #METHOD_FROM_INTERPRETED] + str r1, [thread, #THREAD_LAST_JAVA_SP] add stack, stack, #4 - str stack, [Rthread, #THREAD_JAVA_SP] + str stack, [thread, #THREAD_JAVA_SP] ldr r3, [ip, #0] - mov r0, tmp2 - mov r1, ip -#ifndef SHARK - add r3, r3, #CODE_ALIGN_SIZE + mov r0, tmp1 +#ifdef SHARK + mov r2, thread +#else + add r3, r3, #FAST_ENTRY_OFFSET #endif - mov r2, Rthread blx r3 + LOAD_FRAME - ldr Rthread, [istate, #ISTATE_THREAD] - - ldr stack, [Rthread, #THREAD_JAVA_SP] - ldr r2, [istate, #ISTATE_STACK_LIMIT] + ldr stack, [thread, #THREAD_JAVA_SP] + ldr r2, [Rframe, #FRAME_STACK_LIMIT] - ldr r1, [Rthread, #THREAD_TOP_ZERO_FRAME] add r2, r2, #4 - str r2, [Rthread, #THREAD_JAVA_SP] - str r1, [Rthread, #THREAD_LAST_JAVA_SP] - ldr r3, [Rthread, #4] + str r2, [thread, #THREAD_JAVA_SP] + str Rframe, [thread, #THREAD_LAST_JAVA_SP] + ldr r3, [thread, #4] cmp r3, #0 bne istub_exception ldmia sp!, {ip, pc} isstub_resolve: - mov tmp2, r1 + mov tmp1, r1 mov r1, #opc_invokestatic - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread ldr ip, resolve_invoke_adcon blx ip - ldr r3, [Rthread, #4] - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r3, [thread, #4] + ldr r2, [Rframe, #FRAME_CONSTANTS] cmp r3, #0 bne istub_exception - add r0, r2, tmp2, lsl #4 @ r1 = cache + add r0, r2, tmp1, lsl #4 @ r1 = cache b 2b @ R0 = BCI @ R1 = index + .global Thumb2_invokestaticresolved_stub +Thumb2_invokestaticresolved_stub: + LOAD_FRAME + stmdb sp!, {ip, lr} + ldr ip, [Rframe, #FRAME_METHOD] + sub stack, stack, #4 + ldr r2, [Rframe, #FRAME_CONSTANTS] + ldr ip, [ip, #METHOD_CONSTMETHOD] + DECACHE_STACK_USING_FRAME + add jpc, ip, r0 + add r0, r2, r1, lsl #4 + DECACHE_JPC_USING_FRAME + ldr tmp1, [r0, #CP_OFFSET+4] + mov r1, #0 + ldr ip, [tmp1, #METHOD_FROM_INTERPRETED] + str r1, [thread, #THREAD_LAST_JAVA_SP] + + add stack, stack, #4 + str stack, [thread, #THREAD_JAVA_SP] + ldr r3, [ip, #0] + + mov r0, tmp1 +#ifdef SHARK + mov r2, thread +#else + add r3, r3, #FAST_ENTRY_OFFSET +#endif + blx r3 + LOAD_FRAME + + ldr stack, [thread, #THREAD_JAVA_SP] + ldr r2, [Rframe, #FRAME_STACK_LIMIT] + + add r2, r2, #4 + str r2, [thread, #THREAD_JAVA_SP] + str Rframe, [thread, #THREAD_LAST_JAVA_SP] + ldr r3, [thread, #4] + cmp r3, #0 + bne istub_exception + ldmia sp!, {ip, pc} + +@ R0 = BCI +@ R1 = index .global Thumb2_invokespecial_stub Thumb2_invokespecial_stub: + LOAD_FRAME stmdb sp!, {ip, lr} - ldr ip, [istate, #ISTATE_METHOD] + ldr ip, [Rframe, #FRAME_METHOD] sub stack, stack, #4 - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [Rframe, #FRAME_CONSTANTS] ldr ip, [ip, #METHOD_CONSTMETHOD] - DECACHE_STACK + DECACHE_STACK_USING_FRAME add jpc, ip, r0 add r0, r2, r1, lsl #4 - DECACHE_JPC + DECACHE_JPC_USING_FRAME ldr r2, [r0, #CP_OFFSET] and r2, r2, #0x00ff0000 @@ -5145,57 +5104,106 @@ cmp r2, #0 beq istub_null_ptr_exception - ldr tmp2, [r0, #CP_OFFSET+4] + ldr tmp1, [r0, #CP_OFFSET+4] mov r1, #0 - ldr ip, [tmp2, #METHOD_FROM_INTERPRETED] - str r1, [Rthread, #THREAD_LAST_JAVA_SP] - str ip, [istate, #36] + ldr ip, [tmp1, #METHOD_FROM_INTERPRETED] + str r1, [thread, #THREAD_LAST_JAVA_SP] add stack, stack, #4 - str stack, [Rthread, #THREAD_JAVA_SP] + str stack, [thread, #THREAD_JAVA_SP] ldr r3, [ip, #0] - mov r0, tmp2 - mov r1, ip -#ifndef SHARK - add r3, r3, #CODE_ALIGN_SIZE + mov r0, tmp1 +#ifdef SHARK + mov r2, thread +#else + add r3, r3, #FAST_ENTRY_OFFSET #endif - mov r2, Rthread blx r3 + LOAD_FRAME - ldr Rthread, [istate, #ISTATE_THREAD] - - ldr stack, [Rthread, #THREAD_JAVA_SP] - ldr r2, [istate, #ISTATE_STACK_LIMIT] + ldr stack, [thread, #THREAD_JAVA_SP] + ldr r2, [Rframe, #FRAME_STACK_LIMIT] - ldr r1, [Rthread, #THREAD_TOP_ZERO_FRAME] add r2, r2, #4 - str r2, [Rthread, #THREAD_JAVA_SP] - str r1, [Rthread, #THREAD_LAST_JAVA_SP] - ldr r3, [Rthread, #4] + str r2, [thread, #THREAD_JAVA_SP] + str Rframe, [thread, #THREAD_LAST_JAVA_SP] + ldr r3, [thread, #4] cmp r3, #0 bne istub_exception ldmia sp!, {ip, pc} ispstub_resolve: - mov tmp2, r1 + mov tmp1, r1 mov r1, #opc_invokespecial - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread ldr ip, resolve_invoke_adcon blx ip - ldr r3, [Rthread, #4] - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r3, [thread, #4] + ldr r2, [Rframe, #FRAME_CONSTANTS] cmp r3, #0 bne istub_exception - add r0, r2, tmp2, lsl #4 @ r1 = cache + add r0, r2, tmp1, lsl #4 @ r1 = cache b 2b @ R0 = BCI @ R1 = index + .global Thumb2_invokespecialresolved_stub +Thumb2_invokespecialresolved_stub: + LOAD_FRAME + stmdb sp!, {ip, lr} + ldr ip, [Rframe, #FRAME_METHOD] + sub stack, stack, #4 + ldr r2, [Rframe, #FRAME_CONSTANTS] + ldr ip, [ip, #METHOD_CONSTMETHOD] + DECACHE_STACK_USING_FRAME + add jpc, ip, r0 + + add r0, r2, r1, lsl #4 + DECACHE_JPC_USING_FRAME + ldr r3, [r0, #CP_OFFSET+12] + and r3, r3, #255 + ldr r2, [stack, r3, asl #2] + cmp r2, #0 + beq istub_null_ptr_exception + + ldr tmp1, [r0, #CP_OFFSET+4] + mov r1, #0 + ldr ip, [tmp1, #METHOD_FROM_INTERPRETED] + str r1, [thread, #THREAD_LAST_JAVA_SP] + + add stack, stack, #4 + str stack, [thread, #THREAD_JAVA_SP] + + ldr r3, [ip, #0] + + mov r0, tmp1 +#ifdef SHARK + mov r2, thread +#else + add r3, r3, #FAST_ENTRY_OFFSET +#endif + blx r3 + LOAD_FRAME + + ldr stack, [thread, #THREAD_JAVA_SP] + ldr r2, [Rframe, #FRAME_STACK_LIMIT] + + add r2, r2, #4 + str r2, [thread, #THREAD_JAVA_SP] + str Rframe, [thread, #THREAD_LAST_JAVA_SP] + ldr r3, [thread, #4] + cmp r3, #0 + bne istub_exception + ldmia sp!, {ip, pc} + +@ R0 = BCI +@ R1 = index .global Thumb2_getfield_word_stub Thumb2_getfield_word_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0x00ff0000 @@ -5220,7 +5228,8 @@ @ R1 = index .global Thumb2_getfield_sh_stub Thumb2_getfield_sh_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0x00ff0000 @@ -5245,7 +5254,8 @@ @ R1 = index .global Thumb2_getfield_h_stub Thumb2_getfield_h_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0x00ff0000 @@ -5270,7 +5280,8 @@ @ R1 = index .global Thumb2_getfield_sb_stub Thumb2_getfield_sb_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0x00ff0000 @@ -5295,7 +5306,8 @@ @ R1 = index .global Thumb2_getfield_dw_stub Thumb2_getfield_dw_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0x00ff0000 @@ -5331,41 +5343,58 @@ mov r2, #opc_getfield field_stub_unresolved: stmdb sp!, {r0, r1, ip, lr} - ldr ip, [istate, #ISTATE_METHOD] + ldr lr, [thread, #THREAD_TOP_ZERO_FRAME] + ldr ip, [lr, #FRAME_METHOD] sub r3, stack, #4 ldr ip, [ip, #METHOD_CONSTMETHOD] - str r3, [istate, #ISTATE_STACK] @ DECACHE_STACK + str r3, [lr, #FRAME_STACK] @ DECACHE_STACK add r3, ip, r0 - str r3, [istate, #ISTATE_BCP] @ DECACHE_JPC + str r3, [lr, #FRAME_BCP] @ DECACHE_JPC ldr ip, resolve_get_put_adcon mov r1, r2 - ldr r0, [istate, #ISTATE_THREAD] + mov r0, thread blx ip ldmia sp!, {r0, r1, ip, lr} - ldr r3, [Rthread, #4] - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r3, [thread, #4] + ldr r2, [r2, #FRAME_CONSTANTS] cmp r3, #0 bne field_exception add r2, r2, r1, lsl #4 bx lr field_null_ptr_exception: - ldr ip, [istate, #ISTATE_METHOD] - ldr ip, [ip, #METHOD_CONSTMETHOD] + stmdb sp!, {JAZ_REGSET} + ldr ip, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r1, [ip, #FRAME_METHOD] + ldr r3, [ip, #FRAME_LOCALS] + ldr ip, [r1, #METHOD_CONSTMETHOD] add jpc, ip, r0 mov r0, #VMSYMBOLS_NullPointerException + bic r0, lr, #TBIT + mov r2, sp + +@ We already have BCI, so just call lr_to_bci to save the locals +@ The result value is ignored + ldr ip, lr_to_bci_adcon + blx ip + + add sp, sp, #JAZ_REGSET_LEN * 4 ldr ip, raise_exception_adcon + LOAD_ISTATE bx ip field_exception: ldr ip, handle_exception_adcon + LOAD_ISTATE bx ip @ R0 = BCI @ R1 = index .global Thumb2_putfield_word_stub Thumb2_putfield_word_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0xff000000 @@ -5387,7 +5416,8 @@ .global Thumb2_putfield_h_stub Thumb2_putfield_h_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0xff000000 @@ -5409,7 +5439,8 @@ .global Thumb2_putfield_b_stub Thumb2_putfield_b_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0xff000000 @@ -5431,7 +5462,8 @@ .global Thumb2_putfield_a_stub Thumb2_putfield_a_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0xff000000 @@ -5455,7 +5487,8 @@ .global Thumb2_putfield_dw_stub Thumb2_putfield_dw_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0xff000000 @@ -5479,7 +5512,8 @@ @ R1 = index .global Thumb2_getstatic_word_stub Thumb2_getstatic_word_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0x00ff0000 @@ -5500,7 +5534,8 @@ .global Thumb2_getstatic_h_stub Thumb2_getstatic_h_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0x00ff0000 @@ -5521,7 +5556,8 @@ .global Thumb2_getstatic_sh_stub Thumb2_getstatic_sh_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0x00ff0000 @@ -5542,7 +5578,8 @@ .global Thumb2_getstatic_sb_stub Thumb2_getstatic_sb_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0x00ff0000 @@ -5563,7 +5600,8 @@ .global Thumb2_getstatic_dw_stub Thumb2_getstatic_dw_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0x00ff0000 @@ -5586,7 +5624,8 @@ @ R1 = index .global Thumb2_putstatic_word_stub Thumb2_putstatic_word_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0xff000000 @@ -5609,7 +5648,8 @@ @ R1 = index .global Thumb2_putstatic_h_stub Thumb2_putstatic_h_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0xff000000 @@ -5632,7 +5672,8 @@ @ R1 = index .global Thumb2_putstatic_b_stub Thumb2_putstatic_b_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0xff000000 @@ -5655,7 +5696,8 @@ @ R1 = index .global Thumb2_putstatic_dw_stub Thumb2_putstatic_dw_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0xff000000 @@ -5678,7 +5720,8 @@ @ R1 = index .global Thumb2_putstatic_a_stub Thumb2_putstatic_a_stub: - ldr r2, [istate, #ISTATE_CONSTANTS] + ldr r2, [thread, #THREAD_TOP_ZERO_FRAME] + ldr r2, [r2, #FRAME_CONSTANTS] add r2, r2, r1, lsl #4 ldr r3, [r2, #CP_OFFSET] and r3, r3, #0xff000000 @@ -5699,7 +5742,7 @@ mov lr, ip b 2b -#endif // THUMB2EE +#endif // T2JIT .global Thumb2_stubs_end Thumb2_stubs_end: @@ -6159,20 +6202,9 @@ dc_18: .word 0x38e38e39 -#define TBIT 1 - .global Thumb2_DivZero_Handler Thumb2_DivZero_Handler: -#ifdef THUMB2EE - -#define JAZ_V1 r5 -#define JAZ_V2 r6 -#define JAZ_V3 r7 -#define JAZ_V4 r10 -#define JAZ_V5 r11 - -#define JAZ_REGSET JAZ_V1,JAZ_V2,JAZ_V3,JAZ_V4,JAZ_V5,ip -#define JAZ_REGSET_LEN 6 +#ifdef T2JIT adrl r0, idiv_clz_ret cmp r0, lr @@ -6180,22 +6212,24 @@ cmpne r0, lr beq divide_by_zero_exception stmdb sp!, {JAZ_REGSET} + LOAD_FRAME bic r0, lr, #TBIT - ldr r1, [istate, #ISTATE_METHOD] + ldr r1, [Rframe, #FRAME_METHOD] ldr jpc, [r1, #METHOD_CONSTMETHOD] add jpc, jpc, #CONSTMETHOD_CODEOFFSET mov r2, sp - ldr r3, [istate, #ISTATE_LOCALS] + ldr r3, [Rframe, #FRAME_LOCALS] bl Thumb2_lr_to_bci add sp, sp, #JAZ_REGSET_LEN * 4 cmp r0, #-1 moveq jpc, #0 addne jpc, jpc, r0 bl load_dispatch -#endif // THUMB2EE + LOAD_ISTATE +#endif // T2JIT b divide_by_zero_exception -#ifdef THUMB2EE +#ifdef T2JIT .global Thumb2_Handle_Exception .global Thumb2_Handle_Exception_NoRegs @@ -6204,12 +6238,13 @@ .global Thumb2_Stack_Overflow Thumb2_ArrayBounds_Handler: stmdb sp!, {JAZ_REGSET} + LOAD_FRAME bic r0, lr, #TBIT - ldr r1, [istate, #ISTATE_METHOD] + ldr r1, [Rframe, #FRAME_METHOD] ldr jpc, [r1, #METHOD_CONSTMETHOD] add jpc, jpc, #CONSTMETHOD_CODEOFFSET mov r2, sp - ldr r3, [istate, #ISTATE_LOCALS] + ldr r3, [Rframe, #FRAME_LOCALS] bl Thumb2_lr_to_bci add sp, sp, #JAZ_REGSET_LEN * 4 cmp r0, #-1 @@ -6217,25 +6252,32 @@ addne jpc, jpc, r0 bl load_dispatch mov r0, #VMSYMBOLS_ArrayIndexOutOfBounds + LOAD_ISTATE b raise_exception Thumb2_Handle_Exception: stmdb sp!, {JAZ_REGSET} + LOAD_FRAME bic r0, lr, #TBIT - ldr r1, [istate, #ISTATE_METHOD] + ldr r1, [Rframe, #FRAME_METHOD] ldr jpc, [r1, #METHOD_CONSTMETHOD] add jpc, jpc, #CONSTMETHOD_CODEOFFSET mov r2, sp - ldr r3, [istate, #ISTATE_LOCALS] + ldr r3, [Rframe, #FRAME_LOCALS] bl Thumb2_lr_to_bci add sp, sp, #JAZ_REGSET_LEN * 4 cmp r0, #-1 moveq jpc, #0 addne jpc, jpc, r0 bl load_dispatch + LOAD_ISTATE b handle_exception Thumb2_Handle_Exception_NoRegs: + LOAD_FRAME + ldr r0, [Rframe, #FRAME_STACK_LIMIT] + add r0, r0, #4 + str r0, [thread, #THREAD_JAVA_SP] bic r0, lr, #TBIT - ldr r1, [istate, #ISTATE_METHOD] + ldr r1, [Rframe, #FRAME_METHOD] ldr jpc, [r1, #METHOD_CONSTMETHOD] add jpc, jpc, #CONSTMETHOD_CODEOFFSET mov r2, #0 @@ -6244,38 +6286,58 @@ moveq jpc, #0 addne jpc, jpc, r0 bl load_dispatch + LOAD_ISTATE b handle_exception Thumb2_NullPtr_Handler: stmdb sp!, {JAZ_REGSET} + LOAD_FRAME bic r0, lr, #TBIT - ldr r1, [istate, #ISTATE_METHOD] + ldr r1, [Rframe, #FRAME_METHOD] ldr jpc, [r1, #METHOD_CONSTMETHOD] add jpc, jpc, #CONSTMETHOD_CODEOFFSET mov r2, sp - ldr r3, [istate, #ISTATE_LOCALS] + ldr r3, [Rframe, #FRAME_LOCALS] bl Thumb2_lr_to_bci add sp, sp, #JAZ_REGSET_LEN * 4 cmp r0, #-1 moveq jpc, #0 addne jpc, jpc, r0 bl load_dispatch + LOAD_ISTATE b null_ptr_exception Thumb2_Stack_Overflow: - mov r0, r2 - ldr ip, [r0, #THREAD_TOP_ZERO_FRAME] - str ip, [r0, #THREAD_LAST_JAVA_SP] + mov r0, thread + ldr ip, [thread, #THREAD_TOP_ZERO_FRAME] + str ip, [thread, #THREAD_LAST_JAVA_SP] bl _ZN18InterpreterRuntime24throw_StackOverflowErrorEP10JavaThread ldmfd arm_sp!, {fast_regset, pc} .global Thumb2_Exit_To_Interpreter Thumb2_Exit_To_Interpreter: + LOAD_ISTATE bl load_dispatch sub stack, stack, #4 CACHE_CP CACHE_LOCALS DISPATCH 0 + .global Thumb2_monitorenter +Thumb2_monitorenter: + stmdb sp!, {ip, lr} + sub stack, stack, #4 + mov r0, r8 + POP r1 + DECACHE_JPC + DECACHE_STACK + bl Helper_monitorenter + CACHE_STACK @ monitorenter may expand stack!!! + ldmia sp!, {ip, lr} + cmp r0, #0 + bne handle_exception + add stack, stack, #4 + bx lr + .global Thumb2_Clear_Cache Thumb2_Clear_Cache: stmdb sp!, {r7} @@ -6286,7 +6348,7 @@ ldmia sp!, {r7} bx lr -#endif // THUMB2EE +#endif // T2JIT .section .init_array,"aw",%init_array .word bci_init(target1) From ed at camswl.com Thu Mar 11 03:25:38 2010 From: ed at camswl.com (ed at camswl.com) Date: Thu, 11 Mar 2010 11:25:38 GMT Subject: RTC Thumb2 JIT enhancements (diffs part 4) Message-ID: <201003111125.o2BBPcY4010915@mint.camswl.com> diff -ruNE old/icedtea6/ports/hotspot/src/cpu/zero/vm/thumb2.cpp new2/icedtea6/ports/hotspot/src/cpu/zero/vm/thumb2.cpp --- old/icedtea6/ports/hotspot/src/cpu/zero/vm/thumb2.cpp 2010-03-10 17:38:48.000000000 +0000 +++ new2/icedtea6/ports/hotspot/src/cpu/zero/vm/thumb2.cpp 2010-03-11 11:06:30.000000000 +0000 @@ -16,35 +16,47 @@ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ -#undef THUMB2EE +#undef T2JIT #if !defined(DISABLE_THUMB2) && defined(HOTSPOT_ASM) && !defined(SHARK) -#define THUMB2EE +#define T2JIT #endif -#ifdef THUMB2EE +#ifdef T2JIT -#define T2EE_PRINT_COMPILATION -#define T2EE_PRINT_STATISTICS -//#define T2EE_PRINT_DISASS -#define T2EE_PRINT_REGUSAGE +#define CODE_ALIGN 64 + +#define SLOW_ENTRY_OFFSET 24 +#define FAST_ENTRY_OFFSET 40 + +#define T2_PRINT_COMPILATION +#define T2_PRINT_STATISTICS +//#define T2_PRINT_DISASS +#define T2_PRINT_REGUSAGE -#ifdef T2EE_PRINT_COMPILATION -static char *t2ee_print_compilation; +#ifdef T2_PRINT_COMPILATION +static char *t2_print_compilation; #endif -#ifdef T2EE_PRINT_STATISTICS -static char *t2ee_print_statistics; +#ifdef T2_PRINT_STATISTICS +static char *t2_print_statistics; #endif -#ifdef T2EE_PRINT_DISASS -static char *t2ee_print_disass; +#ifdef T2_PRINT_DISASS +static char *t2_print_disass; #endif -#ifdef T2EE_PRINT_REGUSAGE -static char *t2ee_print_regusage; +#ifdef T2_PRINT_REGUSAGE +static char *t2_print_regusage; #endif +static char *t2_ospace; +#define OSPACE t2_ospace + +#ifdef PRODUCT #define THUMB2_CODEBUF_SIZE (8 * 1024 * 1024) +#else +#define THUMB2_CODEBUF_SIZE (4 * 1024 * 1024) +#endif #define THUMB2_MAX_BYTECODE_SIZE 10000 #define THUMB2_MAX_T2CODE_SIZE 65000 #define THUMB2_MAXLOCALS 1000 @@ -53,7 +65,7 @@ #include "incls/_precompiled.incl" -#ifdef T2EE_PRINT_DISASS +#ifdef T2_PRINT_DISASS #include "dis-asm.h" #include "bfd.h" #endif @@ -339,21 +351,14 @@ #define H_EXIT_TO_INTERPRETER 28 -#define H_GETSTATIC H_EXIT_TO_INTERPRETER -#define H_PUTSTATIC H_EXIT_TO_INTERPRETER -#define H_JSR H_EXIT_TO_INTERPRETER #define H_RET H_EXIT_TO_INTERPRETER -#define H_ZOMBIE H_EXIT_TO_INTERPRETER -#define H_MONITOR H_EXIT_TO_INTERPRETER +#define H_DEADCODE H_EXIT_TO_INTERPRETER #define H_ATHROW H_EXIT_TO_INTERPRETER #define H_HANDLE_EXCEPTION 29 #define H_ARRAYBOUND 30 -#define H_UNKNOWN 31 -#define H_DEBUG_METHODENTRY 32 -#define H_DEBUG_METHODEXIT 33 -#define H_DEBUG_METHODCALL 34 +#define H_LDC_W 31 #define H_INVOKEINTERFACE 35 #define H_INVOKEVIRTUAL 36 @@ -388,7 +393,15 @@ #define H_HANDLE_EXCEPTION_NO_REGS 60 -unsigned handlers[61]; +#define H_INVOKESTATIC_RESOLVED 61 +#define H_INVOKESPECIAL_RESOLVED 62 +#define H_INVOKEVIRTUAL_RESOLVED 63 +#define H_INVOKEVFINAL 64 + +#define H_MONITORENTER 65 +#define H_MONITOREXIT 66 + +unsigned handlers[67]; #define LEAF_STACK_SIZE 200 #define STACK_SPARE 40 @@ -435,7 +448,7 @@ unsigned stack[1000]; unsigned r_local[1000]; -#ifdef T2EE_PRINT_DISASS +#ifdef T2_PRINT_DISASS short start_bci[THUMB2_MAX_T2CODE_SIZE]; short end_bci[THUMB2_MAX_T2CODE_SIZE]; #endif @@ -448,16 +461,13 @@ #include "offsets_arm.s" -#define BC_FLAGS_MASK 0xfc000000 -#define BC_VISITED_P1 0x80000000 +#define BC_FLAGS_MASK 0xf0000000 +#define BC_VISITED 0x80000000 #define BC_BRANCH_TARGET 0x40000000 #define BC_COMPILED 0x20000000 -#define BC_VISITED_P2 0x10000000 -#define BC_ZOMBIE 0x08000000 -#define BC_BACK_TARGET 0x04000000 +#define BC_BACK_TARGET 0x10000000 -#define IS_DEAD(x) (((x) & BC_VISITED_P1) == 0) -#define IS_ZOMBIE(x) (((x) & BC_ZOMBIE) || ((x) & BC_VISITED_P2) == 0) +#define IS_DEAD(x) (((x) & BC_VISITED) == 0) #define LOCAL_MODIFIED 31 #define LOCAL_REF 30 @@ -521,22 +531,21 @@ #define VFP_D6 70 #define VFP_D7 71 -#define PREGS 5 +#define PREGS 6 #define JAZ_V1 ARM_R5 #define JAZ_V2 ARM_R6 #define JAZ_V3 ARM_R7 -#define JAZ_V4 ARM_R10 -#define JAZ_V5 ARM_R11 +#define JAZ_V4 ARM_R8 +#define JAZ_V5 ARM_R9 +#define JAZ_V6 ARM_R11 #define Rstack ARM_R4 #define Rlocals ARM_R7 #define Ristate ARM_R8 -#define Rthread ARM_R9 +#define Rthread ARM_R10 -#define Rint_stack ARM_R4 #define Rint_jpc ARM_R5 -#define Rint_istate ARM_R8 #define IS_ARM_INT_REG(r) ((r) <= ARM_PC) #define IS_ARM_FP_REG(r) (!IS_ARM_INT_REG(r)) @@ -563,9 +572,10 @@ // .align CODE_ALIGN // slow_entry: @ callee save interface // push {r4, r5, r6, r7, r9, r10, r11, lr} + // mov Rthread, r2 // bl fast_entry // pop {r4, r5, r6, r7, r9, r10, r11, pc} - unsigned slow_entry[3]; + unsigned slow_entry[4]; unsigned *osr_table; // pointer to the osr table unsigned *exception_table; Compiled_Method *next; @@ -573,20 +583,7 @@ // This is used when receovering from an exception so we can push // the register back into the local variables pool. short regusage[6]; - // OSR Entry point: - // R0 = entry point within compiled method - // R1 = locals - 4000 * 4 - // R2 = thread - // R3 = locals - 31 * 4 - // osr_entry: - // @ Load each local into it register allocated register - // ldr , [R1, #(4000-) * 4] - // or ldr , [R3, #(31-) * 4] - // ... - // mov Rthread, R2 - // bx R0 - // .align CODE_ALIGN - unsigned osr_entry[1]; + unsigned header_end[1]; // fast_entry: // push {r8, lr} // ... @ The compiled code @@ -606,7 +603,7 @@ typedef struct Thumb2_Entrypoint { unsigned compiled_entrypoint; - unsigned osr_entry; + short *regusage; } Thumb2_Entrypoint; typedef struct CodeBuf { @@ -640,8 +637,9 @@ Thumb2_Stack *jstack; Thumb2_Registers *jregs; unsigned compiled_return; - unsigned zombie_bytes; + unsigned compiled_word_return[12]; // R0 .. R11 unsigned is_leaf; + unsigned use_istate; } Thumb2_Info; #define IS_INT_SIZE_BASE_TYPE(c) (c=='B' || c=='C' || c=='F' || c=='I' || c=='S' || c=='Z') @@ -712,7 +710,7 @@ static const char *local_types[] = { "int", "long", "float", "double", "ref" }; -#ifdef T2EE_PRINT_DISASS +#ifdef T2_PRINT_DISASS void Thumb2_disass(Thumb2_Info *jinfo) { unsigned code_size = jinfo->code_size; @@ -729,21 +727,7 @@ unsigned short *codebuf = jinfo->codebuf->codebuf; unsigned idx, compiled_len; -#if 0 - printf("Local Variable Usage\n"); - printf("====================\n"); - for (idx = 0; idx < nlocals; idx++) { - unsigned linfo = locals_info[idx]; - unsigned typ = (linfo >> LOCAL_INT) & 0x1f; - - printf("Local %d, type = %s (%x)", idx, typ ? local_types[LOG2(typ)] : "!!!unknown!!!", typ); - if (linfo & (1 << LOCAL_MODIFIED)) printf(", modified"); - if (idx < (unsigned)jinfo->method->size_of_parameters()) printf(", parameter"); - putchar('\n'); - } -#endif - - init_disassemble_info(&info, stdout, (fprintf_ftype)fprintf); + init_disassemble_info(&info, stderr, (fprintf_ftype)fprintf); info.arch = bfd_arch_arm; disassemble_init_for_target(&info); info.endian = BFD_ENDIAN_LITTLE; @@ -766,10 +750,10 @@ int len; if (stackinfo & BC_BRANCH_TARGET) - printf("----- Basic Block -----\n"); + fprintf(stderr, "----- Basic Block -----\n"); JASSERT(bci > last_bci, "disass not advancing"); last_bci = bci; - printf("%c%4d : ", (stackinfo & BC_VISITED_P1) ? ' ' : '?', bci); + fprintf(stderr, "%c%4d : ", (stackinfo & BC_VISITED) ? ' ' : '?', bci); opcode = code_base[bci]; if (opcode > OPC_LAST_JAVA_OP) { if (Bytecodes::is_defined((Bytecodes::Code)opcode)) @@ -786,11 +770,11 @@ int def; unsigned n, i; - printf("%02x ", opcode); + fprintf(stderr, "%02x ", opcode); for (int i = 1; i < 5; i++) - printf(" "); - printf("%s\n", Bytecodes::name((Bytecodes::Code)opcode)); - printf("\t%d bytes padding\n", nbci - (bci+1)); + fprintf(stderr, " "); + fprintf(stderr, "%s\n", Bytecodes::name((Bytecodes::Code)opcode)); + fprintf(stderr, "\t%d bytes padding\n", nbci - (bci+1)); w = *(unsigned int *)(code_base + nbci + 4); low = (int)BYTESEX_REVERSE(w); w = *(unsigned int *)(code_base + nbci + 8); @@ -798,30 +782,30 @@ w = *(unsigned int *)(code_base + nbci + 0); def = (int)BYTESEX_REVERSE(w); table = (unsigned int *)(code_base + nbci + 12); - printf("\tdefault:\t0x%08x\n", def); - printf("\tlow:\t\t0x%08x\n", low); - printf("\thigh:\t\t0x%08x\n", high); + fprintf(stderr, "\tdefault:\t0x%08x\n", def); + fprintf(stderr, "\tlow:\t\t0x%08x\n", low); + fprintf(stderr, "\thigh:\t\t0x%08x\n", high); n = high - low + 1; while (low <= high) { int off; w = *table++; off = (int)BYTESEX_REVERSE(w); - printf("\toffset %d:\t0x%08x\n", low, off); + fprintf(stderr, "\toffset %d:\t0x%08x\n", low, off); low++; } bci += len; for (i = 0; i < 4; i++) { - printf("0x%08x:\t", (int)codebuf+idx); + fprintf(stderr, "0x%08x:\t", (int)codebuf+idx); { int len = print_insn_little_arm((bfd_vma)codebuf+idx, &info); if (len == -1) len = 2; idx += len; - putchar('\n'); + fputc('\n', stderr); } } for (i = 0; i < n; i++) { - printf("0x%08x:\t.short\t0x%04x\n", (int)codebuf+idx, *(short *)((int)codebuf + idx)); + fprintf(stderr, "0x%08x:\t.short\t0x%04x\n", (int)codebuf+idx, *(short *)((int)codebuf + idx)); idx += 2; } nodisass = 1; @@ -834,19 +818,19 @@ int npairs; // The Java spec says signed but must be >= 0?? unsigned *table; - printf("%02x ", opcode); + fprintf(stderr, "%02x ", opcode); for (int i = 1; i < 5; i++) - printf(" "); - printf("%s\n", Bytecodes::name((Bytecodes::Code)opcode)); - printf("\t%d bytes padding\n", nbci - (bci+1)); + fprintf(stderr, " "); + fprintf(stderr, "%s\n", Bytecodes::name((Bytecodes::Code)opcode)); + fprintf(stderr, "\t%d bytes padding\n", nbci - (bci+1)); w = *(unsigned int *)(code_base + nbci + 0); def = (int)BYTESEX_REVERSE(w); w = *(unsigned int *)(code_base + nbci + 4); npairs = (int)BYTESEX_REVERSE(w); table = (unsigned int *)(code_base + nbci + 8); - printf("\tdefault:\t0x%08x\n", def); - printf("\tnpairs:\t\t0x%08x\n", npairs); + fprintf(stderr, "\tdefault:\t0x%08x\n", def); + fprintf(stderr, "\tnpairs:\t\t0x%08x\n", npairs); for (int i = 0; i < npairs; i++) { unsigned match, off; w = table[0]; @@ -854,7 +838,7 @@ w = table[1]; table += 2; off = BYTESEX_REVERSE(w); - printf("\t match: 0x%08x, offset: 0x%08x\n", match, off); + fprintf(stderr, "\t match: 0x%08x, offset: 0x%08x\n", match, off); } break; } @@ -862,39 +846,45 @@ default: for (int i = 0; i < 5; i++) { if (i < len) - printf("%02x ", code_base[bci+i]); + fprintf(stderr, "%02x ", code_base[bci+i]); else - printf(" "); + fprintf(stderr, " "); } - printf("%s\n", Bytecodes::name((Bytecodes::Code)code_base[bci])); + fprintf(stderr, "%s\n", Bytecodes::name((Bytecodes::Code)code_base[bci])); break; } bci += len; } } if (!nodisass) { - printf("0x%08x:\t", (int)codebuf+idx); - { - int len; + fprintf(stderr, "0x%08x:\t", (int)codebuf+idx); + int len; + if (idx >= offsetof(Compiled_Method, osr_table) && idx < offsetof(Compiled_Method, regusage)) { + fprintf(stderr, ".word\t0x%08x", *(unsigned *)((int)codebuf + idx)); + len = 4; + } else if (idx >= offsetof(Compiled_Method, regusage) && idx < offsetof(Compiled_Method, header_end)) { + fprintf(stderr, ".short\t0x%04x", *(unsigned short *)((int)codebuf + idx)); + len = 2; + } else { unsigned s1, s2; s1 = *(unsigned short *)((int)codebuf + idx); s2 = *(unsigned short *)((int)codebuf + idx + 2); if (s1 == T_UNDEFINED_16 || ((s1 << 16) + s2) == T_UNDEFINED_32) { if (s1 == T_UNDEFINED_16) { - printf("undefined (0xde00) - UNPATCHED BRANCH???"); + fprintf(stderr, "undefined (0xde00) - UNPATCHED BRANCH???"); len = 2; } else { - printf("undefined (0xf7f0a000) - UNPATCHED BRANCH???"); + fprintf(stderr, "undefined (0xf7f0a000) - UNPATCHED BRANCH???"); len = 4; } } else { len = print_insn_little_arm((bfd_vma)codebuf+idx, &info); if (len == -1) len = 2; - idx += len; } - putchar('\n'); } + idx += len; + fputc('\n', stderr); } } } @@ -1179,7 +1169,7 @@ BCI(0, 0, 0, 1, 0, 0, 0, 0, 0), // impdep2 }; -void Thumb2_pass1(Thumb2_Info *jinfo, unsigned bci) +void Thumb2_pass1(Thumb2_Info *jinfo, unsigned stackdepth, unsigned bci) { unsigned code_size = jinfo->code_size; jubyte *code_base = jinfo->code_base; @@ -1193,387 +1183,11 @@ unsigned bytecodeinfo; unsigned opcode; - if (stackinfo & BC_VISITED_P1) break; - bc_stackinfo[bci] = (stackinfo & BC_FLAGS_MASK) | BC_VISITED_P1; - opcode = code_base[bci]; -// printf("bci = 0x%04x, opcode = 0x%02x (%s)", bci, opcode, Bytecodes::name((Bytecodes::Code)opcode)); - bytecodeinfo = bcinfo[opcode]; - if (!BCI_SPECIAL(bytecodeinfo)) { - bci += BCI_LEN(bytecodeinfo); - continue; - } - - switch (opcode) { - - case opc_goto: { - int off = GET_JAVA_S2(code_base+bci+1); - bci += off; - bc_stackinfo[bci] |= BC_BRANCH_TARGET; - if (off < 0) bc_stackinfo[bci] |= BC_BACK_TARGET; - break; - } - case opc_goto_w: { - int off = GET_JAVA_U4(code_base+bci+1); - bci += off; - bc_stackinfo[bci] |= BC_BRANCH_TARGET; - if (off < 0) bc_stackinfo[bci] |= BC_BACK_TARGET; - break; - } - - case opc_if_icmpeq: - case opc_if_icmpne: - case opc_if_icmplt: - case opc_if_icmpge: - case opc_if_icmpgt: - case opc_if_icmple: - case opc_if_acmpeq: - case opc_if_acmpne: - case opc_ifeq: - case opc_ifne: - case opc_iflt: - case opc_ifge: - case opc_ifgt: - case opc_ifle: - case opc_ifnull: - case opc_ifnonnull: { - int off = GET_JAVA_S2(code_base+bci+1); - if (off < 0) bc_stackinfo[bci+off] |= BC_BACK_TARGET; - Thumb2_pass1(jinfo, bci + off); - bci += 3; - break; - } - - case opc_jsr: { - int off = GET_JAVA_S2(code_base+bci+1); - if (off < 0) bc_stackinfo[bci+off] |= BC_BACK_TARGET; - Thumb2_pass1(jinfo, bci + off); - bci += 3; - break; - } - case opc_jsr_w: { - int off = GET_JAVA_U4(code_base+bci+1); - if (off < 0) bc_stackinfo[bci+off] |= BC_BACK_TARGET; - Thumb2_pass1(jinfo, bci + off); - bci += 5; - break; - } - - case opc_ireturn: - case opc_lreturn: - case opc_freturn: - case opc_dreturn: - case opc_areturn: - case opc_return: - case opc_return_register_finalizer: - case opc_ret: - case opc_athrow: - // The test for BC_VISITED_P1 above will break out of the loop!!! - break; - - case opc_tableswitch: { - int low, high; - unsigned w; - unsigned *table; - unsigned nbci; - int def; - - nbci = bci & ~3; - w = *(unsigned int *)(code_base + nbci + 8); - low = (int)BYTESEX_REVERSE(w); - w = *(unsigned int *)(code_base + nbci + 12); - high = (int)BYTESEX_REVERSE(w); - w = *(unsigned int *)(code_base + nbci + 4); - def = (int)BYTESEX_REVERSE(w); - table = (unsigned int *)(code_base + nbci + 16); - - while (low <= high) { - int off; - w = *table++; - off = (int)BYTESEX_REVERSE(w); - if (off < 0) bc_stackinfo[bci+off] |= BC_BACK_TARGET; - Thumb2_pass1(jinfo, bci + off); - low++; - } - - bci += def; - bc_stackinfo[bci] |= BC_BRANCH_TARGET; - if (def < 0) bc_stackinfo[bci] |= BC_BACK_TARGET; - break; - } - - case opc_lookupswitch: { - unsigned w; - unsigned nbci; - int def; - int npairs; // The Java spec says signed but must be >= 0?? - unsigned *table; - - nbci = bci & ~3; - w = *(unsigned int *)(code_base + nbci + 4); - def = (int)BYTESEX_REVERSE(w); - w = *(unsigned int *)(code_base + nbci + 8); - npairs = (int)BYTESEX_REVERSE(w); - table = (unsigned int *)(code_base + nbci + 16); - - for (int i = 0; i < npairs; i++) { - int off; - w = *table; - table += 2; - off = (int)BYTESEX_REVERSE(w); - if (off < 0) bc_stackinfo[bci+off] |= BC_BACK_TARGET; - Thumb2_pass1(jinfo, bci + off); - } - - bci += def; - bc_stackinfo[bci] |= BC_BRANCH_TARGET; - if (def < 0) bc_stackinfo[bci] |= BC_BACK_TARGET; - break; - } - - case opc_getstatic: - case opc_putstatic: - case opc_getfield: - case opc_putfield: { - bci += 3; - break; - } - - case opc_invokeresolved: - case opc_invokespecialresolved: - case opc_invokestaticresolved: - case opc_invokevfinal: - case opc_invokevirtual: - case opc_invokespecial: - case opc_invokestatic: - jinfo->is_leaf = 0; - bci += 3; - break; - - case opc_invokeinterface: - jinfo->is_leaf = 0; - bci += 5; - break; - - case opc_multianewarray: - bci += 4; - break; - - case opc_wide: - opcode = code_base[bci+1]; - if (opcode == opc_iinc) { - bci += 6; - } else { - bci += 4; - } - break; - - default: - opcode = code_base[bci]; - fatal1("Undefined opcode %d\n", opcode); - break; - } - } -} - -#ifdef ZOMBIE_DETECTION -int Thumb2_is_zombie(Thumb2_Info *jinfo, unsigned bci) -{ - unsigned code_size = jinfo->code_size; - jubyte *code_base = jinfo->code_base; - unsigned bytecodeinfo; - unsigned opcode; - unsigned *bc_stackinfo = jinfo->bc_stackinfo; - - do { - opcode = code_base[bci]; - // Short circuit exit - commented out because even if it has been executed - // we treat throw, jsr, and ret as zombies because they will call out to the - // interpreter. - // if (opcode > OPC_LAST_JAVA_OP) return 0; - bytecodeinfo = bcinfo[opcode]; - if (!BCI_SPECIAL(bytecodeinfo)) { - bci += BCI_LEN(bytecodeinfo); -#if 0 - if (opcode >= opc_iload_iload) { - opcode = code_base[bci]; - bci += BCI_LEN(bcinfo[opcode]); - } else if (BCI_ISLOCAL(bytecodeinfo)) { - if (opcode == opc_iload || (opcode >= opc_iload_0 && opcode <= opc_iload_3)) { - opcode = code_base[bci]; - if (opcode == opc_iload || (opcode >= opc_iload_0 && opcode <= opc_iload_3) || - (opcode >= opc_iconst_m1 && opcode <= opc_iconst_5)) { - printf("found new zombie at %d\n", bci); - return 1; - } - } - } else if (opcode == opc_iadd || opcode == opc_isub || - opcode == opc_iand || opcode == opc_ior || opcode == opc_ixor) { - opcode = code_base[bci]; - if (opcode == opc_istore || (opcode >= opc_istore_0 && opcode <= opc_istore_3)) { - printf("found new zombie at %d\n", bci); - return 1; - } - } -#endif - } else { - switch (opcode) { - case opc_goto: - case opc_goto_w: - case opc_ifeq: - case opc_ifne: - case opc_iflt: - case opc_ifge: - case opc_ifgt: - case opc_ifle: - case opc_ifnull: - case opc_ifnonnull: - case opc_if_icmpeq: - case opc_if_icmpne: - case opc_if_icmplt: - case opc_if_icmpge: - case opc_if_icmpgt: - case opc_if_icmple: - case opc_if_acmpeq: - case opc_if_acmpne: - case opc_tableswitch: - case opc_lookupswitch: - return 0; - case opc_ireturn: - case opc_lreturn: - case opc_freturn: - case opc_dreturn: - case opc_areturn: - case opc_return: - case opc_return_register_finalizer: - return 0; - case opc_jsr: - case opc_jsr_w: - case opc_ret: - case opc_athrow: - return 1; - case opc_invokeinterface: - case opc_invokevirtual: - case opc_invokespecial: - case opc_invokestatic: - case opc_putfield: - case opc_getfield: - case opc_putstatic: - case opc_getstatic: { - constantPoolCacheOop cp = jinfo->method->constants()->cache(); - ConstantPoolCacheEntry* cache; - int index = GET_NATIVE_U2(code_base+bci+1); - - cache = cp->entry_at(index); - if (!cache->is_resolved((Bytecodes::Code)opcode)) return 1; - bci += 3; - if (opcode == opc_invokeinterface) bci += 2; - break; - - } - case opc_invokeresolved: - case opc_invokespecialresolved: - case opc_invokestaticresolved: - case opc_invokevfinal: - bci += 3; - break; - - case opc_multianewarray: - bci += 4; - break; - - case opc_wide: - opcode = code_base[bci+1]; - if (opcode == opc_iinc) { - bci += 6; - } else { - bci += 4; - } - break; - - default: - opcode = code_base[bci]; - fatal1("Undefined opcode %d\n", opcode); - break; - } - } - if (bci >= code_size) break; - } while (!(bc_stackinfo[bci] & BC_BRANCH_TARGET)); - return 0; -} -#endif // ZOMBIT_DETECTION - -void Thumb2_RegAlloc(Thumb2_Info *jinfo) -{ - unsigned *locals_info = jinfo->locals_info; - unsigned i, j; - unsigned linfo; - unsigned score, max_score; - unsigned local; - unsigned nlocals = jinfo->method->max_locals(); - unsigned *pregs = jinfo->jregs->pregs; - unsigned npregs = jinfo->jregs->npregs; - - for (i = 0; i < npregs; i++) jinfo->jregs->mapping[i] = -1; - for (i = 0; i < npregs; i++) { - max_score = 0; - for (j = 0; j < nlocals; j++) { - linfo = locals_info[j]; - - if (linfo & ((1<> 2; - if (linfo & (1<> 2); - if (linfo & (1<> 2; - if (score > max_score) max_score = score, local = j; - } - if (max_score < 2) break; - locals_info[local] |= 1<jregs->r_local[local] = pregs[i]; - jinfo->jregs->mapping[i] = local; - } -#ifdef T2EE_PRINT_REGUSAGE - if (t2ee_print_regusage) { - printf("Regalloc: %d physical registers allocated as follows\n", npregs); - for (j = 0; j < nlocals; j++) { - unsigned r = jinfo->jregs->r_local[j]; - if (r) { - unsigned typ = (locals_info[j] >> LOCAL_INT) & 0x1f; - printf(" ARM Reg R%d -> local %d (type = %s)\n", r, j, local_types[LOG2(typ)]); - } - } - } -#endif -} - -void Thumb2_pass2(Thumb2_Info *jinfo, unsigned stackdepth, unsigned bci) -{ - unsigned code_size = jinfo->code_size; - jubyte *code_base = jinfo->code_base; - unsigned *bc_stackinfo = jinfo->bc_stackinfo; - unsigned *locals_info = jinfo->locals_info; - unsigned check_zombie = 0; - //constantPoolCacheOop cp = jinfo->method->constants()->cache(); - - while (bci < code_size) { - unsigned stackinfo = bc_stackinfo[bci]; - unsigned bytecodeinfo; - unsigned opcode; - - if (stackinfo & BC_VISITED_P2) break; + if (stackinfo & BC_VISITED) break; JASSERT((int)stackdepth >= 0, "stackdepth < 0!!"); - bc_stackinfo[bci] = (stackinfo & BC_FLAGS_MASK) | stackdepth | BC_VISITED_P2; -#ifdef ZOMBIE_DETECTION - if (check_zombie || (stackinfo & BC_BRANCH_TARGET)) { - if (Thumb2_is_zombie(jinfo, bci)) { - printf("zombie code at %d\n", bci); - bc_stackinfo[bci] |= BC_ZOMBIE; - return; - } - check_zombie = 0; - } -#endif + bc_stackinfo[bci] = (stackinfo & BC_FLAGS_MASK) | stackdepth | BC_VISITED; opcode = code_base[bci]; -// printf("bci = 0x%04x, opcode = 0x%02x (%s), stackdepth = %d\n", bci, opcode, Bytecodes::name((Bytecodes::Code)opcode), stackdepth); +// printf("bci = 0x%04x, opcode = 0x%02x (%s)", bci, opcode, Bytecodes::name((Bytecodes::Code)opcode)); bytecodeinfo = bcinfo[opcode]; if (!BCI_SPECIAL(bytecodeinfo)) { if (BCI_ISLOCAL(bytecodeinfo)) { @@ -1606,12 +1220,20 @@ switch (opcode) { - case opc_goto: - bci += GET_JAVA_S2(code_base+bci+1); + case opc_goto: { + int off = GET_JAVA_S2(code_base+bci+1); + bci += off; + bc_stackinfo[bci] |= BC_BRANCH_TARGET; + if (off < 0) bc_stackinfo[bci] |= BC_BACK_TARGET; break; - case opc_goto_w: - bci += GET_JAVA_U4(code_base+bci+1); + } + case opc_goto_w: { + int off = GET_JAVA_U4(code_base+bci+1); + bci += off; + bc_stackinfo[bci] |= BC_BRANCH_TARGET; + if (off < 0) bc_stackinfo[bci] |= BC_BACK_TARGET; break; + } case opc_ifeq: case opc_ifne: @@ -1620,12 +1242,14 @@ case opc_ifgt: case opc_ifle: case opc_ifnull: - case opc_ifnonnull: + case opc_ifnonnull: { + int off = GET_JAVA_S2(code_base+bci+1); + if (off < 0) bc_stackinfo[bci+off] |= BC_BACK_TARGET; stackdepth -= 1; - Thumb2_pass2(jinfo, stackdepth, bci + GET_JAVA_S2(code_base+bci+1)); - check_zombie = 1; + Thumb2_pass1(jinfo, stackdepth, bci + off); bci += 3; break; + } case opc_if_icmpeq: case opc_if_icmpne: @@ -1634,22 +1258,30 @@ case opc_if_icmpgt: case opc_if_icmple: case opc_if_acmpeq: - case opc_if_acmpne: + case opc_if_acmpne: { + int off = GET_JAVA_S2(code_base+bci+1); + if (off < 0) bc_stackinfo[bci+off] |= BC_BACK_TARGET; stackdepth -= 2; - Thumb2_pass2(jinfo, stackdepth, bci + GET_JAVA_S2(code_base+bci+1)); - check_zombie = 1; + Thumb2_pass1(jinfo, stackdepth, bci + off); bci += 3; break; + } - case opc_jsr: - Thumb2_pass2(jinfo, stackdepth+1, bci + GET_JAVA_S2(code_base+bci+1)); + case opc_jsr: { + int off = GET_JAVA_S2(code_base+bci+1); + if (off < 0) bc_stackinfo[bci+off] |= BC_BACK_TARGET; + Thumb2_pass1(jinfo, stackdepth+1, bci + off); bci += 3; stackdepth = 0; break; - case opc_jsr_w: - Thumb2_pass2(jinfo, stackdepth+1, bci + GET_JAVA_U4(code_base+bci+1)); + } + case opc_jsr_w: { + int off = GET_JAVA_U4(code_base+bci+1); + if (off < 0) bc_stackinfo[bci+off] |= BC_BACK_TARGET; + Thumb2_pass1(jinfo, stackdepth+1, bci + off); bci += 5; break; + } case opc_ireturn: case opc_lreturn: @@ -1660,7 +1292,7 @@ case opc_return_register_finalizer: case opc_ret: case opc_athrow: - // The test for BC_VISITED_P2 above will break out of the loop!!! + // The test for BC_VISITED above will break out of the loop!!! break; case opc_tableswitch: { @@ -1684,12 +1316,14 @@ int off; w = *table++; off = (int)BYTESEX_REVERSE(w); - Thumb2_pass2(jinfo, stackdepth, bci + off); + if (off < 0) bc_stackinfo[bci+off] |= BC_BACK_TARGET; + Thumb2_pass1(jinfo, stackdepth, bci + off); low++; } - check_zombie = 1; bci += def; + bc_stackinfo[bci] |= BC_BRANCH_TARGET; + if (def < 0) bc_stackinfo[bci] |= BC_BACK_TARGET; break; } @@ -1713,11 +1347,13 @@ w = *table; table += 2; off = (int)BYTESEX_REVERSE(w); - Thumb2_pass2(jinfo, stackdepth, bci + off); + if (off < 0) bc_stackinfo[bci+off] |= BC_BACK_TARGET; + Thumb2_pass1(jinfo, stackdepth, bci + off); } - check_zombie = 1; bci += def; + bc_stackinfo[bci] |= BC_BRANCH_TARGET; + if (def < 0) bc_stackinfo[bci] |= BC_BACK_TARGET; break; } @@ -1749,16 +1385,17 @@ case opc_invokespecialresolved: case opc_invokestaticresolved: case opc_invokevfinal: - case opc_invokeinterface: case opc_invokevirtual: case opc_invokespecial: - case opc_invokestatic: { + case opc_invokestatic: + case opc_invokeinterface: { int index = GET_JAVA_U2(code_base+bci+1); constantPoolOop pool = jinfo->method->constants(); //symbolOop name = pool->name_ref_at(index); symbolOop sig = pool->signature_ref_at(index); jbyte *base = sig->base(); + jinfo->is_leaf = 0; //tty->print("%d: %s: %s\n", opcode, name->as_C_string(), sig->as_C_string()); stackdepth += method_stackchange(base); opcode = code_base[bci]; @@ -1774,7 +1411,7 @@ bci += 4; break; - case opc_wide: + case opc_wide: { opcode = code_base[bci+1]; if (opcode == opc_iinc) { bci += 6; @@ -1794,6 +1431,7 @@ fatal1("Undefined wide opcode %d\n", opcode); } break; + } default: opcode = code_base[bci]; @@ -1803,6 +1441,50 @@ } } +void Thumb2_RegAlloc(Thumb2_Info *jinfo) +{ + unsigned *locals_info = jinfo->locals_info; + unsigned i, j; + unsigned linfo; + unsigned score, max_score; + unsigned local; + unsigned nlocals = jinfo->method->max_locals(); + unsigned *pregs = jinfo->jregs->pregs; + unsigned npregs = jinfo->jregs->npregs; + + for (i = 0; i < npregs; i++) jinfo->jregs->mapping[i] = -1; + for (i = 0; i < npregs; i++) { + if (jinfo->use_istate && pregs[i] == Ristate) continue; + max_score = 0; + for (j = 0; j < nlocals; j++) { + linfo = locals_info[j]; + + if (linfo & ((1<> 2; + if (linfo & (1<> 2); + if (linfo & (1<> 2; + if (score > max_score) max_score = score, local = j; + } + if (max_score < (OSPACE ? 8 : 2)) break; + locals_info[local] |= 1<jregs->r_local[local] = pregs[i]; + jinfo->jregs->mapping[i] = local; + } +#ifdef T2_PRINT_REGUSAGE + if (t2_print_regusage) { + fprintf(stderr, "Regalloc: %d physical registers allocated as follows\n", npregs); + for (j = 0; j < nlocals; j++) { + unsigned r = jinfo->jregs->r_local[j]; + if (r) { + unsigned typ = (locals_info[j] >> LOCAL_INT) & 0x1f; + fprintf(stderr, " ARM Reg R%d -> local %d (type = %s)\n", r, j, local_types[LOG2(typ)]); + } + } + } +#endif +} + //------------------------------------------------------------------------------------- #define Thumb2 1 @@ -2168,12 +1850,15 @@ return codebuf->idx * 2; } -#define CODE_ALIGN 64 -#define CODE_ALIGN_SIZE 64 - u32 out_align(CodeBuf *codebuf, unsigned align) { - codebuf->idx += (((out_pos(codebuf) + (align-1)) & ~(align-1)) - out_pos(codebuf)) / sizeof(short); + while ((out_pos(codebuf) & (align-1)) != 0) out_16(codebuf, 0); + return out_pos(codebuf); +} + +u32 out_align_offset(CodeBuf *codebuf, unsigned align, unsigned offset) +{ + while ((out_pos(codebuf) & (align-1)) != offset) out_16(codebuf, 0); return out_pos(codebuf); } @@ -2630,6 +2315,16 @@ // return dop_reg(codebuf, DP_MOV, dst, 0, src, SHIFT_LSL, 0); } +int nop_16(CodeBuf *codebuf) +{ + return out_16(codebuf, T_MOV(ARM_R0, ARM_R0)); +} + +int nop_32(CodeBuf *codebuf) +{ + return dop_reg(codebuf, DP_MOV, ARM_R8, 0, ARM_R8, SHIFT_LSL, 0); +} + int mvn_reg(CodeBuf *codebuf, u32 dst, u32 src) { if (dst < ARM_R8 && src < ARM_R8) @@ -2838,7 +2533,7 @@ int cmp_imm(CodeBuf *codebuf, Reg src, u32 imm) { - if (src <= ARM_R8 && imm < 256) return out_16(codebuf, T_CMP_IMM(src, imm)); + if (src < ARM_R8 && imm < 256) return out_16(codebuf, T_CMP_IMM(src, imm)); return dop_imm(codebuf, DP_CMP, 0x0f, src, imm); } @@ -2847,28 +2542,6 @@ return dop_imm(codebuf, DP_TST, 0x0f, src, imm); } -int hbl(CodeBuf *codebuf, unsigned handler) -{ - mov_imm(codebuf, ARM_IP, 0); - str_imm(codebuf, ARM_IP, ARM_IP, 0, 1, 0); -#if 0 - if ((Thumb2 && ThumbEE)) - return out_16(codebuf, T_HBL(handler)); - if (TESTING) - return mov_imm(codebuf, ARM_R8, handler); - J_Unimplemented(); -#endif -} - -#if 0 -int enter_leave(CodeBuf *codebuf, unsigned enter) -{ - if ((Thumb2 && ThumbEE)) - return out_16x2(codebuf, T_ENTER_LEAVE(enter)); - J_Unimplemented(); -} -#endif - int tbh(CodeBuf *codebuf, Reg base, Reg idx) { out_16x2(codebuf, T_TBH(base, idx)); @@ -3278,58 +2951,6 @@ ldm(codebuf, regset, Rstack, POP_FD, 1); } -#if 0 -int load_multiple(CodeBuf *codebuf, Reg base, Reg *regs, u32 nregs, u32 st, u32 wb) -{ - unsigned regset = 0; - unsigned regmask; - unsigned pre = 0; - int dir = 1; - unsigned u; - Reg r; - - if (st == IB || st == DB) pre = 4; - if (st == DA || st == DB) dir = -4; - JASSERT(nregs > 0, "nregs must be > 0"); - if (nregs == 1) - return ldr_imm(codebuf, regs[0], base, dir, pre, wb); - if (dir > 0) { - u = 0; - do { - r = regs[u]; - regmask = 1<= regset) { - if (!wb && base != ARM_IP) { - mov_reg(codebuf, ARM_IP, base); - base = ARM_IP; - } - ldm(codebuf, regset, base, st, 1); - regset = 0; - } - regset |= regmask; - } while (++u < nregs); - ldm(codebuf, regset, base, st, wb); - } else { - u = nregs; - do { - u--; - r = regs[u]; - regmask = 1< 0); - ldm(codebuf, regset, base, st, wb); - } -} -#endif - int mov_multiple(CodeBuf *codebuf, Reg *dst, Reg *src, unsigned nregs) { unsigned u, n, p; @@ -3792,25 +3413,42 @@ } #define LOCAL_OFFSET(local, stackdepth, nlocals) ((stackdepth)*4 + FRAME_SIZE + ((nlocals)-1-(local))*4) +#define ISTATE_REG(jinfo) ((jinfo)->use_istate ? Ristate : Rstack) +#define ISTATE(jinfo, stackdepth) ((jinfo)->use_istate ? 0 : (((stackdepth)-(jinfo)->jstack->depth)*4)) +#define ISTATE_OFFSET(jinfo, stackdepth, offset) (ISTATE(jinfo, stackdepth) + (offset)) void load_local(Thumb2_Info *jinfo, Reg r, unsigned local, unsigned stackdepth) { -#ifdef USE_RLOCAL - ldr_imm(jinfo->codebuf, r, Rlocals, -local * 4, 1, 0); -#else int nlocals = jinfo->method->max_locals(); - ldr_imm(jinfo->codebuf, r, Rstack, LOCAL_OFFSET(local, stackdepth, nlocals), 1, 0); -#endif + if (jinfo->use_istate) + ldr_imm(jinfo->codebuf, r, Ristate, FRAME_SIZE + (nlocals-1-local) * 4, 1, 0); + else + ldr_imm(jinfo->codebuf, r, Rstack, LOCAL_OFFSET(local, stackdepth, nlocals), 1, 0); } void store_local(Thumb2_Info *jinfo, Reg r, unsigned local, unsigned stackdepth) { -#ifdef USE_RLOCAL - str_imm(jinfo->codebuf, r, Rlocals, -local << 2, 1, 0); -#else int nlocals = jinfo->method->max_locals(); - str_imm(jinfo->codebuf, r, Rstack, LOCAL_OFFSET(local, stackdepth, nlocals), 1, 0); -#endif + if (jinfo->use_istate) + str_imm(jinfo->codebuf, r, Ristate, FRAME_SIZE + (nlocals-1-local) * 4, 1, 0); + else + str_imm(jinfo->codebuf, r, Rstack, LOCAL_OFFSET(local, stackdepth, nlocals), 1, 0); +} + +void load_istate(Thumb2_Info *jinfo, Reg r, unsigned istate_offset, unsigned stackdepth) +{ + if (jinfo->use_istate) + ldr_imm(jinfo->codebuf, r, Ristate, istate_offset, 1, 0); + else + ldr_imm(jinfo->codebuf, r, Rstack, ISTATE_OFFSET(jinfo, stackdepth, istate_offset), 1, 0); +} + +void store_istate(Thumb2_Info *jinfo, Reg r, unsigned istate_offset, unsigned stackdepth) +{ + if (jinfo->use_istate) + str_imm(jinfo->codebuf, r, Ristate, istate_offset, 1, 0); + else + str_imm(jinfo->codebuf, r, Rstack, ISTATE_OFFSET(jinfo, stackdepth, istate_offset), 1, 0); } void Thumb2_Load(Thumb2_Info *jinfo, int local, unsigned stackdepth) @@ -3827,7 +3465,6 @@ Thumb2_Spill(jinfo, 1, 0); JASSERT(stackdepth >= jstack->depth, "negative stack offset?"); stackdepth -= jstack->depth; - if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); r = JSTACK_REG(jstack); PUSH(jstack, r); load_local(jinfo, r, local, stackdepth); @@ -3849,7 +3486,6 @@ } else { Thumb2_Spill(jinfo, 1, 0); stackdepth -= jstack->depth; - if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); PUSH(jstack, r_hi); r_lo = PUSH(jstack, JSTACK_REG(jstack)); load_local(jinfo, r_lo, local+1, stackdepth); @@ -3859,14 +3495,12 @@ if (r_lo) { Thumb2_Spill(jinfo, 1, 0); stackdepth -= jstack->depth; - if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); r_hi = PUSH(jstack, JSTACK_REG(jstack)); load_local(jinfo, r_hi, local, stackdepth); PUSH(jstack, r_lo); } else { Thumb2_Spill(jinfo, 2, 0); stackdepth -= jstack->depth; - if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); r_hi = PUSH(jstack, JSTACK_REG(jstack)); r_lo = PUSH(jstack, JSTACK_REG(jstack)); load_local(jinfo, r_hi, local, stackdepth); @@ -3883,7 +3517,6 @@ Thumb2_Fill(jinfo, 1); stackdepth -= jstack->depth; - if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); r = POP(jstack); r_local = jinfo->jregs->r_local[local]; if (r_local) { @@ -3902,7 +3535,6 @@ int nlocals = jinfo->method->max_locals(); Thumb2_Fill(jinfo, 2); - if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); r_lo = POP(jstack); r_hi = POP(jstack); stackdepth -= 2; @@ -4236,15 +3868,6 @@ mov_imm(jinfo->codebuf, ARM_R1, bci); mov_imm(jinfo->codebuf, ARM_IP, 0); str_imm(jinfo->codebuf, ARM_IP, ARM_IP, 0, 1, 0); -// hbl(jinfo->codebuf, handler); -} - -void Thumb2_Debug(Thumb2_Info *jinfo, unsigned handler) -{ -#if 0 - Thumb2_Flush(jinfo); - bl(jinfo->codebuf, handlers[handler]); -#endif } void Thumb2_codegen(Thumb2_Info *jinfo, unsigned start); @@ -4284,20 +3907,88 @@ return -1; } -void Thumb2_Return(Thumb2_Info *jinfo, unsigned opcode) +void Thumb2_save_locals(Thumb2_Info *jinfo, unsigned stackdepth) { - Reg r_lo, r; - Thumb2_Stack *jstack = jinfo->jstack; + int nlocals = jinfo->method->max_locals(); + unsigned *locals_info = jinfo->locals_info; + int i; + + JASSERT(jinfo->jstack->depth == 0, "stack not empty"); + for (i = 0; i < nlocals; i++) { + Reg r = jinfo->jregs->r_local[i]; + if (r) { + if ((locals_info[i] & (1 << LOCAL_REF)) && (locals_info[i] & (1 << LOCAL_MODIFIED))) { + store_local(jinfo, r, i, stackdepth); + } + } + } +} - if (0 /*jinfo->compiled_return*/) { - unsigned bci = jinfo->compiled_return; +void Thumb2_restore_locals(Thumb2_Info *jinfo, unsigned stackdepth) +{ + int nlocals = jinfo->method->max_locals(); + unsigned *locals_info = jinfo->locals_info; + int i; - JASSERT(jinfo->bc_stackinfo[bci] & BC_COMPILED, "return not compiled"); - JASSERT(jinfo->code_base[bci] == opcode, "type of return changed"); - branch_uncond(jinfo->codebuf, jinfo->bc_stackinfo[bci] & ~BC_FLAGS_MASK); - return; + JASSERT(jinfo->jstack->depth == 0, "stack not empty"); + for (i = 0; i < nlocals; i++) { + Reg r = jinfo->jregs->r_local[i]; + if (r) { + if (locals_info[i] & (1<method->max_locals(); + unsigned *locals_info = jinfo->locals_info; + int i; + + JASSERT(jinfo->jstack->depth == 0, "stack not empty"); + for (i = 0; i < nlocals; i++) { + Reg r = jinfo->jregs->r_local[i]; + if (r) { + if (locals_info[i] & (1 << LOCAL_MODIFIED)) { + store_local(jinfo, r, i, stackdepth); + } + } + } +} + +void Thumb2_invoke_restore(Thumb2_Info *jinfo, unsigned stackdepth) +{ + int nlocals = jinfo->method->max_locals(); + unsigned *locals_info = jinfo->locals_info; + int i; + + JASSERT(jinfo->jstack->depth == 0, "stack not empty"); + for (i = 0; i < nlocals; i++) { + Reg r = jinfo->jregs->r_local[i]; + if (r) { + load_local(jinfo, r, i, stackdepth); + } } +} + +void Thumb2_Exit(Thumb2_Info *jinfo, unsigned handler, unsigned bci, unsigned stackdepth) +{ + Thumb2_Flush(jinfo); + Thumb2_invoke_save(jinfo, stackdepth); + mov_imm(jinfo->codebuf, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); + bl(jinfo->codebuf, handlers[handler]); +} + +void Thumb2_Return(Thumb2_Info *jinfo, unsigned opcode, unsigned bci, unsigned stackdepth) +{ + Reg r_lo, r; + Thumb2_Stack *jstack = jinfo->jstack; + if (jinfo->method->has_monitor_bytecodes()) { + Thumb2_Exit(jinfo, H_EXIT_TO_INTERPRETER, bci, stackdepth); + } if (jinfo->method->is_synchronized()) { unsigned loc_success1, loc_success2, loc_failed, loc_retry, loc_exception; unsigned loc_illegal_monitor_state; @@ -4305,7 +3996,7 @@ // Thumb2_save_locals(jinfo); // Free the monitor // - // sub r1, Ristate, #8 + // add r1, #-8 // ldr r2, [r1, #4] // cbz r2, throw_illegal_monitor_state // ldr r0, [r1, #0] @@ -4326,7 +4017,8 @@ // // JAZ_V1 == tmp2 // JAZ_V2 == tmp1 - sub_imm(jinfo->codebuf, ARM_R1, Ristate, frame::interpreter_frame_monitor_size()*wordSize); + add_imm(jinfo->codebuf, ARM_R1, ISTATE_REG(jinfo), ISTATE(jinfo, stackdepth) - frame::interpreter_frame_monitor_size()*wordSize); + ldr_imm(jinfo->codebuf, ARM_R2, ARM_R1, 4, 1, 0); loc_illegal_monitor_state = forward_16(jinfo->codebuf); ldr_imm(jinfo->codebuf, ARM_R0, ARM_R1, 0, 1, 0); @@ -4352,7 +4044,15 @@ cbz_patch(jinfo->codebuf, ARM_R3, loc_success2); } - if (opcode != opc_return) { + if (opcode == opc_return) { + if (jinfo->compiled_return) { + unsigned ret_idx = jinfo->compiled_return; + + branch_uncond(jinfo->codebuf, ret_idx); + return; + } + if (OSPACE) jinfo->compiled_return = jinfo->codebuf->idx * 2; + } else { if (opcode == opc_lreturn || opcode == opc_dreturn) { Thumb2_Fill(jinfo, 2); r_lo = POP(jstack); @@ -4360,6 +4060,13 @@ } else { Thumb2_Fill(jinfo, 1); r = POP(jstack); + if (jinfo->compiled_word_return[r]) { + unsigned ret_idx = jinfo->compiled_word_return[r]; + + branch_uncond(jinfo->codebuf, ret_idx); + return; + } + if (OSPACE) jinfo->compiled_word_return[r] = jinfo->codebuf->idx * 2; } } @@ -4378,121 +4085,17 @@ str_imm(jinfo->codebuf, r, Rstack, jinfo->method->max_locals() * sizeof(int), 1, 1); } -// sub_imm(jinfo->codebuf, Ristate, ARM_LR, ISTATE_NEXT_FRAME); str_imm(jinfo->codebuf, ARM_LR, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); str_imm(jinfo->codebuf, Rstack, Rthread, THREAD_JAVA_SP, 1, 0); - Thumb2_Debug(jinfo, H_DEBUG_METHODEXIT); -// enter_leave(jinfo->codebuf, 0); ldm(jinfo->codebuf, C_REGSET + (1<method->max_locals(); - int i; - - JASSERT(jinfo->jstack->depth == 0, "stack not empty"); - if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); - for (i = 0; i < nlocals; i++) { - Reg r = jinfo->jregs->r_local[i]; - if (r) { - store_local(jinfo, r, i, stackdepth); - } - } -} -#endif - -void Thumb2_save_locals(Thumb2_Info *jinfo, unsigned stackdepth) -{ - int nlocals = jinfo->method->max_locals(); - unsigned *locals_info = jinfo->locals_info; - int i; - - JASSERT(jinfo->jstack->depth == 0, "stack not empty"); - if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); - for (i = 0; i < nlocals; i++) { - Reg r = jinfo->jregs->r_local[i]; - if (r) { - if ((locals_info[i] & (1 << LOCAL_REF)) && (locals_info[i] & (1 << LOCAL_MODIFIED))) { - store_local(jinfo, r, i, stackdepth); - } - } - } -} - -void Thumb2_restore_locals(Thumb2_Info *jinfo, unsigned stackdepth) -{ - int nlocals = jinfo->method->max_locals(); - unsigned *locals_info = jinfo->locals_info; - int i; - - JASSERT(jinfo->jstack->depth == 0, "stack not empty"); - if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); - for (i = 0; i < nlocals; i++) { - Reg r = jinfo->jregs->r_local[i]; - if (r) { - if (locals_info[i] & (1<method->max_locals(); - unsigned *locals_info = jinfo->locals_info; - int i; - - JASSERT(jinfo->jstack->depth == 0, "stack not empty"); - if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); - for (i = 0; i < nlocals; i++) { - Reg r = jinfo->jregs->r_local[i]; - if (r) { - if (locals_info[i] & (1 << LOCAL_MODIFIED)) { - store_local(jinfo, r, i, stackdepth); - } - } - } -} - -void Thumb2_invoke_restore(Thumb2_Info *jinfo, unsigned stackdepth) -{ - int nlocals = jinfo->method->max_locals(); - unsigned *locals_info = jinfo->locals_info; - int i; - - JASSERT(jinfo->jstack->depth == 0, "stack not empty"); - if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); - for (i = 0; i < nlocals; i++) { - Reg r = jinfo->jregs->r_local[i]; - if (r) { - load_local(jinfo, r, i, stackdepth); - } - } -} - -void Thumb2_Exit(Thumb2_Info *jinfo, unsigned handler, unsigned bci, unsigned stackdepth) -{ - Thumb2_Flush(jinfo); - Thumb2_invoke_save(jinfo, stackdepth); - mov_imm(jinfo->codebuf, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); - bl(jinfo->codebuf, handlers[handler]); -} - -void Thumb2_Jsr(Thumb2_Info *jinfo, unsigned bci, unsigned stackdepth) -{ - Thumb2_Exit(jinfo, H_JSR, bci, stackdepth); -} - int Thumb2_Accessor(Thumb2_Info *jinfo) { jubyte *code_base = jinfo->code_base; constantPoolCacheOop cp = jinfo->method->constants()->cache(); ConstantPoolCacheEntry* cache; int index = GET_NATIVE_U2(code_base+2); - unsigned loc; unsigned *bc_stackinfo = jinfo->bc_stackinfo; JASSERT(code_base[0] == opc_aload_0 || code_base[0] == opc_iaccess_0, "not an aload_0 in accessor"); @@ -4503,28 +4106,28 @@ TosState tos_type = cache->flag_state(); int field_offset = cache->f2(); - // Slow entry point - loc = forward_32(jinfo->codebuf); - out_32(jinfo->codebuf, 0); - out_32(jinfo->codebuf, 0); + // Slow entry point - callee save + // R0 = method + // R2 = thread + stm(jinfo->codebuf, (1<codebuf, Rthread, ARM_R2); + bl(jinfo->codebuf, out_pos(jinfo->codebuf) + FAST_ENTRY_OFFSET - 6); + ldm(jinfo->codebuf, (1<codebuf, 0); out_32(jinfo->codebuf, 0); // pointer to osr table out_32(jinfo->codebuf, 0); // Space for exception_table pointer out_32(jinfo->codebuf, 0); // next compiled method - out_32(jinfo->codebuf, 0); // regusage - out_32(jinfo->codebuf, 0); - out_32(jinfo->codebuf, 0); - - // OSR entry point - mov_reg(jinfo->codebuf, ARM_PC, ARM_R0); + out_32(jinfo->codebuf, -1); // regusage + out_32(jinfo->codebuf, -1); + out_32(jinfo->codebuf, -1); out_align(jinfo->codebuf, CODE_ALIGN); // fast entry point bc_stackinfo[0] = (bc_stackinfo[0] & BC_FLAGS_MASK) | (jinfo->codebuf->idx * 2) | BC_COMPILED; - branch_uncond_patch(jinfo->codebuf, loc, jinfo->codebuf->idx * 2); - ldr_imm(jinfo->codebuf, ARM_R1, ARM_R2, THREAD_JAVA_SP, 1, 0); + ldr_imm(jinfo->codebuf, ARM_R1, Rthread, THREAD_JAVA_SP, 1, 0); ldr_imm(jinfo->codebuf, ARM_R0, ARM_R1, 0, 1, 0); if (tos_type == btos) ldrsb_imm(jinfo->codebuf, ARM_R0, ARM_R0, field_offset, 1, 0); @@ -4540,19 +4143,26 @@ return 1; } +#define STACKDEPTH(jinfo, stackinfo) (((stackinfo) & ~BC_FLAGS_MASK) + \ + ((jinfo)->method->is_synchronized() ? frame::interpreter_frame_monitor_size() : 0)) + + void Thumb2_Enter(Thumb2_Info *jinfo) { int parms = jinfo->method->size_of_parameters(); int extra_locals = jinfo->method->max_locals() - parms; unsigned *locals_info = jinfo->locals_info; int i; + unsigned stackdepth = 0; // Slow entry point - callee save // R0 = method // R2 = thread stm(jinfo->codebuf, I_REGSET + (1<codebuf, out_pos(jinfo->codebuf) + CODE_ALIGN - 4); + mov_reg(jinfo->codebuf, Rthread, ARM_R2); + bl(jinfo->codebuf, out_pos(jinfo->codebuf) + FAST_ENTRY_OFFSET - 6); ldm(jinfo->codebuf, I_REGSET + (1<codebuf, 0); out_32(jinfo->codebuf, 0); // Space for osr_table pointer out_32(jinfo->codebuf, 0); // Space for exception_table pointer @@ -4562,43 +4172,20 @@ out_32(jinfo->codebuf, 0); out_32(jinfo->codebuf, 0); - // OSR entry point == Slow entry + 16 - caller save - // R0 = entry point within compiled method - // R1 = locals - THUMB2_MAXLOCALS * 4 - // R2 = thread - // R3 = locals - 31 * 4 - { - int nlocals = jinfo->method->max_locals(); - - for (i = 0; i < nlocals; i++) { - Reg r = jinfo->jregs->r_local[i]; - if (r) { - ldr_imm(jinfo->codebuf, r, - (i < 32) ? ARM_R3 : ARM_R1, - (i < 32) ? (31 - i) * 4 : (THUMB2_MAXLOCALS - i) * 4, - 1, 0); - } - } - mov_reg(jinfo->codebuf, Rthread, ARM_R2); - mov_reg(jinfo->codebuf, ARM_PC, ARM_R0); - } - out_align(jinfo->codebuf, CODE_ALIGN); // Fast entry point == Slow entry + 64 - caller save // R0 = method // R2 = thread stm(jinfo->codebuf, C_REGSET + (1<codebuf, 1); - ldr_imm(jinfo->codebuf, Rstack, ARM_R2, THREAD_JAVA_SP, 1, 0); - Thumb2_Debug(jinfo, H_DEBUG_METHODENTRY); + ldr_imm(jinfo->codebuf, Rstack, Rthread, THREAD_JAVA_SP, 1, 0); { unsigned stacksize; stacksize = (extra_locals + jinfo->method->max_stack()) * sizeof(int); stacksize += FRAME_SIZE + STACK_SPARE; if (!jinfo->is_leaf || stacksize > LEAF_STACK_SIZE) { - ldr_imm(jinfo->codebuf, ARM_R3, ARM_R2, THREAD_JAVA_STACK_BASE, 1, 0); + ldr_imm(jinfo->codebuf, ARM_R3, Rthread, THREAD_JAVA_STACK_BASE, 1, 0); sub_imm(jinfo->codebuf, ARM_R1, Rstack, stacksize + LEAF_STACK_SIZE); cmp_reg(jinfo->codebuf, ARM_R3, ARM_R1); it(jinfo->codebuf, COND_CS, IT_MASK_T); @@ -4619,13 +4206,19 @@ ldr_imm(jinfo->codebuf, ARM_IP, ARM_R0, METHOD_CONSTANTS, 1, 0); - sub_imm(jinfo->codebuf, Ristate, Rstack, FRAME_SIZE); - add_imm(jinfo->codebuf, Rlocals, Rstack, (jinfo->method->max_locals()-1) * sizeof(int)); - str_imm(jinfo->codebuf, Rlocals, Ristate, ISTATE_LOCALS, 1, 0); + + sub_imm(jinfo->codebuf, Rstack, Rstack, FRAME_SIZE); + + if (jinfo->use_istate) mov_reg(jinfo->codebuf, Ristate, Rstack); + + store_istate(jinfo, Rstack, ISTATE_MONITOR_BASE, stackdepth); + + store_istate(jinfo, Rlocals, ISTATE_LOCALS, stackdepth); if (jinfo->method->is_synchronized()) { - sub_imm(jinfo->codebuf, Rstack, Ristate, frame::interpreter_frame_monitor_size()*wordSize); + sub_imm(jinfo->codebuf, Rstack, Rstack, frame::interpreter_frame_monitor_size()*wordSize); + stackdepth = frame::interpreter_frame_monitor_size(); if (jinfo->method->is_static()) { ldr_imm(jinfo->codebuf, ARM_R3, ARM_IP, CONSTANTPOOL_POOL_HOLDER, 1, 0); ldr_imm(jinfo->codebuf, JAZ_V1, ARM_R3, KLASS_PART+KLASS_JAVA_MIRROR, 1, 0); @@ -4633,39 +4226,34 @@ ldr_imm(jinfo->codebuf, JAZ_V1, Rlocals, 0, 1, 0); } str_imm(jinfo->codebuf, JAZ_V1, Rstack, 4, 1, 0); - } else - mov_reg(jinfo->codebuf, Rstack, Ristate); + } - str_imm(jinfo->codebuf, ARM_R1, Ristate, ISTATE_MSG, 1, 0); - str_imm(jinfo->codebuf, ARM_R1, Ristate, ISTATE_OOP_TEMP, 1, 0); + store_istate(jinfo, ARM_R1, ISTATE_MSG, stackdepth); + store_istate(jinfo, ARM_R1, ISTATE_OOP_TEMP, stackdepth); sub_imm(jinfo->codebuf, ARM_R3, Rstack, jinfo->method->max_stack() * sizeof(int)); - str_imm(jinfo->codebuf, ARM_R3, ARM_R2, THREAD_JAVA_SP, 1, 0); + str_imm(jinfo->codebuf, ARM_R3, Rthread, THREAD_JAVA_SP, 1, 0); - str_imm(jinfo->codebuf, Rstack, Ristate, ISTATE_STACK_BASE, 1, 0); + store_istate(jinfo, Rstack, ISTATE_STACK_BASE, stackdepth); sub_imm(jinfo->codebuf, ARM_R3, ARM_R3, 4); - str_imm(jinfo->codebuf, ARM_R3, Ristate, ISTATE_STACK_LIMIT, 1, 0); + store_istate(jinfo, ARM_R3, ISTATE_STACK_LIMIT, stackdepth); - ldr_imm(jinfo->codebuf, ARM_R3, ARM_R2, THREAD_TOP_ZERO_FRAME, 1, 0); - str_imm(jinfo->codebuf, ARM_R3, Ristate, ISTATE_NEXT_FRAME, 1, 0); + ldr_imm(jinfo->codebuf, ARM_R3, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + store_istate(jinfo, ARM_R3, ISTATE_NEXT_FRAME, stackdepth); mov_imm(jinfo->codebuf, ARM_R3, INTERPRETER_FRAME); - str_imm(jinfo->codebuf, ARM_R3, Ristate, ISTATE_FRAME_TYPE, 1, 0); + store_istate(jinfo, ARM_R3, ISTATE_FRAME_TYPE, stackdepth); - str_imm(jinfo->codebuf, Ristate, Ristate, ISTATE_MONITOR_BASE, 1, 0); - - add_imm(jinfo->codebuf, ARM_R3, Ristate, ISTATE_NEXT_FRAME); - str_imm(jinfo->codebuf, ARM_R3, ARM_R2, THREAD_TOP_ZERO_FRAME, 1, 0); - str_imm(jinfo->codebuf, ARM_R3, ARM_R2, THREAD_LAST_JAVA_SP, 1, 0); + add_imm(jinfo->codebuf, ARM_R3, ISTATE_REG(jinfo), ISTATE(jinfo, stackdepth) + ISTATE_NEXT_FRAME); + str_imm(jinfo->codebuf, ARM_R3, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + str_imm(jinfo->codebuf, ARM_R3, Rthread, THREAD_LAST_JAVA_SP, 1, 0); ldr_imm(jinfo->codebuf, ARM_R3, ARM_IP, CONSTANTPOOL_CACHE, 1, 0); - str_imm(jinfo->codebuf, ARM_R3, Ristate, ISTATE_CONSTANTS, 1, 0); - - str_imm(jinfo->codebuf, ARM_R2, Ristate, ISTATE_THREAD, 1, 0); - str_imm(jinfo->codebuf, ARM_R0, Ristate, ISTATE_METHOD, 1, 0); + store_istate(jinfo, ARM_R3, ISTATE_CONSTANTS, stackdepth); - mov_reg(jinfo->codebuf, Rthread, ARM_R2); + store_istate(jinfo, Rthread, ISTATE_THREAD, stackdepth); + store_istate(jinfo, ARM_R0, ISTATE_METHOD, stackdepth); if (jinfo->method->is_synchronized()) { unsigned loc_retry, loc_failed, loc_success, loc_exception; @@ -4674,14 +4262,13 @@ // // Try to acquire the monitor. Seems very sub-optimal // ldr r3, [JAZ_V1, #0] - // sub r1, Ristate, #8 // orr r3, r3, #1 - // str r3, [r1, #0] + // str r3, [Rstack, #0] // retry: // ldrex r0, [JAZ_V1, #0] // cmp r3, r0 // bne failed - // strex r0, r1, [JAZ_V1, #0] + // strex r0, Rstack, [JAZ_V1, #0] // cbz r0, success // b retry // failed: @@ -4690,15 +4277,14 @@ // // ldr_imm(jinfo->codebuf, ARM_R3, JAZ_V1, 0, 1, 0); - sub_imm(jinfo->codebuf, ARM_R1, Ristate, frame::interpreter_frame_monitor_size()*wordSize); orr_imm(jinfo->codebuf, ARM_R3, ARM_R3, 1); - str_imm(jinfo->codebuf, ARM_R3, ARM_R1, 0, 1, 0); + str_imm(jinfo->codebuf, ARM_R3, Rstack, 0, 1, 0); loc_retry = out_loc(jinfo->codebuf); // retry: ldrex_imm(jinfo->codebuf, ARM_R0, JAZ_V1, 0); cmp_reg(jinfo->codebuf, ARM_R3, ARM_R0); loc_failed = forward_16(jinfo->codebuf); - strex_imm(jinfo->codebuf, ARM_R0, ARM_R1, JAZ_V1, 0); + strex_imm(jinfo->codebuf, ARM_R0, Rstack, JAZ_V1, 0); loc_success = forward_16(jinfo->codebuf); branch_uncond(jinfo->codebuf, loc_retry); bcc_patch(jinfo->codebuf, COND_NE, loc_failed); @@ -4709,8 +4295,6 @@ bl(jinfo->codebuf, handlers[H_HANDLE_EXCEPTION_NO_REGS]); cbz_patch(jinfo->codebuf, ARM_R0, loc_exception); cbz_patch(jinfo->codebuf, ARM_R0, loc_success); -// mov_imm(jinfo->codebuf, ARM_R0, 0+CONSTMETHOD_CODEOFFSET); -// bl(jinfo->codebuf, handlers[H_MONITOR]); // success: } @@ -4721,11 +4305,11 @@ for (i = 0; i < nlocals; i++) { Reg r = jinfo->jregs->r_local[i]; if (r) { - unsigned stackdepth = 0; - if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); - if (i < parms || (locals_info[i] & (1<codebuf, r, ARM_R1); } } } @@ -4775,16 +4359,26 @@ unsigned stackdepth; for (bci = start; bci < code_size; ) { -#ifdef T2EE_PRINT_DISASS - unsigned start_idx = jinfo->codebuf->idx; - if (start_bci[start_idx] == -1) start_bci[start_idx] = bci; -#endif opcode = code_base[bci]; stackinfo = bc_stackinfo[bci]; +#ifdef T2_PRINT_DISASS + unsigned start_idx; +#endif if (stackinfo & BC_BRANCH_TARGET) Thumb2_Flush(jinfo); + + if (!OSPACE && (stackinfo & BC_BACK_TARGET)) { + if (out_pos(codebuf) & 0x02) nop_16(codebuf); + if (out_pos(codebuf) & 0x04) nop_32(codebuf); + } + +#ifdef T2_PRINT_DISASS + start_idx = jinfo->codebuf->idx; + if (start_bci[start_idx] == -1) start_bci[start_idx] = bci; +#endif + JASSERT(!(stackinfo & BC_COMPILED), "code already compiled for this bytecode?"); - stackdepth = stackinfo & ~BC_FLAGS_MASK; + stackdepth = STACKDEPTH(jinfo, stackinfo); bc_stackinfo[bci] = (stackinfo & BC_FLAGS_MASK) | (codebuf->idx * 2) | BC_COMPILED; if (opcode > OPC_LAST_JAVA_OP && opcode != opc_return_register_finalizer) { @@ -4795,13 +4389,13 @@ len = Bytecodes::length_for((Bytecodes::Code)opcode); if (len <= 0) len = Bytecodes::special_length_at((address)(code_base+bci), (address)(code_base+code_size)); - if (IS_DEAD(stackinfo) || IS_ZOMBIE(stackinfo)) { + if (IS_DEAD(stackinfo)) { unsigned zlen = 0; -#ifdef T2EE_PRINT_DISASS +#ifdef T2_PRINT_DISASS unsigned start_bci = bci; #endif - Thumb2_Exit(jinfo, H_ZOMBIE, bci, stackdepth); + Thumb2_Exit(jinfo, H_DEADCODE, bci, stackdepth); do { zlen += len; bci += len; @@ -4810,7 +4404,7 @@ stackinfo = bc_stackinfo[bci]; if (stackinfo & BC_BRANCH_TARGET) break; - if (!(IS_DEAD(stackinfo) || IS_ZOMBIE(stackinfo))) break; + if (!IS_DEAD(stackinfo)) break; bc_stackinfo[bci] = (stackinfo & BC_FLAGS_MASK) | (codebuf->idx * 2); @@ -4823,21 +4417,20 @@ if (len <= 0) len = Bytecodes::special_length_at((address)(code_base+bci), (address)(code_base+code_size)); } while (1); -#ifdef T2EE_PRINT_DISASS +#ifdef T2_PRINT_DISASS end_bci[start_idx] = start_bci + zlen; #endif - jinfo->zombie_bytes += zlen; continue; } #if 0 - if (bci >= 2620) { + if (bci >= 4) { unsigned zlen = 0; -#ifdef T2EE_PRINT_DISASS +#ifdef T2_PRINT_DISASS unsigned start_bci = bci; #endif - Thumb2_Exit(jinfo, H_ZOMBIE, bci, stackdepth); + Thumb2_Exit(jinfo, H_DEADCODE, bci, stackdepth); do { zlen += len; bci += len; @@ -4847,6 +4440,8 @@ if (stackinfo & BC_BRANCH_TARGET) break; + bc_stackinfo[bci] = (stackinfo & BC_FLAGS_MASK) | (codebuf->idx * 2); + if (opcode > OPC_LAST_JAVA_OP) { if (Bytecodes::is_defined((Bytecodes::Code)opcode)) opcode = (unsigned)Bytecodes::java_code((Bytecodes::Code)opcode); @@ -4856,15 +4451,14 @@ if (len <= 0) len = Bytecodes::special_length_at((address)(code_base+bci), (address)(code_base+code_size)); } while (1); -#ifdef T2EE_PRINT_DISASS +#ifdef T2_PRINT_DISASS end_bci[start_idx] = start_bci + zlen; #endif - jinfo->zombie_bytes += zlen; continue; } #endif -#ifdef T2EE_PRINT_DISASS +#ifdef T2_PRINT_DISASS end_bci[start_idx] = bci + len; #endif @@ -4923,16 +4517,6 @@ v = (unsigned)constants->int_at(index); len += Thumb2_Imm(jinfo, v, bci+len); break; -#if 0 - case JVM_CONSTANT_String: - v = (unsigned)constants->resolved_string_at(index); - len += Thumb2_Imm(jinfo, v, bci+len); - break; - case JVM_CONSTANT_Class: - v = (unsigned)constants->resolved_klass_at(index)->klass_part()->java_mirror(); - len += Thumb2_Imm(jinfo, v, bci+len); - break; -#endif case JVM_CONSTANT_Long: case JVM_CONSTANT_Double: { unsigned long long v; @@ -4946,7 +4530,7 @@ Thumb2_Spill(jinfo, 1, 0); r = JSTACK_REG(jstack); PUSH(jstack, r); - ldr_imm(jinfo->codebuf, r, Ristate, ISTATE_METHOD, 1, 0); + load_istate(jinfo, r, ISTATE_METHOD, stackdepth+1); ldr_imm(jinfo->codebuf, r, r, METHOD_CONSTANTS, 1, 0); ldr_imm(jinfo->codebuf, r, r, CONSTANTPOOL_BASE + (index << 2), 1, 0); if (v == JVM_CONSTANT_Class) @@ -4960,8 +4544,8 @@ Thumb2_Flush(jinfo); mov_imm(jinfo->codebuf, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); Thumb2_save_locals(jinfo, stackdepth); - mov_imm(jinfo->codebuf, ARM_R1, opcode != opc_ldc); - bl(jinfo->codebuf, handlers[H_LDC]); +// mov_imm(jinfo->codebuf, ARM_R1, opcode != opc_ldc); + bl(jinfo->codebuf, handlers[opcode == opc_ldc ? H_LDC : H_LDC_W]); Thumb2_restore_locals(jinfo, stackdepth); ldr_imm(jinfo->codebuf, ARM_R0, Rthread, THREAD_VM_RESULT, 1, 0); mov_imm(jinfo->codebuf, ARM_R2, 0); @@ -5318,14 +4902,10 @@ mov_reg(jinfo->codebuf, ARM_R0, r_lho); mov_reg(jinfo->codebuf, ARM_R1, r_rho); } -#if 1 if (opcode == opc_frem) bl(jinfo->codebuf, OPCODE2HANDLER(opcode)); else blx(jinfo->codebuf, OPCODE2HANDLER(opcode)); -#else - bl(jinfo->codebuf, OPCODE2HANDLER(opcode)); -#endif PUSH(jstack, ARM_R0); break; } @@ -5505,7 +5085,6 @@ int nlocals = jinfo->method->max_locals(); r = Thumb2_Tmp(jinfo, 0); stackdepth -= jstack->depth; - if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); load_local(jinfo, r, local, stackdepth); add_imm(jinfo->codebuf, r, r, constant); store_local(jinfo, r, local, stackdepth); @@ -5540,7 +5119,7 @@ mov_imm(jinfo->codebuf, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); mov_imm(jinfo->codebuf, ARM_R1, index); blx(jinfo->codebuf, handlers[handler]); - Thumb2_restore_locals(jinfo, bc_stackinfo[bci+len] & ~BC_FLAGS_MASK); + Thumb2_restore_locals(jinfo, STACKDEPTH(jinfo, bc_stackinfo[bci+len])); break; } @@ -5575,11 +5154,6 @@ break; } - case opc_monitorexit: - case opc_monitorenter: - Thumb2_Exit(jinfo, H_MONITOR, bci, stackdepth); - break; - case opc_getstatic: { constantPoolCacheOop cp = jinfo->method->constants()->cache(); ConstantPoolCacheEntry* cache; @@ -5603,7 +5177,7 @@ mov_imm(jinfo->codebuf, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); mov_imm(jinfo->codebuf, ARM_R1, index); blx(jinfo->codebuf, handlers[handler]); - Thumb2_restore_locals(jinfo, bc_stackinfo[bci+len] & ~BC_FLAGS_MASK); + Thumb2_restore_locals(jinfo, STACKDEPTH(jinfo, bc_stackinfo[bci+len])); break; } @@ -5615,7 +5189,7 @@ Thumb2_Spill(jinfo, 2, 0); r_hi = PUSH(jstack, JSTACK_REG(jstack)); r_lo = PUSH(jstack, JSTACK_REG(jstack)); - ldr_imm(jinfo->codebuf, r_lo, Ristate, ISTATE_CONSTANTS, 1, 0); + load_istate(jinfo, r_lo, ISTATE_CONSTANTS, stackdepth+2); ldr_imm(jinfo->codebuf, r_lo, r_lo, CP_OFFSET + (index << 4) + 4, 1, 0); ldrd_imm(jinfo->codebuf, r_lo, r_hi, r_lo, field_offset, 1, 0); } else { @@ -5623,7 +5197,7 @@ Thumb2_Spill(jinfo, 1, 0); r = JSTACK_REG(jstack); PUSH(jstack, r); - ldr_imm(jinfo->codebuf, r, Ristate, ISTATE_CONSTANTS, 1, 0); + load_istate(jinfo, r, ISTATE_CONSTANTS, stackdepth+1); ldr_imm(jinfo->codebuf, r, r, CP_OFFSET + (index << 4) + 4, 1, 0); if (tos_type == btos) ldrsb_imm(jinfo->codebuf, r, r, field_offset, 1, 0); @@ -5661,7 +5235,7 @@ mov_imm(jinfo->codebuf, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); mov_imm(jinfo->codebuf, ARM_R1, index); blx(jinfo->codebuf, handlers[handler]); - Thumb2_restore_locals(jinfo, bc_stackinfo[bci+len] & ~BC_FLAGS_MASK); + Thumb2_restore_locals(jinfo, STACKDEPTH(jinfo, bc_stackinfo[bci+len])); break; } @@ -5719,7 +5293,7 @@ mov_imm(jinfo->codebuf, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); mov_imm(jinfo->codebuf, ARM_R1, index); blx(jinfo->codebuf, handlers[handler]); - Thumb2_restore_locals(jinfo, bc_stackinfo[bci+len] & ~BC_FLAGS_MASK); + Thumb2_restore_locals(jinfo, STACKDEPTH(jinfo, bc_stackinfo[bci+len])); break; } @@ -5735,7 +5309,7 @@ Thumb2_Spill(jinfo, 1, (1<codebuf, r_obj, Ristate, ISTATE_CONSTANTS, 1, 0); + load_istate(jinfo, r_obj, ISTATE_CONSTANTS, stackdepth-2); ldr_imm(jinfo->codebuf, r_obj, r_obj, CP_OFFSET + (index << 4) + 4, 1, 0); strd_imm(jinfo->codebuf, r_lo, r_hi, r_obj, field_offset, 1, 0); } else { @@ -5745,7 +5319,7 @@ Thumb2_Spill(jinfo, 1, (1<codebuf, r_obj, Ristate, ISTATE_CONSTANTS, 1, 0); + load_istate(jinfo, r_obj, ISTATE_CONSTANTS, stackdepth-1); ldr_imm(jinfo->codebuf, r_obj, r_obj, CP_OFFSET + (index << 4) + 4, 1, 0); if (tos_type == btos) strb_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0); @@ -5763,6 +5337,7 @@ break; } + case opc_invokevirtual: case opc_invokestatic: case opc_invokespecial: { constantPoolCacheOop cp = jinfo->method->constants()->cache(); @@ -5778,13 +5353,14 @@ mov_imm(jinfo->codebuf, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); mov_imm(jinfo->codebuf, ARM_R1, index); blx(jinfo->codebuf, - handlers[opcode == opc_invokestatic ? H_INVOKESTATIC : H_INVOKESPECIAL]); - Thumb2_invoke_restore(jinfo, bc_stackinfo[bci+len] & ~BC_FLAGS_MASK); + handlers[opcode == opc_invokestatic ? H_INVOKESTATIC : + opcode == opc_invokespecial ? H_INVOKESPECIAL : H_INVOKEVIRTUAL]); + Thumb2_invoke_restore(jinfo, STACKDEPTH(jinfo, bc_stackinfo[bci+len])); break; } - callee = (methodOop)cache->f1(); - if (callee->is_accessor()) { + callee = opcode == opc_invokevirtual ? (methodOop)cache->f2() : (methodOop)cache->f1(); + if ((opcode != opc_invokevirtual || cache->is_vfinal()) && callee->is_accessor()) { u1 *code = callee->code_base(); int index = GET_NATIVE_U2(&code[2]); constantPoolCacheOop callee_cache = callee->constants()->cache(); @@ -5792,11 +5368,6 @@ Reg r_obj, r; if (entry->is_resolved(Bytecodes::_getfield)) { -#if 0 - tty->print("Inlining accessor (opcode = %s) ", opcode == opc_invokestatic ? "invokestatic" : "invokespecial"); - callee->print_short_name(tty); - tty->print("\n"); -#endif JASSERT(cache->parameter_size() == 1, "not 1 parameter to accessor"); TosState tos_type = entry->flag_state(); @@ -5822,39 +5393,53 @@ } Thumb2_Flush(jinfo); - ldr_imm(jinfo->codebuf, ARM_R2, Ristate, ISTATE_METHOD, 1, 0); - ldr_imm(jinfo->codebuf, ARM_R0, Ristate, ISTATE_CONSTANTS, 1, 0); + + if (OSPACE) { + Thumb2_invoke_save(jinfo, stackdepth); + mov_imm(jinfo->codebuf, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); + mov_imm(jinfo->codebuf, ARM_R1, index); + blx(jinfo->codebuf, handlers[ + opcode == opc_invokestatic ? H_INVOKESTATIC_RESOLVED : + opcode == opc_invokespecial ? H_INVOKESPECIAL_RESOLVED : + cache->is_vfinal() ? H_INVOKEVFINAL : H_INVOKEVIRTUAL_RESOLVED]); + Thumb2_invoke_restore(jinfo, STACKDEPTH(jinfo, bc_stackinfo[bci+len])); + break; + } + + load_istate(jinfo, ARM_R2, ISTATE_METHOD, stackdepth); mov_imm(jinfo->codebuf, ARM_R1, 0); - ldr_imm(jinfo->codebuf, ARM_R2, ARM_R2, METHOD_CONSTMETHOD, 1, 0); - if (opcode == opc_invokespecial) + if (opcode != opc_invokestatic) ldr_imm(jinfo->codebuf, ARM_R3, Rstack, (cache->parameter_size()-1) * sizeof(int), 1, 0); - ldr_imm(jinfo->codebuf, ARM_R0, ARM_R0, CP_OFFSET + (index << 4) + 4, 1, 0); - add_imm(jinfo->codebuf, ARM_R2, ARM_R2, bci+CONSTMETHOD_CODEOFFSET); - if (opcode == opc_invokespecial) - ldr_imm(jinfo->codebuf, ARM_R3, ARM_R3, 0, 1, 0); // Null pointer check - cbz better? + if (opcode != opc_invokevirtual || cache->is_vfinal()) + load_istate(jinfo, ARM_R0, ISTATE_CONSTANTS, stackdepth); + ldr_imm(jinfo->codebuf, ARM_R2, ARM_R2, METHOD_CONSTMETHOD, 1, 0); + if (opcode != opc_invokestatic) + ldr_imm(jinfo->codebuf, ARM_R3, ARM_R3, 4, 1, 0); + + if (opcode != opc_invokevirtual || cache->is_vfinal()) + ldr_imm(jinfo->codebuf, ARM_R0, ARM_R0, + CP_OFFSET + (index << 4) + (opcode == opc_invokevirtual ? 8 : 4), 1, 0); + else + ldr_imm(jinfo->codebuf, ARM_R0, ARM_R3, INSTANCEKLASS_VTABLE_OFFSET + cache->f2() * 4, 1, 0); + + add_imm(jinfo->codebuf, ARM_R2, ARM_R2, bci+CONSTMETHOD_CODEOFFSET); str_imm(jinfo->codebuf, ARM_R1, Rthread, THREAD_LAST_JAVA_SP, 1, 0); ldr_imm(jinfo->codebuf, ARM_R1, ARM_R0, METHOD_FROM_INTERPRETED, 1, 0); - str_imm(jinfo->codebuf, ARM_R2, Ristate, ISTATE_BCP, 1, 0); + store_istate(jinfo, ARM_R2, ISTATE_BCP, stackdepth); str_imm(jinfo->codebuf, Rstack, Rthread, THREAD_JAVA_SP, 1, 0); - Thumb2_Debug(jinfo, H_DEBUG_METHODCALL); Thumb2_invoke_save(jinfo, stackdepth); - sub_imm(jinfo->codebuf, Rstack, Rstack, 4); + sub_imm(jinfo->codebuf, Rstack, Rstack, 4); + ldr_imm(jinfo->codebuf, ARM_R3, ARM_R1, 0, 1, 0); - mov_reg(jinfo->codebuf, ARM_R2, Rthread); - str_imm(jinfo->codebuf, Rstack, Ristate, ISTATE_STACK, 1, 0); -add_imm(jinfo->codebuf, ARM_R3, ARM_R3, CODE_ALIGN_SIZE); -// enter_leave(jinfo->codebuf, 0); + store_istate(jinfo, Rstack, ISTATE_STACK, stackdepth+1); + add_imm(jinfo->codebuf, ARM_R3, ARM_R3, FAST_ENTRY_OFFSET); blx_reg(jinfo->codebuf, ARM_R3); -// enter_leave(jinfo->codebuf, 1); - ldr_imm(jinfo->codebuf, Rthread, Ristate, ISTATE_THREAD, 1, 0); -#ifdef USE_RLOCAL - ldr_imm(jinfo->codebuf, Rlocals, Ristate, ISTATE_LOCALS, 1, 0); -#endif - ldr_imm(jinfo->codebuf, Rstack, Rthread, THREAD_JAVA_SP, 1, 0); - ldr_imm(jinfo->codebuf, ARM_R2, Ristate, ISTATE_STACK_LIMIT, 1, 0); JASSERT(!(bc_stackinfo[bci+len] & BC_COMPILED), "code already compiled for this bytecode?"); - Thumb2_invoke_restore(jinfo, bc_stackinfo[bci+len] & ~BC_FLAGS_MASK); + stackdepth = STACKDEPTH(jinfo, bc_stackinfo[bci+len]); + ldr_imm(jinfo->codebuf, Rstack, Rthread, THREAD_JAVA_SP, 1, 0); + load_istate(jinfo, ARM_R2, ISTATE_STACK_LIMIT, stackdepth); ldr_imm(jinfo->codebuf, ARM_R1, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + Thumb2_invoke_restore(jinfo, stackdepth); add_imm(jinfo->codebuf, ARM_R2, ARM_R2, 4); ldr_imm(jinfo->codebuf, ARM_R3, Rthread, THREAD_PENDING_EXC, 1, 0); str_imm(jinfo->codebuf, ARM_R2, Rthread, THREAD_JAVA_SP, 1, 0); @@ -5873,158 +5458,29 @@ // Currently we just call the unresolved invokeinterface entry for resolved / // unresolved alike! - Thumb2_Flush(jinfo); - Thumb2_invoke_save(jinfo, stackdepth); - mov_imm(jinfo->codebuf, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); - mov_imm(jinfo->codebuf, ARM_R1, index); - blx(jinfo->codebuf, handlers[H_INVOKEINTERFACE]); - Thumb2_invoke_restore(jinfo, bc_stackinfo[bci+len] & ~BC_FLAGS_MASK); - break; - } - - case opc_invokevirtual: { - constantPoolCacheOop cp = jinfo->method->constants()->cache(); - ConstantPoolCacheEntry* cache; - int index = GET_NATIVE_U2(code_base+bci+1); - unsigned loc; - - cache = cp->entry_at(index); - if (!cache->is_resolved((Bytecodes::Code)opcode)) { - Thumb2_Flush(jinfo); - Thumb2_invoke_save(jinfo, stackdepth); - mov_imm(jinfo->codebuf, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); - mov_imm(jinfo->codebuf, ARM_R1, index); - blx(jinfo->codebuf, handlers[H_INVOKEVIRTUAL]); - Thumb2_invoke_restore(jinfo, bc_stackinfo[bci+len] & ~BC_FLAGS_MASK); - break; - } - - if (cache->is_vfinal()) { - methodOop callee = (methodOop)cache->f2(); - if (callee->is_accessor()) { - u1 *code = callee->code_base(); - int index = GET_NATIVE_U2(&code[2]); - constantPoolCacheOop callee_cache = callee->constants()->cache(); - ConstantPoolCacheEntry *entry = callee_cache->entry_at(index); - Reg r_obj, r; - - if (entry->is_resolved(Bytecodes::_getfield)) { -#if 0 - tty->print("Inlining accessor (opcode = invokevfinal) "); - callee->print_short_name(tty); - tty->print("\n"); -#endif - JASSERT(cache->parameter_size() == 1, "not 1 parameter to accessor"); - - TosState tos_type = entry->flag_state(); - int field_offset = entry->f2(); - - JASSERT(tos_type == btos || tos_type == ctos || tos_type == stos || tos_type == atos || tos_type == itos, "not itos or atos"); - - Thumb2_Fill(jinfo, 1); - r_obj = POP(jstack); - Thumb2_Spill(jinfo, 1, 0); - r = JSTACK_REG(jstack); - PUSH(jstack, r); - if (tos_type == btos) - ldrb_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0); - else if (tos_type == ctos) - ldrh_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0); - else if (tos_type == stos) - ldrsh_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0); - else - ldr_imm(jinfo->codebuf, r, r_obj, field_offset, 1, 0); - break; - } - } - } - Thumb2_Flush(jinfo); - if (cache->is_vfinal()) { - ldr_imm(jinfo->codebuf, ARM_R2, Ristate, ISTATE_METHOD, 1, 0); - ldr_imm(jinfo->codebuf, ARM_R0, Ristate, ISTATE_CONSTANTS, 1, 0); - mov_imm(jinfo->codebuf, ARM_R1, 0); - ldr_imm(jinfo->codebuf, ARM_R3, Rstack, (cache->parameter_size()-1) * sizeof(int), 1, 0); - ldr_imm(jinfo->codebuf, ARM_R0, ARM_R0, CP_OFFSET + (index << 4) + 8, 1, 0); - ldr_imm(jinfo->codebuf, ARM_R2, ARM_R2, METHOD_CONSTMETHOD, 1, 0); - ldr_imm(jinfo->codebuf, ARM_R3, ARM_R3, 0, 1, 0); // Null pointer check - cbz better? - str_imm(jinfo->codebuf, ARM_R1, Rthread, THREAD_LAST_JAVA_SP, 1, 0); - ldr_imm(jinfo->codebuf, ARM_R1, ARM_R0, METHOD_FROM_INTERPRETED, 1, 0); - add_imm(jinfo->codebuf, ARM_R2, ARM_R2, bci+CONSTMETHOD_CODEOFFSET); - str_imm(jinfo->codebuf, Rstack, Rthread, THREAD_JAVA_SP, 1, 0); - Thumb2_Debug(jinfo, H_DEBUG_METHODCALL); - Thumb2_invoke_save(jinfo, stackdepth); - sub_imm(jinfo->codebuf, Rstack, Rstack, 4); - ldr_imm(jinfo->codebuf, ARM_R3, ARM_R1, 0, 1, 0); - str_imm(jinfo->codebuf, ARM_R2, Ristate, ISTATE_BCP, 1, 0); - mov_reg(jinfo->codebuf, ARM_R2, Rthread); - str_imm(jinfo->codebuf, Rstack, Ristate, ISTATE_STACK, 1, 0); -add_imm(jinfo->codebuf, ARM_R3, ARM_R3, CODE_ALIGN_SIZE); -// enter_leave(jinfo->codebuf, 0); - blx_reg(jinfo->codebuf, ARM_R3); -// enter_leave(jinfo->codebuf, 1); - ldr_imm(jinfo->codebuf, Rthread, Ristate, ISTATE_THREAD, 1, 0); -#ifdef USE_RLOCAL - ldr_imm(jinfo->codebuf, Rlocals, Ristate, ISTATE_LOCALS, 1, 0); -#endif - ldr_imm(jinfo->codebuf, Rstack, Rthread, THREAD_JAVA_SP, 1, 0); - ldr_imm(jinfo->codebuf, ARM_R2, Ristate, ISTATE_STACK_LIMIT, 1, 0); - JASSERT(!(bc_stackinfo[bci+len] & BC_COMPILED), "code already compiled for this bytecode?"); - Thumb2_invoke_restore(jinfo, bc_stackinfo[bci+len] & ~BC_FLAGS_MASK); - ldr_imm(jinfo->codebuf, ARM_R1, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); - add_imm(jinfo->codebuf, ARM_R2, ARM_R2, 4); - ldr_imm(jinfo->codebuf, ARM_R3, Rthread, THREAD_PENDING_EXC, 1, 0); - str_imm(jinfo->codebuf, ARM_R2, Rthread, THREAD_JAVA_SP, 1, 0); - str_imm(jinfo->codebuf, ARM_R1, Rthread, THREAD_LAST_JAVA_SP, 1, 0); - cmp_imm(jinfo->codebuf, ARM_R3, 0); - it(jinfo->codebuf, COND_NE, IT_MASK_T); - bl(jinfo->codebuf, handlers[H_HANDLE_EXCEPTION_NO_REGS]); - break; - } else { - ldr_imm(jinfo->codebuf, ARM_R2, Ristate, ISTATE_METHOD, 1, 0); - ldr_imm(jinfo->codebuf, ARM_R3, Rstack, (cache->parameter_size()-1) * sizeof(int), 1, 0); - ldr_imm(jinfo->codebuf, ARM_R2, ARM_R2, METHOD_CONSTMETHOD, 1, 0); - ldr_imm(jinfo->codebuf, ARM_R3, ARM_R3, 4, 1, 0); - mov_imm(jinfo->codebuf, ARM_R1, 0); - ldr_imm(jinfo->codebuf, ARM_R0, ARM_R3, INSTANCEKLASS_VTABLE_OFFSET + cache->f2() * 4, 1, 0); - add_imm(jinfo->codebuf, ARM_R2, ARM_R2, bci+CONSTMETHOD_CODEOFFSET); - str_imm(jinfo->codebuf, ARM_R1, Rthread, THREAD_LAST_JAVA_SP, 1, 0); - ldr_imm(jinfo->codebuf, ARM_R1, ARM_R0, METHOD_FROM_INTERPRETED, 1, 0); - str_imm(jinfo->codebuf, ARM_R2, Ristate, ISTATE_BCP, 1, 0); - str_imm(jinfo->codebuf, Rstack, Rthread, THREAD_JAVA_SP, 1, 0); - Thumb2_Debug(jinfo, H_DEBUG_METHODCALL); Thumb2_invoke_save(jinfo, stackdepth); - sub_imm(jinfo->codebuf, Rstack, Rstack, 4); - ldr_imm(jinfo->codebuf, ARM_R3, ARM_R1, 0, 1, 0); - mov_reg(jinfo->codebuf, ARM_R2, Rthread); - str_imm(jinfo->codebuf, Rstack, Ristate, ISTATE_STACK, 1, 0); -add_imm(jinfo->codebuf, ARM_R3, ARM_R3, CODE_ALIGN_SIZE); -// enter_leave(jinfo->codebuf, 0); - blx_reg(jinfo->codebuf, ARM_R3); -// enter_leave(jinfo->codebuf, 1); - ldr_imm(jinfo->codebuf, Rthread, Ristate, ISTATE_THREAD, 1, 0); -#ifdef USE_RLOCAL - ldr_imm(jinfo->codebuf, Rlocals, Ristate, ISTATE_LOCALS, 1, 0); -#endif - ldr_imm(jinfo->codebuf, Rstack, Rthread, THREAD_JAVA_SP, 1, 0); - ldr_imm(jinfo->codebuf, ARM_R2, Ristate, ISTATE_STACK_LIMIT, 1, 0); - JASSERT(!(bc_stackinfo[bci+len] & BC_COMPILED), "code already compiled for this bytecode?"); - Thumb2_invoke_restore(jinfo, bc_stackinfo[bci+len] & ~BC_FLAGS_MASK); - ldr_imm(jinfo->codebuf, ARM_R1, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); - add_imm(jinfo->codebuf, ARM_R2, ARM_R2, 4); - ldr_imm(jinfo->codebuf, ARM_R3, Rthread, THREAD_PENDING_EXC, 1, 0); - str_imm(jinfo->codebuf, ARM_R2, Rthread, THREAD_JAVA_SP, 1, 0); - str_imm(jinfo->codebuf, ARM_R1, Rthread, THREAD_LAST_JAVA_SP, 1, 0); - cmp_imm(jinfo->codebuf, ARM_R3, 0); - it(jinfo->codebuf, COND_NE, IT_MASK_T); - bl(jinfo->codebuf, handlers[H_HANDLE_EXCEPTION_NO_REGS]); - } + mov_imm(jinfo->codebuf, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); + mov_imm(jinfo->codebuf, ARM_R1, index); + blx(jinfo->codebuf, handlers[H_INVOKEINTERFACE]); + Thumb2_invoke_restore(jinfo, STACKDEPTH(jinfo, bc_stackinfo[bci+len])); break; } case opc_jsr_w: case opc_jsr: { - Thumb2_Jsr(jinfo , bci, stackdepth); + int offset = opcode == opc_jsr ? + GET_JAVA_S2(jinfo->code_base + bci + 1) : + GET_JAVA_U4(jinfo->code_base + bci + 1); + Reg r; + + Thumb2_Spill(jinfo, 1, 0); + r = JSTACK_REG(jstack); + PUSH(jstack, r); + mov_imm(jinfo->codebuf, r, bci + ((opcode == opc_jsr) ? 3 : 5)); + Thumb2_Flush(jinfo); + bci = Thumb2_Goto(jinfo, bci, offset, len); + len = 0; break; } @@ -6033,25 +5489,20 @@ break; } - case opc_athrow: - Thumb2_Exit(jinfo, H_ATHROW, bci, stackdepth); - break; - - case opc_goto: { - int offset = GET_JAVA_S2(jinfo->code_base + bci + 1); + case opc_goto: + case opc_goto_w: { + int offset = opcode == opc_goto ? + GET_JAVA_S2(jinfo->code_base + bci + 1) : + GET_JAVA_U4(jinfo->code_base + bci + 1); Thumb2_Flush(jinfo); bci = Thumb2_Goto(jinfo, bci, offset, len); len = 0; break; } - case opc_goto_w: { - int offset = GET_JAVA_U4(jinfo->code_base + bci + 1); - Thumb2_Flush(jinfo); - bci = Thumb2_Goto(jinfo, bci, offset, len); - len = 0; + case opc_athrow: + Thumb2_Exit(jinfo, H_ATHROW, bci, stackdepth); break; - } case opc_ifeq: case opc_ifne: @@ -6100,8 +5551,7 @@ case opc_ireturn: case opc_freturn: case opc_areturn: - Thumb2_Return(jinfo, opcode); - if (!jinfo->compiled_return) jinfo->compiled_return = bci; + Thumb2_Return(jinfo, opcode, bci, stackdepth); break; case opc_return_register_finalizer: { @@ -6119,12 +5569,12 @@ loc_eq = forward_16(jinfo->codebuf); Thumb2_save_locals(jinfo, stackdepth); mov_reg(jinfo->codebuf, ARM_R1, r); - ldr_imm(jinfo->codebuf, ARM_R0, Ristate, ISTATE_METHOD, 1, 0); + load_istate(jinfo, ARM_R0, ISTATE_METHOD, stackdepth); ldr_imm(jinfo->codebuf, ARM_R0, ARM_R0, METHOD_CONSTMETHOD, 1, 0); add_imm(jinfo->codebuf, ARM_R0, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); - str_imm(jinfo->codebuf, ARM_R0, Ristate, ISTATE_BCP, 1, 0); + store_istate(jinfo, ARM_R0, ISTATE_BCP, stackdepth); sub_imm(jinfo->codebuf, ARM_R0, Rstack, 4); - str_imm(jinfo->codebuf, ARM_R0, Ristate, ISTATE_STACK, 1, 0); + store_istate(jinfo, ARM_R0, ISTATE_STACK, stackdepth); mov_reg(jinfo->codebuf, ARM_R0, Rthread); mov_imm(jinfo->codebuf, ARM_R3, (u32)_ZN18InterpreterRuntime18register_finalizerEP10JavaThreadP7oopDesc); @@ -6135,7 +5585,7 @@ it(jinfo->codebuf, COND_NE, IT_MASK_T); bl(jinfo->codebuf, handlers[H_HANDLE_EXCEPTION]); bcc_patch(jinfo->codebuf, COND_EQ, loc_eq); - Thumb2_Return(jinfo, opc_return); + Thumb2_Return(jinfo, opc_return, bci, stackdepth); break; } @@ -6217,6 +5667,31 @@ break; } + case opc_monitorenter: + Thumb2_Flush(jinfo); + Thumb2_invoke_save(jinfo, stackdepth); + mov_imm(jinfo->codebuf, ARM_R0, bci+CONSTMETHOD_CODEOFFSET); + bl(jinfo->codebuf, handlers[H_MONITORENTER]); + Thumb2_invoke_restore(jinfo, stackdepth); + break; + + case opc_monitorexit: { + Reg r; + + Thumb2_Fill(jinfo, 1); + r = POP(jstack); + Thumb2_Flush(jinfo); + mov_reg(jinfo->codebuf, ARM_R1, r); + mov_imm(jinfo->codebuf, ARM_R3, bci+CONSTMETHOD_CODEOFFSET); + Thumb2_save_locals(jinfo, stackdepth); + bl(jinfo->codebuf, handlers[H_MONITOREXIT]); + Thumb2_restore_locals(jinfo, stackdepth); + cmp_imm(jinfo->codebuf, ARM_R0, 0); + it(jinfo->codebuf, COND_NE, IT_MASK_T); + bl(jinfo->codebuf, handlers[H_HANDLE_EXCEPTION]); + break; + } + case opc_newarray: { Reg r; unsigned loc; @@ -6315,6 +5790,8 @@ Thumb2_Fill(jinfo, 1); r = POP(jstack); + Thumb2_Flush(jinfo); + table_loc = out_loc(jinfo->codebuf); for (i = 0, tablep = table; i < npairs; i++) { unsigned match; @@ -6381,6 +5858,7 @@ Thumb2_Fill(jinfo, 1); rs = POP(jstack); + Thumb2_Flush(jinfo); r = Thumb2_Tmp(jinfo, (1<codebuf, r, rs, low); cmp_imm(jinfo->codebuf, r, (high-low)+1); @@ -6457,7 +5935,6 @@ int nlocals = jinfo->method->max_locals(); r = ARM_IP; stackdepth -= jstack->depth; - if (jinfo->method->is_synchronized()) stackdepth += frame::interpreter_frame_monitor_size(); load_local(jinfo, r, local, stackdepth); add_imm(jinfo->codebuf, r, r, constant); store_local(jinfo, r, local, stackdepth); @@ -6488,7 +5965,7 @@ break; } bci += len; -#ifdef T2EE_PRINT_DISASS +#ifdef T2_PRINT_DISASS if (len == 0) { if (start_idx == jinfo->codebuf->idx) start_bci[start_idx] = -1; } else @@ -6640,113 +6117,17 @@ return 0; } -static int DebugSwitch = 1; - -extern "C" void Debug_Ignore_Safepoints(void) -{ - printf("Ignore Safepoints\n"); -} - -extern "C" void Debug_Notice_Safepoints(void) -{ - printf("Notice Safepoints\n"); -} - -extern "C" void Debug_ExceptionReturn(interpreterState istate, intptr_t *stack) -{ - JavaThread *thread = istate->thread(); - - if (thread->has_pending_exception()) { - Handle ex(thread, thread->pending_exception()); - tty->print_cr("Exception %s", Klass::cast(ex->klass())->external_name()); - } -} - -extern "C" void Debug_Stack(intptr_t *stack) -{ - int i; - char msg[16]; - - tty->print(" Stack:"); - for (i = 0; i < 6; i++) { - tty->print(" ["); - sprintf(msg, "%d", i); - tty->print(msg); - tty->print("] = "); - sprintf(msg, "%08x", (int)stack[i]); - tty->print(msg); - } - tty->cr(); -} - -extern "C" void Debug_MethodEntry(interpreterState istate, intptr_t *stack, methodOop callee) -{ -#if 0 - if (DebugSwitch) { - methodOop method = istate->method(); - tty->print("Entering "); - callee->print_short_name(tty); - tty->print(" from "); - method->print_short_name(tty); - tty->cr(); - Debug_Stack(stack); - tty->flush(); - } -#endif -} - -extern "C" void Debug_MethodExit(interpreterState istate, intptr_t *stack) -{ - if (DebugSwitch) { - methodOop method = istate->method(); - JavaThread *thread = istate->thread(); - oop exc = thread->pending_exception(); - - if (!exc) return; - tty->print("Leaving "); - method->print_short_name(tty); - tty->cr(); - Debug_Stack(stack); - tty->flush(); - if (exc) tty->print_cr("Exception %s", exc->print_value_string()); - } -} - -extern "C" void Debug_MethodCall(interpreterState istate, intptr_t *stack, methodOop callee) -{ -#if 0 - if (DebugSwitch) { - methodOop method = istate->method(); - tty->print("Calling "); - callee->print_short_name(tty); - tty->print(" from "); - method->print_short_name(tty); - tty->cr(); - Debug_Stack(stack); - tty->flush(); - } -#endif -} - -extern "C" int Debug_irem_Handler(int a, int b) -{ - printf("%d %% %d\n", a, b); - return a%b; -} - extern "C" void Thumb2_Install(methodOop mh, u32 entry); -#define IS_COMPILED(e, cb) ((e) >= (unsigned)(cb) && (e) < (unsigned)(cb) + (cb)->size) - extern "C" unsigned cmpxchg_ptr(unsigned new_value, volatile unsigned *ptr, unsigned cmp_value); static volatile unsigned compiling; static unsigned CompileCount = 0; -static unsigned MaxCompile = 130; +static unsigned MaxCompile = 10000; #define COMPILE_ONLY 0 #define COMPILE_COUNT 0 #define DISASS_AFTER 0 -//#define COMPILE_LIST 0 +//#define COMPILE_LIST #ifdef COMPILE_LIST static const char *compile_list[] = { @@ -6756,10 +6137,9 @@ static unsigned compiled_methods = 0; -#ifdef T2EE_PRINT_STATISTICS +#ifdef T2_PRINT_STATISTICS static unsigned bytecodes_compiled = 0; static unsigned arm_code_generated = 0; -static unsigned total_zombie_bytes = 0; static clock_t total_compile_time = 0; #endif @@ -6805,7 +6185,7 @@ compiled_offset = Thumb2_osr_from_bci(cmethod, branch_pc); if (compiled_offset == 0) return 0; thumb_entry.compiled_entrypoint = slow_entry + compiled_offset; - thumb_entry.osr_entry = (unsigned)cmethod->osr_entry | TBIT; + thumb_entry.regusage = cmethod->regusage; return *(unsigned long long *)&thumb_entry; } @@ -6820,8 +6200,7 @@ // Othersize we have difficulty access the locals from the stack pointer // if (code_size > THUMB2_MAX_BYTECODE_SIZE || - (method->max_locals() + method->max_stack()) >= 1000 || - method->has_monitor_bytecodes()) { + (method->max_locals() + method->max_stack()) >= 1000) { method->set_not_compilable(); return 0; } @@ -6840,7 +6219,10 @@ if (strcmp(s, method->name_and_sig_as_C_string()) == 0) break; } - if (!s) return 0; + if (!s) { + method->set_not_compilable(); + return 0; + } } #endif @@ -6857,23 +6239,24 @@ if (cmpxchg_ptr(1, &compiling, 0)) return 0; -#ifdef T2EE_PRINT_STATISTICS +#ifdef T2_PRINT_STATISTICS clock_t compile_time = clock(); #endif -#ifdef T2EE_PRINT_COMPILATION - if (t2ee_print_compilation) { - fprintf(stderr, "Compiling %d %c%c %s\n", +#ifdef T2_PRINT_COMPILATION + if (t2_print_compilation) { + fprintf(stderr, "Compiling %d %c%c%c %s\n", compiled_methods, method->is_synchronized() ? 'S' : ' ', method->has_exception_handler() ? 'E' : ' ', + method->has_monitor_bytecodes() ? 'M' : ' ', method->name_and_sig_as_C_string()); } #endif memset(bc_stackinfo, 0, code_size * sizeof(unsigned)); memset(locals_info, 0, method->max_locals() * sizeof(unsigned)); -#ifdef T2EE_PRINT_DISASS +#ifdef T2_PRINT_DISASS memset(start_bci, 0xff, sizeof(start_bci)); memset(end_bci, 0xff, sizeof(end_bci)); #endif @@ -6885,13 +6268,13 @@ jinfo_str.bc_stackinfo = bc_stackinfo; jinfo_str.locals_info = locals_info; jinfo_str.compiled_return = 0; - jinfo_str.zombie_bytes = 0; + for (int i = 0; i < 12; i++) jinfo_str.compiled_word_return[i] = 0; jinfo_str.is_leaf = 1; + jinfo_str.use_istate = method->has_monitor_bytecodes(); Thumb2_local_info_from_sig(&jinfo_str, method, base); - Thumb2_pass1(&jinfo_str, 0); - Thumb2_pass2(&jinfo_str, 0, 0); + Thumb2_pass1(&jinfo_str, 0, 0); codebuf_str.codebuf = (unsigned short *)cb->hp; codebuf_str.idx = 0; @@ -6912,16 +6295,14 @@ jregs_str.pregs[1] = JAZ_V2; jregs_str.pregs[2] = JAZ_V3; jregs_str.pregs[3] = JAZ_V4; - -#ifndef USE_RLOCAL jregs_str.pregs[4] = JAZ_V5; -#endif + jregs_str.pregs[5] = JAZ_V6; jregs_str.npregs = PREGS; Thumb2_RegAlloc(&jinfo_str); - slow_entry = out_align(&codebuf_str, CODE_ALIGN); + slow_entry = out_align_offset(&codebuf_str, CODE_ALIGN, SLOW_ENTRY_OFFSET); cmethod = (Compiled_Method *)slow_entry; slow_entry |= TBIT; @@ -6937,9 +6318,9 @@ compiled_accessor = 0; } -#ifdef T2EE_PRINT_DISASS +#ifdef T2_PRINT_DISASS if (DISASS_AFTER == 0 || compiled_methods >= DISASS_AFTER) - if (t2ee_print_disass) + if (t2_print_disass) Thumb2_disass(&jinfo_str); #endif @@ -6948,15 +6329,14 @@ Thumb2_Clear_Cache(cb->hp, cb->hp + codebuf_str.idx * 2); -#ifdef T2EE_PRINT_STATISTICS +#ifdef T2_PRINT_STATISTICS compile_time = clock() - compile_time; total_compile_time += compile_time; - if (t2ee_print_statistics) { + if (t2_print_statistics) { unsigned codegen = codebuf_str.idx * 2; bytecodes_compiled += code_size; arm_code_generated += codegen; - total_zombie_bytes += jinfo_str.zombie_bytes; fprintf(stderr, "%d bytecodes => %d bytes code in %.2f sec, totals: %d => %d in %.2f sec\n", code_size, codegen, (double)compile_time/(double)CLOCKS_PER_SEC, bytecodes_compiled, arm_code_generated, (double)total_compile_time/(double)CLOCKS_PER_SEC); @@ -6984,7 +6364,7 @@ compiled_offset = Thumb2_osr_from_bci(cmethod, branch_pc); if (compiled_offset == 0) return 0; thumb_entry.compiled_entrypoint = slow_entry + compiled_offset; - thumb_entry.osr_entry = (unsigned)cmethod->osr_entry | TBIT; + thumb_entry.regusage = cmethod->regusage; return *(unsigned long long *)&thumb_entry; } @@ -6994,6 +6374,7 @@ extern "C" void Thumb2_Handle_Exception_NoRegs(void); extern "C" void Thumb2_Exit_To_Interpreter(void); extern "C" void Thumb2_Stack_Overflow(void); +extern "C" void Thumb2_monitorenter(void); extern "C" void __divsi3(void); extern "C" void __aeabi_ldivmod(void); @@ -7006,6 +6387,7 @@ extern "C" void Helper_new(void); extern "C" void Helper_instanceof(void); extern "C" void Helper_checkcast(void); +extern "C" void Helper_monitorexit(void); extern "C" void Helper_aastore(void); extern "C" void Helper_aputfield(void); extern "C" void Helper_synchronized_enter(void); @@ -7049,6 +6431,11 @@ extern char Thumb2_putstatic_a_stub[]; extern char Thumb2_putstatic_dw_stub[]; +extern char Thumb2_invokestaticresolved_stub[]; +extern char Thumb2_invokespecialresolved_stub[]; +extern char Thumb2_invokevirtualresolved_stub[]; +extern char Thumb2_invokevfinalresolved_stub[]; + #define STUBS_SIZE (Thumb2_stubs_end-Thumb2_stubs) #define IDIV_STUB (Thumb2_idiv_stub-Thumb2_stubs) #define IREM_STUB (Thumb2_irem_stub-Thumb2_stubs) @@ -7077,13 +6464,18 @@ #define PUTSTATIC_A_STUB (Thumb2_putstatic_a_stub-Thumb2_stubs) #define PUTSTATIC_DW_STUB (Thumb2_putstatic_dw_stub-Thumb2_stubs) +#define INVOKESTATIC_RESOLVED_STUB (Thumb2_invokestaticresolved_stub-Thumb2_stubs) +#define INVOKESPECIAL_RESOLVED_STUB (Thumb2_invokespecialresolved_stub-Thumb2_stubs) +#define INVOKEVIRTUAL_RESOLVED_STUB (Thumb2_invokevirtualresolved_stub-Thumb2_stubs) +#define INVOKEVFINAL_RESOLVED_STUB (Thumb2_invokevfinalresolved_stub-Thumb2_stubs) + extern "C" void Thumb2_NullPtr_Handler(void); extern "C" int Thumb2_Check_Null(unsigned *regs, unsigned pc) { Thumb2_CodeBuf *cb = thumb2_codebuf; - if (!(CPUInfo & ARCH_THUMBEE)) return 0; + if (!(CPUInfo & ARCH_THUMB2)) return 0; if (IS_COMPILED(pc, cb)) { regs[ARM_LR] = pc; regs[ARM_PC] = (unsigned)Thumb2_NullPtr_Handler; @@ -7101,23 +6493,24 @@ u32 loc_irem, loc_idiv, loc_ldiv; int rc; - if (!(CPUInfo & ARCH_THUMBEE)) { + if (!(CPUInfo & ARCH_THUMB2)) { DisableCompiler = 1; return; } -#ifdef T2EE_PRINT_COMPILATION - t2ee_print_compilation = getenv("T2EE_PRINT_COMPILATION"); +#ifdef T2_PRINT_COMPILATION + t2_print_compilation = getenv("T2_PRINT_COMPILATION"); #endif -#ifdef T2EE_PRINT_STATISTICS - t2ee_print_statistics = getenv("T2EE_PRINT_STATISTICS"); +#ifdef T2_PRINT_STATISTICS + t2_print_statistics = getenv("T2_PRINT_STATISTICS"); #endif -#ifdef T2EE_PRINT_DISASS - t2ee_print_disass = getenv("T2EE_PRINT_DISASS"); +#ifdef T2_PRINT_DISASS + t2_print_disass = getenv("T2_PRINT_DISASS"); #endif -#ifdef T2EE_PRINT_REGUSAGE - t2ee_print_regusage = getenv("T2EE_PRINT_REGUSAGE"); +#ifdef T2_PRINT_REGUSAGE + t2_print_regusage = getenv("T2_PRINT_REGUSAGE"); #endif + t2_ospace = getenv("T2_OSPACE"); cb = (Thumb2_CodeBuf *)mmap(0, THUMB2_CODEBUF_SIZE, PROT_EXEC|PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0); if (cb == MAP_FAILED) { @@ -7138,7 +6531,6 @@ return; } -#if 1 memcpy(cb->hp, Thumb2_stubs, STUBS_SIZE); handlers[H_IDIV] = (unsigned)(cb->hp + IDIV_STUB); @@ -7148,6 +6540,11 @@ handlers[H_INVOKESTATIC] = (unsigned)(cb->hp + INVOKESTATIC_STUB); handlers[H_INVOKESPECIAL] = (unsigned)(cb->hp + INVOKESPECIAL_STUB); + handlers[H_INVOKESTATIC_RESOLVED] = (unsigned)(cb->hp + INVOKESTATIC_RESOLVED_STUB); + handlers[H_INVOKESPECIAL_RESOLVED] = (unsigned)(cb->hp + INVOKESPECIAL_RESOLVED_STUB); + handlers[H_INVOKEVIRTUAL_RESOLVED] = (unsigned)(cb->hp + INVOKEVIRTUAL_RESOLVED_STUB); + handlers[H_INVOKEVFINAL] = (unsigned)(cb->hp + INVOKEVFINAL_RESOLVED_STUB); + handlers[H_GETFIELD_WORD] = (unsigned)(cb->hp + GETFIELD_WORD_STUB); handlers[H_GETFIELD_SH] = (unsigned)(cb->hp + GETFIELD_SH_STUB); handlers[H_GETFIELD_H] = (unsigned)(cb->hp + GETFIELD_H_STUB); @@ -7173,7 +6570,6 @@ handlers[H_PUTSTATIC_DW] = (unsigned)(cb->hp + PUTSTATIC_DW_STUB); codebuf.idx += (Thumb2_stubs_end-Thumb2_stubs) >> 1; -#endif handlers[H_LDIV] = handlers[H_LREM] = out_pos(&codebuf); dop_reg(&codebuf, DP_ORR, ARM_IP, ARM_R2, ARM_R3, 0, 0); @@ -7253,7 +6649,8 @@ // r3 = bci // result -> R0, == 0 => exception handlers[H_NEW] = out_pos(&codebuf); - mov_reg(&codebuf, ARM_R0, Ristate); + ldr_imm(&codebuf, ARM_R0, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + sub_imm(&codebuf, ARM_R0, ARM_R0, ISTATE_NEXT_FRAME); ldr_imm(&codebuf, ARM_R2, ARM_R0, ISTATE_METHOD, 1, 0); mov_imm(&codebuf, ARM_IP, (u32)Helper_new); ldr_imm(&codebuf, ARM_R2, ARM_R2, METHOD_CONSTMETHOD, 1, 0); @@ -7269,14 +6666,15 @@ // r3 = bci // result -> thread->vm_result handlers[H_NEWARRAY] = out_pos(&codebuf); - ldr_imm(&codebuf, ARM_R0, Ristate, ISTATE_METHOD, 1, 0); - mov_imm(&codebuf, ARM_IP, (u32)_ZN18InterpreterRuntime8newarrayEP10JavaThread9BasicTypei); + ldr_imm(&codebuf, ARM_IP, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + ldr_imm(&codebuf, ARM_R0, ARM_IP, ISTATE_METHOD-ISTATE_NEXT_FRAME, 1, 0); ldr_imm(&codebuf, ARM_R0, ARM_R0, METHOD_CONSTMETHOD, 1, 0); add_reg(&codebuf, ARM_R3, ARM_R0, ARM_R3); mov_reg(&codebuf, ARM_R0, Rthread); - str_imm(&codebuf, ARM_R3, Ristate, ISTATE_BCP, 1, 0); -sub_imm(&codebuf, ARM_R3, Rstack, 4); - str_imm(&codebuf, ARM_R3, Ristate, ISTATE_STACK, 1, 0); + str_imm(&codebuf, ARM_R3, ARM_IP, ISTATE_BCP-ISTATE_NEXT_FRAME, 1, 0); + sub_imm(&codebuf, ARM_R3, Rstack, 4); + str_imm(&codebuf, ARM_R3, ARM_IP, ISTATE_STACK-ISTATE_NEXT_FRAME, 1, 0); + mov_imm(&codebuf, ARM_IP, (u32)_ZN18InterpreterRuntime8newarrayEP10JavaThread9BasicTypei); mov_reg(&codebuf, ARM_PC, ARM_IP); // ANEWARRAY Stub @@ -7285,14 +6683,18 @@ // r3 = tos // result -> thread->vm_result handlers[H_ANEWARRAY] = out_pos(&codebuf); -sub_imm(&codebuf, ARM_R1, Rstack, 4); - str_imm(&codebuf, ARM_R1, Ristate, ISTATE_STACK, 1, 0); - ldr_imm(&codebuf, ARM_R1, Ristate, ISTATE_METHOD, 1, 0); - ldr_imm(&codebuf, ARM_IP, ARM_R1, METHOD_CONSTMETHOD, 1, 0); + ldr_imm(&codebuf, ARM_IP, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + ldr_imm(&codebuf, ARM_R1, ARM_IP, ISTATE_METHOD-ISTATE_NEXT_FRAME, 1, 0); + ldr_imm(&codebuf, ARM_R1, ARM_R1, METHOD_CONSTMETHOD, 1, 0); + add_reg(&codebuf, ARM_R0, ARM_R0, ARM_R1); + str_imm(&codebuf, ARM_R0, ARM_IP, ISTATE_BCP-ISTATE_NEXT_FRAME, 1, 0); + + sub_imm(&codebuf, ARM_R1, Rstack, 4); + str_imm(&codebuf, ARM_R1, ARM_IP, ISTATE_STACK-ISTATE_NEXT_FRAME, 1, 0); + + ldr_imm(&codebuf, ARM_R1, ARM_IP, ISTATE_METHOD-ISTATE_NEXT_FRAME, 1, 0); ldr_imm(&codebuf, ARM_R1, ARM_R1, METHOD_CONSTANTS, 1, 0); - add_reg(&codebuf, ARM_R0, ARM_IP, ARM_R0); mov_imm(&codebuf, ARM_IP, (u32)_ZN18InterpreterRuntime9anewarrayEP10JavaThreadP19constantPoolOopDescii); - str_imm(&codebuf, ARM_R0, Ristate, ISTATE_BCP, 1, 0); mov_reg(&codebuf, ARM_R0, Rthread); mov_reg(&codebuf, ARM_PC, ARM_IP); @@ -7300,14 +6702,15 @@ // r0 = bci // r1 = dimensions (*4) handlers[H_MULTIANEWARRAY] = out_pos(&codebuf); - ldr_imm(&codebuf, ARM_R2, Ristate, ISTATE_METHOD, 1, 0); + ldr_imm(&codebuf, ARM_IP, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + ldr_imm(&codebuf, ARM_R2, ARM_IP, ISTATE_METHOD-ISTATE_NEXT_FRAME, 1, 0); sub_imm(&codebuf, ARM_R3, Rstack, 4); ldr_imm(&codebuf, ARM_R2, ARM_R2, METHOD_CONSTMETHOD, 1, 0); - str_imm(&codebuf, ARM_R3, Ristate, ISTATE_STACK, 1, 0); + str_imm(&codebuf, ARM_R3, ARM_IP, ISTATE_STACK-ISTATE_NEXT_FRAME, 1, 0); add_reg(&codebuf, ARM_R0, ARM_R2, ARM_R0); add_reg(&codebuf, Rstack, Rstack, ARM_R1); mov_imm(&codebuf, ARM_R3, (u32)_ZN18InterpreterRuntime14multianewarrayEP10JavaThreadPi); - str_imm(&codebuf, ARM_R0, Ristate, ISTATE_BCP, 1, 0); + str_imm(&codebuf, ARM_R0, ARM_IP, ISTATE_BCP-ISTATE_NEXT_FRAME, 1, 0); mov_reg(&codebuf, ARM_R0, Rthread); sub_imm(&codebuf, ARM_R1, Rstack, 4); mov_reg(&codebuf, ARM_PC, ARM_R3); @@ -7315,45 +6718,91 @@ // LDC Stub // r0 = bci handlers[H_LDC] = out_pos(&codebuf); - ldr_imm(&codebuf, ARM_R2, Ristate, ISTATE_METHOD, 1, 0); + ldr_imm(&codebuf, ARM_IP, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + ldr_imm(&codebuf, ARM_R2, ARM_IP, ISTATE_METHOD-ISTATE_NEXT_FRAME, 1, 0); + sub_imm(&codebuf, ARM_R3, Rstack, 4); + ldr_imm(&codebuf, ARM_R2, ARM_R2, METHOD_CONSTMETHOD, 1, 0); + str_imm(&codebuf, ARM_R3, ARM_IP, ISTATE_STACK-ISTATE_NEXT_FRAME, 1, 0); + add_reg(&codebuf, ARM_R0, ARM_R2, ARM_R0); + mov_imm(&codebuf, ARM_R3, (u32)_ZN18InterpreterRuntime3ldcEP10JavaThreadb); + str_imm(&codebuf, ARM_R0, ARM_IP, ISTATE_BCP-ISTATE_NEXT_FRAME, 1, 0); + mov_reg(&codebuf, ARM_R0, Rthread); + mov_imm(&codebuf, ARM_R1, 0); + mov_reg(&codebuf, ARM_PC, ARM_R3); + +// LDC_W Stub +// r0 = bci + handlers[H_LDC_W] = out_pos(&codebuf); + ldr_imm(&codebuf, ARM_IP, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + ldr_imm(&codebuf, ARM_R2, ARM_IP, ISTATE_METHOD-ISTATE_NEXT_FRAME, 1, 0); sub_imm(&codebuf, ARM_R3, Rstack, 4); ldr_imm(&codebuf, ARM_R2, ARM_R2, METHOD_CONSTMETHOD, 1, 0); - str_imm(&codebuf, ARM_R3, Ristate, ISTATE_STACK, 1, 0); + str_imm(&codebuf, ARM_R3, ARM_IP, ISTATE_STACK-ISTATE_NEXT_FRAME, 1, 0); add_reg(&codebuf, ARM_R0, ARM_R2, ARM_R0); mov_imm(&codebuf, ARM_R3, (u32)_ZN18InterpreterRuntime3ldcEP10JavaThreadb); - str_imm(&codebuf, ARM_R0, Ristate, ISTATE_BCP, 1, 0); + str_imm(&codebuf, ARM_R0, ARM_IP, ISTATE_BCP-ISTATE_NEXT_FRAME, 1, 0); mov_reg(&codebuf, ARM_R0, Rthread); -// mov_imm(&codebuf, ARM_R1, 0); + mov_imm(&codebuf, ARM_R1, 1); mov_reg(&codebuf, ARM_PC, ARM_R3); // INSTANCEOF Stub // r1 = index +// r2 = tos // r3 = bci // result -> R0, == -1 => exception handlers[H_INSTANCEOF] = out_pos(&codebuf); - ldr_imm(&codebuf, ARM_R0, Ristate, ISTATE_METHOD, 1, 0); + ldr_imm(&codebuf, ARM_R0, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + sub_imm(&codebuf, ARM_R0, ARM_R0, ISTATE_NEXT_FRAME); + ldr_imm(&codebuf, ARM_IP, ARM_R0, ISTATE_METHOD, 1, 0); + ldr_imm(&codebuf, ARM_IP, ARM_IP, METHOD_CONSTMETHOD, 1, 0); + add_reg(&codebuf, ARM_R3, ARM_IP, ARM_R3); + str_imm(&codebuf, ARM_R3, ARM_R0, ISTATE_BCP, 1, 0); + sub_imm(&codebuf, ARM_R3, Rstack, 4); + str_imm(&codebuf, ARM_R3, ARM_R0, ISTATE_STACK, 1, 0); mov_imm(&codebuf, ARM_IP, (u32)Helper_instanceof); - ldr_imm(&codebuf, ARM_R0, ARM_R0, METHOD_CONSTMETHOD, 1, 0); - add_reg(&codebuf, ARM_R0, ARM_R0, ARM_R3); -sub_imm(&codebuf, ARM_R3, Rstack, 4); - str_imm(&codebuf, ARM_R3, Ristate, ISTATE_STACK, 1, 0); - str_imm(&codebuf, ARM_R0, Ristate, ISTATE_BCP, 1, 0); - mov_reg(&codebuf, ARM_R0, Ristate); mov_reg(&codebuf, ARM_PC, ARM_IP); // CHECKCAST Stub // r1 = index +// r2 = tos // r3 = bci // result -> R0, != 0 => exception handlers[H_CHECKCAST] = out_pos(&codebuf); - ldr_imm(&codebuf, ARM_R0, Ristate, ISTATE_METHOD, 1, 0); + ldr_imm(&codebuf, ARM_R0, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + sub_imm(&codebuf, ARM_R0, ARM_R0, ISTATE_NEXT_FRAME); + ldr_imm(&codebuf, ARM_IP, ARM_R0, ISTATE_METHOD, 1, 0); + ldr_imm(&codebuf, ARM_IP, ARM_IP, METHOD_CONSTMETHOD, 1, 0); + add_reg(&codebuf, ARM_R3, ARM_IP, ARM_R3); + str_imm(&codebuf, ARM_R3, ARM_R0, ISTATE_BCP, 1, 0); + sub_imm(&codebuf, ARM_R3, Rstack, 4); + str_imm(&codebuf, ARM_R3, ARM_R0, ISTATE_STACK, 1, 0); mov_imm(&codebuf, ARM_IP, (u32)Helper_checkcast); - ldr_imm(&codebuf, ARM_R0, ARM_R0, METHOD_CONSTMETHOD, 1, 0); - add_reg(&codebuf, ARM_R0, ARM_R0, ARM_R3); -sub_imm(&codebuf, ARM_R3, Rstack, 4); - str_imm(&codebuf, ARM_R3, Ristate, ISTATE_STACK, 1, 0); - str_imm(&codebuf, ARM_R0, Ristate, ISTATE_BCP, 1, 0); - mov_reg(&codebuf, ARM_R0, Ristate); + mov_reg(&codebuf, ARM_PC, ARM_IP); + +// MONITORENTER +// r0 = bci + handlers[H_MONITORENTER] = out_pos(&codebuf); + ldr_imm(&codebuf, ARM_R2, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + mov_imm(&codebuf, ARM_R3, (u32)Thumb2_monitorenter); + ldr_imm(&codebuf, ARM_R1, ARM_R2, ISTATE_METHOD-ISTATE_NEXT_FRAME, 1, 0); + ldr_imm(&codebuf, ARM_IP, ARM_R1, METHOD_CONSTMETHOD, 1, 0); + add_reg(&codebuf, Rint_jpc, ARM_IP, ARM_R0); + mov_reg(&codebuf, ARM_PC, ARM_R3); + +// MONITOREXIT Stub +// r1 = tos +// r3 = bci +// result -> R0, != 0 => exception + handlers[H_MONITOREXIT] = out_pos(&codebuf); + ldr_imm(&codebuf, ARM_R0, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + sub_imm(&codebuf, ARM_R0, ARM_R0, ISTATE_NEXT_FRAME); + ldr_imm(&codebuf, ARM_IP, ARM_R0, ISTATE_METHOD, 1, 0); + ldr_imm(&codebuf, ARM_IP, ARM_IP, METHOD_CONSTMETHOD, 1, 0); + add_reg(&codebuf, ARM_R3, ARM_IP, ARM_R3); + str_imm(&codebuf, ARM_R3, ARM_R0, ISTATE_BCP, 1, 0); + sub_imm(&codebuf, ARM_R3, Rstack, 4); + str_imm(&codebuf, ARM_R3, ARM_R0, ISTATE_STACK, 1, 0); + mov_imm(&codebuf, ARM_IP, (u32)Helper_monitorexit); mov_reg(&codebuf, ARM_PC, ARM_IP); // AASTORE Stub @@ -7362,14 +6811,16 @@ // r2 = index // r3 = arrayref handlers[H_AASTORE] = out_pos(&codebuf); - ldr_imm(&codebuf, ARM_IP, Ristate, ISTATE_METHOD, 1, 0); + ldr_imm(&codebuf, ARM_IP, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + ldr_imm(&codebuf, ARM_IP, ARM_IP, ISTATE_METHOD-ISTATE_NEXT_FRAME, 1, 0); ldr_imm(&codebuf, ARM_IP, ARM_IP, METHOD_CONSTMETHOD, 1, 0); add_reg(&codebuf, ARM_IP, ARM_IP, ARM_R0); -sub_imm(&codebuf, ARM_R0, Rstack, 4); - str_imm(&codebuf, ARM_R0, Ristate, ISTATE_STACK, 1, 0); - str_imm(&codebuf, ARM_IP, Ristate, ISTATE_BCP, 1, 0); + ldr_imm(&codebuf, ARM_R0, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + sub_imm(&codebuf, ARM_R0, ARM_R0, ISTATE_NEXT_FRAME); + str_imm(&codebuf, ARM_IP, ARM_R0, ISTATE_BCP, 1, 0); + sub_imm(&codebuf, ARM_IP, Rstack, 4); + str_imm(&codebuf, ARM_IP, ARM_R0, ISTATE_STACK, 1, 0); mov_imm(&codebuf, ARM_IP, (u32)Helper_aastore); - mov_reg(&codebuf, ARM_R0, Ristate); mov_reg(&codebuf, ARM_PC, ARM_IP); // APUTFIELD Stub @@ -7380,16 +6831,20 @@ // SYNCHRONIZED_ENTER Stub // r0 = bci -// r1 = monitor +// Rstack = monitor handlers[H_SYNCHRONIZED_ENTER] = out_pos(&codebuf); - ldr_imm(&codebuf, ARM_IP, Ristate, ISTATE_METHOD, 1, 0); - ldr_imm(&codebuf, ARM_IP, ARM_IP, METHOD_CONSTMETHOD, 1, 0); - add_reg(&codebuf, ARM_IP, ARM_IP, ARM_R0); -sub_imm(&codebuf, ARM_R0, Rstack, 4); - str_imm(&codebuf, ARM_R0, Ristate, ISTATE_STACK, 1, 0); - str_imm(&codebuf, ARM_IP, Ristate, ISTATE_BCP, 1, 0); + ldr_imm(&codebuf, ARM_R1, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + ldr_imm(&codebuf, ARM_R2, ARM_R1, ISTATE_METHOD-ISTATE_NEXT_FRAME, 1, 0); + ldr_imm(&codebuf, ARM_R2, ARM_R2, METHOD_CONSTMETHOD, 1, 0); + add_reg(&codebuf, ARM_R2, ARM_R2, ARM_R0); + str_imm(&codebuf, ARM_R2, ARM_R1, ISTATE_BCP-ISTATE_NEXT_FRAME, 1, 0); + + sub_imm(&codebuf, ARM_R0, Rstack, 4); + str_imm(&codebuf, ARM_R0, ARM_R1, ISTATE_STACK-ISTATE_NEXT_FRAME, 1, 0); + mov_imm(&codebuf, ARM_IP, (u32)Helper_synchronized_enter); mov_reg(&codebuf, ARM_R0, Rthread); + mov_reg(&codebuf, ARM_R1, Rstack); mov_reg(&codebuf, ARM_PC, ARM_IP); // @@ -7397,54 +6852,26 @@ // r0 = bci // r1 = monitor handlers[H_SYNCHRONIZED_EXIT] = out_pos(&codebuf); - ldr_imm(&codebuf, ARM_IP, Ristate, ISTATE_METHOD, 1, 0); + ldr_imm(&codebuf, ARM_R2, Rthread, THREAD_TOP_ZERO_FRAME, 1, 0); + + ldr_imm(&codebuf, ARM_IP, ARM_R2, ISTATE_METHOD-ISTATE_NEXT_FRAME, 1, 0); ldr_imm(&codebuf, ARM_IP, ARM_IP, METHOD_CONSTMETHOD, 1, 0); add_reg(&codebuf, ARM_IP, ARM_IP, ARM_R0); -sub_imm(&codebuf, ARM_R0, Rstack, 4); - str_imm(&codebuf, ARM_R0, Ristate, ISTATE_STACK, 1, 0); - str_imm(&codebuf, ARM_IP, Ristate, ISTATE_BCP, 1, 0); + sub_imm(&codebuf, ARM_R0, Rstack, 4); + str_imm(&codebuf, ARM_R0, ARM_R2, ISTATE_STACK-ISTATE_NEXT_FRAME, 1, 0); + str_imm(&codebuf, ARM_IP, ARM_R2, ISTATE_BCP-ISTATE_NEXT_FRAME, 1, 0); mov_imm(&codebuf, ARM_IP, (u32)Helper_synchronized_exit); mov_reg(&codebuf, ARM_R0, Rthread); mov_reg(&codebuf, ARM_PC, ARM_IP); -#define DEBUG_REGSET ((1<hp, cb->hp + codebuf.idx * 2); @@ -7453,4 +6880,4 @@ thumb2_codebuf = cb; } -#endif // THUMB2EE +#endif // T2JIT From gbenson at icedtea.classpath.org Thu Mar 11 04:20:16 2010 From: gbenson at icedtea.classpath.org (gbenson at icedtea.classpath.org) Date: Thu, 11 Mar 2010 12:20:16 +0000 Subject: /hg/icedtea6: 2 new changesets Message-ID: changeset 5bf9ae8dd443 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=5bf9ae8dd443 author: Gary Benson date: Thu Mar 11 12:16:17 2010 +0000 Whitespace changes changeset 121319a7f899 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=121319a7f899 author: Gary Benson date: Thu Mar 11 12:20:10 2010 +0000 Increased ThreadStackSize by 512kb on 32-bit platforms diffstat: 3 files changed, 43 insertions(+), 33 deletions(-) ChangeLog | 11 + ports/hotspot/src/cpu/zero/vm/shark_globals_zero.hpp | 60 +++++----- ports/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp | 5 diffs (112 lines): diff -r aec804768b19 -r 121319a7f899 ChangeLog --- a/ChangeLog Wed Mar 10 21:53:48 2010 +0000 +++ b/ChangeLog Thu Mar 11 12:20:10 2010 +0000 @@ -1,3 +1,14 @@ 2010-03-10 Andrew John Hughes + + * ports/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp + (ThreadStackSize): Increased by 512kb on 32-bit platforms so as + to work on systems with 64kb page sizes. + +2010-03-11 Gary Benson + + * ports/hotspot/src/cpu/zero/vm/shark_globals_zero.hpp: + Whitespace changes. + 2010-03-10 Andrew John Hughes * Makefile.am: diff -r aec804768b19 -r 121319a7f899 ports/hotspot/src/cpu/zero/vm/shark_globals_zero.hpp --- a/ports/hotspot/src/cpu/zero/vm/shark_globals_zero.hpp Wed Mar 10 21:53:48 2010 +0000 +++ b/ports/hotspot/src/cpu/zero/vm/shark_globals_zero.hpp Thu Mar 11 12:20:10 2010 +0000 @@ -26,36 +26,36 @@ // Set the default values for platform dependent flags used by the // Shark compiler. See globals.hpp for details of what they do. -define_pd_global(bool, BackgroundCompilation, true ); -define_pd_global(bool, UseTLAB, true ); -define_pd_global(bool, ResizeTLAB, true ); -define_pd_global(bool, InlineIntrinsics, false); -define_pd_global(bool, PreferInterpreterNativeStubs, false); -define_pd_global(bool, ProfileTraps, false); -define_pd_global(bool, UseOnStackReplacement, true ); -define_pd_global(bool, TieredCompilation, false); +define_pd_global(bool, BackgroundCompilation, true ); +define_pd_global(bool, UseTLAB, true ); +define_pd_global(bool, ResizeTLAB, true ); +define_pd_global(bool, InlineIntrinsics, false); +define_pd_global(bool, PreferInterpreterNativeStubs, false); +define_pd_global(bool, ProfileTraps, false); +define_pd_global(bool, UseOnStackReplacement, true ); +define_pd_global(bool, TieredCompilation, false); -define_pd_global(intx, CompileThreshold, 1500); -define_pd_global(intx, Tier2CompileThreshold, 1500); -define_pd_global(intx, Tier3CompileThreshold, 2500); -define_pd_global(intx, Tier4CompileThreshold, 4500); +define_pd_global(intx, CompileThreshold, 1500); +define_pd_global(intx, Tier2CompileThreshold, 1500); +define_pd_global(intx, Tier3CompileThreshold, 2500); +define_pd_global(intx, Tier4CompileThreshold, 4500); -define_pd_global(intx, BackEdgeThreshold, 100000); -define_pd_global(intx, Tier2BackEdgeThreshold, 100000); -define_pd_global(intx, Tier3BackEdgeThreshold, 100000); -define_pd_global(intx, Tier4BackEdgeThreshold, 100000); +define_pd_global(intx, BackEdgeThreshold, 100000); +define_pd_global(intx, Tier2BackEdgeThreshold, 100000); +define_pd_global(intx, Tier3BackEdgeThreshold, 100000); +define_pd_global(intx, Tier4BackEdgeThreshold, 100000); -define_pd_global(intx, OnStackReplacePercentage, 933 ); -define_pd_global(intx, FreqInlineSize, 325 ); -define_pd_global(intx, NewRatio, 12 ); -define_pd_global(intx, NewSizeThreadIncrease, 4*K ); -define_pd_global(intx, InitialCodeCacheSize, 160*K); -define_pd_global(intx, ReservedCodeCacheSize, 32*M ); -define_pd_global(bool, ProfileInterpreter, false); -define_pd_global(intx, CodeCacheExpansionSize, 32*K ); -define_pd_global(uintx, CodeCacheMinBlockLength, 1 ); -define_pd_global(uintx, PermSize, 12*M ); -define_pd_global(uintx, MaxPermSize, 64*M ); -define_pd_global(bool, NeverActAsServerClassMachine, true ); -define_pd_global(uintx, DefaultMaxRAM, 1*G ); -define_pd_global(bool, CICompileOSR, true ); +define_pd_global(intx, OnStackReplacePercentage, 933 ); +define_pd_global(intx, FreqInlineSize, 325 ); +define_pd_global(intx, NewRatio, 12 ); +define_pd_global(intx, NewSizeThreadIncrease, 4*K ); +define_pd_global(intx, InitialCodeCacheSize, 160*K); +define_pd_global(intx, ReservedCodeCacheSize, 32*M ); +define_pd_global(bool, ProfileInterpreter, false); +define_pd_global(intx, CodeCacheExpansionSize, 32*K ); +define_pd_global(uintx, CodeCacheMinBlockLength, 1 ); +define_pd_global(uintx, PermSize, 12*M ); +define_pd_global(uintx, MaxPermSize, 64*M ); +define_pd_global(bool, NeverActAsServerClassMachine, true ); +define_pd_global(uintx, DefaultMaxRAM, 1*G ); +define_pd_global(bool, CICompileOSR, true ); diff -r aec804768b19 -r 121319a7f899 ports/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp --- a/ports/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp Wed Mar 10 21:53:48 2010 +0000 +++ b/ports/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp Thu Mar 11 12:20:10 2010 +0000 @@ -1,6 +1,6 @@ /* * Copyright 2000-2005 Sun Microsystems, Inc. All Rights Reserved. - * Copyright 2007, 2008 Red Hat, Inc. + * Copyright 2007, 2008, 2010 Red Hat, Inc. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -29,11 +29,10 @@ // define_pd_global(bool, DontYieldALot, false); +define_pd_global(intx, ThreadStackSize, 1536); #ifdef _LP64 -define_pd_global(intx, ThreadStackSize, 1536); define_pd_global(intx, VMThreadStackSize, 1024); #else -define_pd_global(intx, ThreadStackSize, 1024); define_pd_global(intx, VMThreadStackSize, 512); #endif // _LP64 define_pd_global(intx, SurvivorRatio, 8); From ahughes at redhat.com Thu Mar 11 05:16:04 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Thu, 11 Mar 2010 13:16:04 +0000 Subject: RTC Thumb2 JIT enhancements In-Reply-To: <201003111123.o2BBNT7J010860@mint.camswl.com> References: <201003111123.o2BBNT7J010860@mint.camswl.com> Message-ID: <17c6771e1003110516w10aab50dra0d60c7fa03a2cf@mail.gmail.com> On 11 March 2010 11:23, wrote: > Hi folks, > > The following are some enhancements I have made to the T2JIT over the past > month. > > I have tested the changes with various benchmarks, with Think Free Office, > and with the hotspot and lang portions of JTreg which all pass. The jdk > portion is still running. > > Unfortunately the diffs are quite large so I am submitting the diffs to > the list as 4 separate sets of diffs. > > Has the b18 release been split off yet? I would prefer these changes not > to go into the b18 release as they have not had sufficient testing yet. > Not yet. I'd suggest you wait until it does fork in that case. A 1.8 branch will be created when that happens. I presume doko is handling this. > Regards, > Ed. > > - Support for frameless compilation > > ? ? ? ?Local variables and interpreter state are now addressed from Java SP > ? ? ? ?rather than separate 'istate' (R8) register. R8 now free for register > ? ? ? ?allocation giving 6 allocatable registers instead of 5. > > - Support for compilation of methods containing monitorenter / monitorexit > > ? ? ? ?monitorenter / monitorexit moved from asm to C so they can be called > ? ? ? ?by JIT code compilation of monitorenter / monitorexit containinng > ? ? ? ?methods uses frame adressing because stack can expand dynamically to > ? ? ? ?accomodate monitors. > > - Interpreter caches 'thread' in a register > > ? ? ? ?Interpreter reworked to cache 'thread' in a register. Involved > ? ? ? ?removal of one 'tmp' register in interpreter to make room for > ? ? ? ?'thread' register. Interpreter and JIT are now consistent in register > ? ? ? ?usage. > > - Compression of JIT 'header' > > ? ? ? ?Removed the OSR entry from the JIT header. Previously, each JITted > ? ? ? ?method had an individual piece of code in the header to load the > ? ? ? ?appropriate registers from locals and the jump to the OSR entry > ? ? ? ?point. This is changed so the the OSR caller (the interpreter), uses > ? ? ? ?the 'regusage' array in the JIT header to load the correct registers > ? ? ? ?and then just jumps directly to the entry point in the method. > ? ? ? ?Saving is 24 bytes per method. > > - Backwards branch targets now doubleword aligned. > > ? ? ? ?Pads with no ops before a backwards branch target to ensure backwards > ? ? ? ?branch target is 64 bit aligned. Small performance benefit. > > - Addition of OSPACE flag > > ? ? ? ?Setting environment variable T2_OSPACE will cause the JIT to optimise > ? ? ? ?for space as opposed to time. OSPACE does the following. > > ? ? ? ?o Tweaks the register allocation to allocate register based on space > ? ? ? ?o Enables tailing of returns. IE does a branch to the return. > ? ? ? ?o Disables doubleword alignment of backwards branch targets > ? ? ? ?o Disables inlining invoke virtual/static/special wrappers > > ? ? ? ?OSPACE has a small performance effect on benchmarks (~10% on ECM) but > ? ? ? ?has no noticeable effect on large applications. > > ? ? ? ?Default is compile for time (OSPACE disabled) > > - Removed a pass from the compiler > > ? ? ? ?The JIT had an additional pass to detect 'zombie' code (ie code which > ? ? ? ?could be, but has never been called). Zombie code removal was > ? ? ? ?disabled in prior versions because it was unreliable, however the > ? ? ? ?additional pass was still there. > > - Removed vestigal and debug code > > ? ? ? ?Removed #if 0 code and debug code which was no longer functional > -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From ahughes at redhat.com Thu Mar 11 05:43:38 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Thu, 11 Mar 2010 13:43:38 +0000 Subject: /hg/icedtea6: 2 new changesets In-Reply-To: References: Message-ID: <17c6771e1003110543q6e86c114q6b87d3c04aea2fde@mail.gmail.com> Can you push: > changeset 121319a7f899 in /hg/icedtea6 > details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=121319a7f899 > author: Gary Benson > date: Thu Mar 11 12:20:10 2010 +0000 > > Increased ThreadStackSize by 512kb on 32-bit platforms to 1.6 and 1.7 too? Thanks. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From gbenson at redhat.com Thu Mar 11 06:50:09 2010 From: gbenson at redhat.com (Gary Benson) Date: Thu, 11 Mar 2010 14:50:09 +0000 Subject: /hg/icedtea6: 2 new changesets In-Reply-To: <17c6771e1003110543q6e86c114q6b87d3c04aea2fde@mail.gmail.com> References: <17c6771e1003110543q6e86c114q6b87d3c04aea2fde@mail.gmail.com> Message-ID: <20100311145009.GD3586@redhat.com> Andrew John Hughes wrote: > Can you push: > > > changeset 121319a7f899 in /hg/icedtea6 > > details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=121319a7f899 > > author: Gary Benson > > date: Thu Mar 11 12:20:10 2010 +0000 > > > > Increased ThreadStackSize by 512kb on 32-bit platforms > > to 1.6 and 1.7 too? Thanks. How do I do that? Cheers, Gary -- http://gbenson.net/ From ahughes at redhat.com Thu Mar 11 06:56:41 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Thu, 11 Mar 2010 14:56:41 +0000 Subject: /hg/icedtea6: 2 new changesets In-Reply-To: <20100311145009.GD3586@redhat.com> References: <17c6771e1003110543q6e86c114q6b87d3c04aea2fde@mail.gmail.com> <20100311145009.GD3586@redhat.com> Message-ID: <17c6771e1003110656t20038c00u741d8ad51274147a@mail.gmail.com> On 11 March 2010 14:50, Gary Benson wrote: > Andrew John Hughes wrote: >> Can you push: >> >> > changeset 121319a7f899 in /hg/icedtea6 >> > details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=121319a7f899 >> > author: Gary Benson >> > date: Thu Mar 11 12:20:10 2010 +0000 >> > >> > ? ? ? ?Increased ThreadStackSize by 512kb on 32-bit platforms >> >> to 1.6 and 1.7 too? ?Thanks. > > How do I do that? > > Cheers, > Gary > > -- > http://gbenson.net/ > If your current working directory is a checkout of the 1.6 (http://icedtea.classpath.org/hg/release/icedtea6-1.6) or 1.7 (http://icedtea.classpath.org/hg/release/icedtea6-1.6) tree: $ hg export -R 121319a7f899 > /tmp/patch.diff $ $ hg import /tmp/patch.diff It could be much simpler if we didn't have a manual ChangeLog. For my own projects, I've found a rule like: if MERCURIAL_CHECKOUT ${abs_top_srcdir}/ChangeLog: ${abs_top_srcdir}/.hg/dirstate (cd ${abs_top_srcdir} && \ ${HG} log --template='Revision: $(MERCURIAL_URL)/rev/{node|short}\n{desc}\n\n' > ChangeLog) endif works fine and actually gives a better ChangeLog e.g. Revision: http://icedtea.classpath.org/hg/icedtea6/rev/373dcdea5871 Backport fix for Sun bug 6822370. 2010-03-10 Andrew John Hughes * Makefile.am: Add new patch. * patches/openjdk/6822370-reentrantreadwritelock.patch: Backported patch from HotSpot 16 to fix bug S6822370; threads blocked when the ReentrantReadWriteLock is With patches not including the ChangeLog, as with OpenJDK, hg export | hg import - works fine. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From gbenson at icedtea.classpath.org Thu Mar 11 07:36:53 2010 From: gbenson at icedtea.classpath.org (gbenson at icedtea.classpath.org) Date: Thu, 11 Mar 2010 15:36:53 +0000 Subject: /hg/release/icedtea6-1.7: Increased ThreadStackSize by 512kb on ... Message-ID: changeset 14faa83266a3 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=14faa83266a3 author: Gary Benson date: Thu Mar 11 12:20:10 2010 +0000 Increased ThreadStackSize by 512kb on 32-bit platforms diffstat: 2 files changed, 8 insertions(+), 3 deletions(-) ChangeLog | 6 ++++++ ports/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp | 5 ++--- diffs (37 lines): diff -r df0c918ebd66 -r 14faa83266a3 ChangeLog --- a/ChangeLog Wed Mar 10 21:53:48 2010 +0000 +++ b/ChangeLog Thu Mar 11 12:20:10 2010 +0000 @@ -1,3 +1,9 @@ 2010-03-10 Andrew John Hughes + + * ports/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp + (ThreadStackSize): Increased by 512kb on 32-bit platforms so as + to work on systems with 64kb page sizes. + 2010-03-10 Andrew John Hughes * Makefile.am: diff -r df0c918ebd66 -r 14faa83266a3 ports/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp --- a/ports/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp Wed Mar 10 21:53:48 2010 +0000 +++ b/ports/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp Thu Mar 11 12:20:10 2010 +0000 @@ -1,6 +1,6 @@ /* * Copyright 2000-2005 Sun Microsystems, Inc. All Rights Reserved. - * Copyright 2007, 2008 Red Hat, Inc. + * Copyright 2007, 2008, 2010 Red Hat, Inc. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -29,11 +29,10 @@ // define_pd_global(bool, DontYieldALot, false); +define_pd_global(intx, ThreadStackSize, 1536); #ifdef _LP64 -define_pd_global(intx, ThreadStackSize, 1536); define_pd_global(intx, VMThreadStackSize, 1024); #else -define_pd_global(intx, ThreadStackSize, 1024); define_pd_global(intx, VMThreadStackSize, 512); #endif // _LP64 define_pd_global(intx, SurvivorRatio, 8); From gbenson at icedtea.classpath.org Thu Mar 11 07:38:04 2010 From: gbenson at icedtea.classpath.org (gbenson at icedtea.classpath.org) Date: Thu, 11 Mar 2010 15:38:04 +0000 Subject: /hg/release/icedtea6-1.6: Increased ThreadStackSize by 512kb on ... Message-ID: changeset 7dc4eeee5f69 in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=7dc4eeee5f69 author: Gary Benson date: Thu Mar 11 12:20:10 2010 +0000 Increased ThreadStackSize by 512kb on 32-bit platforms diffstat: 2 files changed, 8 insertions(+), 3 deletions(-) ChangeLog | 6 ++++++ ports/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp | 5 ++--- diffs (37 lines): diff -r 373dcdea5871 -r 7dc4eeee5f69 ChangeLog --- a/ChangeLog Thu Mar 11 01:51:53 2010 +0000 +++ b/ChangeLog Thu Mar 11 12:20:10 2010 +0000 @@ -1,3 +1,9 @@ 2010-03-10 Andrew John Hughes + + * ports/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp + (ThreadStackSize): Increased by 512kb on 32-bit platforms so as + to work on systems with 64kb page sizes. + 2010-03-10 Andrew John Hughes * Makefile.am: diff -r 373dcdea5871 -r 7dc4eeee5f69 ports/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp --- a/ports/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp Thu Mar 11 01:51:53 2010 +0000 +++ b/ports/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp Thu Mar 11 12:20:10 2010 +0000 @@ -1,6 +1,6 @@ /* * Copyright 2000-2005 Sun Microsystems, Inc. All Rights Reserved. - * Copyright 2007, 2008 Red Hat, Inc. + * Copyright 2007, 2008, 2010 Red Hat, Inc. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -29,11 +29,10 @@ // define_pd_global(bool, DontYieldALot, false); +define_pd_global(intx, ThreadStackSize, 1536); #ifdef _LP64 -define_pd_global(intx, ThreadStackSize, 1536); define_pd_global(intx, VMThreadStackSize, 1024); #else -define_pd_global(intx, ThreadStackSize, 1024); define_pd_global(intx, VMThreadStackSize, 512); #endif // _LP64 define_pd_global(intx, SurvivorRatio, 8); From gbenson at redhat.com Thu Mar 11 07:39:37 2010 From: gbenson at redhat.com (Gary Benson) Date: Thu, 11 Mar 2010 15:39:37 +0000 Subject: /hg/icedtea6: 2 new changesets In-Reply-To: <17c6771e1003110656t20038c00u741d8ad51274147a@mail.gmail.com> References: <17c6771e1003110543q6e86c114q6b87d3c04aea2fde@mail.gmail.com> <20100311145009.GD3586@redhat.com> <17c6771e1003110656t20038c00u741d8ad51274147a@mail.gmail.com> Message-ID: <20100311153936.GE3586@redhat.com> Andrew John Hughes wrote: > On 11 March 2010 14:50, Gary Benson wrote: > > Andrew John Hughes wrote: > > > Can you push: > > > > > > > changeset 121319a7f899 in /hg/icedtea6 > > > > details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=121319a7f899 > > > > author: Gary Benson > > > > date: Thu Mar 11 12:20:10 2010 +0000 > > > > > > > > ? ? ? ?Increased ThreadStackSize by 512kb on 32-bit platforms > > > > > > to 1.6 and 1.7 too? ?Thanks. > > > > How do I do that? > > If your current working directory is a checkout of the 1.6 > (http://icedtea.classpath.org/hg/release/icedtea6-1.6) or 1.7 > (http://icedtea.classpath.org/hg/release/icedtea6-1.6) tree: > > $ hg export -R 121319a7f899 > /tmp/patch.diff > $ lines of the current ChangeLog in the branch rather than the one in > HEAD> > $ hg import /tmp/patch.diff Done, I think. Cheers, Gary -- http://gbenson.net/ From gbenson at icedtea.classpath.org Thu Mar 11 08:35:19 2010 From: gbenson at icedtea.classpath.org (gbenson at icedtea.classpath.org) Date: Thu, 11 Mar 2010 16:35:19 +0000 Subject: /hg/icedtea6: Fix bugs preventing Shark building itself Message-ID: changeset 39180582f106 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=39180582f106 author: Gary Benson date: Thu Mar 11 16:35:10 2010 -0500 Fix bugs preventing Shark building itself diffstat: 3 files changed, 29 insertions(+), 7 deletions(-) ChangeLog | 11 +++++++ ports/hotspot/src/share/vm/shark/sharkCompiler.cpp | 4 +- ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp | 21 +++++++++++---- diffs (87 lines): diff -r 121319a7f899 -r 39180582f106 ChangeLog --- a/ChangeLog Thu Mar 11 12:20:10 2010 +0000 +++ b/ChangeLog Thu Mar 11 16:35:10 2010 -0500 @@ -1,3 +1,14 @@ 2010-03-11 Gary Benson + + * ports/hotspot/src/share/vm/shark/sharkCompiler.cpp + (SharkCompiler::compile_method): Catch typeflow failures more + generally. + * ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp + (SharkTopLevelBlock::scan_for_traps): New trap. + (SharkTopLevelBlock::do_call): Add assertion to check the above. + (SharkTopLevelBlock::static_subtype_check): Deal with unloaded + object_klass. + 2010-03-11 Gary Benson * ports/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp diff -r 121319a7f899 -r 39180582f106 ports/hotspot/src/share/vm/shark/sharkCompiler.cpp --- a/ports/hotspot/src/share/vm/shark/sharkCompiler.cpp Thu Mar 11 12:20:10 2010 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkCompiler.cpp Thu Mar 11 16:35:10 2010 -0500 @@ -137,7 +137,7 @@ void SharkCompiler::compile_method(ciEnv flow = target->get_flow_analysis(); else flow = target->get_osr_flow_analysis(entry_bci); - if (env->failing()) + if (flow->failing()) return; if (SharkPrintTypeflowOf != NULL) { if (!fnmatch(SharkPrintTypeflowOf, name, 0)) @@ -259,7 +259,7 @@ void SharkCompiler::generate_native_code llvm::SetCurrentDebugType(""); llvm::DebugFlag = false; } -#endif +#endif // !NDEBUG #else // NB you need to patch LLVM with http://tinyurl.com/yf3baln for this std::vector args; diff -r 121319a7f899 -r 39180582f106 ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp --- a/ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp Thu Mar 11 12:20:10 2010 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp Thu Mar 11 16:35:10 2010 -0500 @@ -87,6 +87,18 @@ void SharkTopLevelBlock::scan_for_traps( Deoptimization::Reason_uninitialized, Deoptimization::Action_reinterpret), bci()); return; + } + + if (bc() == Bytecodes::_invokevirtual) { + klass = ciEnv::get_instance_klass_for_declared_method_holder( + iter()->get_declared_method_holder()); + if (!klass->is_linked()) { + set_trap( + Deoptimization::make_trap_request( + Deoptimization::Reason_uninitialized, + Deoptimization::Action_reinterpret), bci()); + return; + } } break; @@ -1099,6 +1111,7 @@ void SharkTopLevelBlock::do_call() { Value *callee; if (call_is_virtual) { if (is_virtual) { + assert(klass->is_linked(), "scan_for_traps responsibility"); int vtable_index = call_method->resolve_vtable_index( target()->holder(), klass); assert(vtable_index >= 0, "should be"); @@ -1153,14 +1166,12 @@ bool SharkTopLevelBlock::static_subtype_ // (GraphKit::static_subtype_check) it says that static // interface types cannot be trusted, and if opto can't // trust them then I assume we can't either. - if (!object_klass->is_interface()) { + if (object_klass->is_loaded() && !object_klass->is_interface()) { if (object_klass == check_klass) return true; - if (object_klass->is_loaded() && check_klass->is_loaded()) { - if (object_klass->is_subtype_of(check_klass)) - return true; - } + if (check_klass->is_loaded() && object_klass->is_subtype_of(check_klass)) + return true; } return false; From jon.vanalten at redhat.com Thu Mar 11 11:23:54 2010 From: jon.vanalten at redhat.com (jon.vanalten at redhat.com) Date: Thu, 11 Mar 2010 14:23:54 -0500 (EST) Subject: RFC: Fix icedtea-systemtap.patch In-Reply-To: <344884353.4088151268335359567.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Message-ID: <94246000.4088371268335434570.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Hi, The attached minor patch for icedtea fixes line numbers and context for the openjdk/hotspot/src/share/vm/runtime/arguments.cpp hunk of patches/icedtea-systemtap.patch, else the patch fails to apply and the build fails when configured with --enable-systemtap. OK to commit? cheers, jon -------------- next part -------------- A non-text attachment was scrubbed... Name: icedteastapfix.patch Type: text/x-patch Size: 968 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100311/ea8f48d1/icedteastapfix.patch From mark at klomp.org Thu Mar 11 11:56:02 2010 From: mark at klomp.org (Mark Wielaard) Date: Thu, 11 Mar 2010 20:56:02 +0100 Subject: RFC: Fix icedtea-systemtap.patch In-Reply-To: <94246000.4088371268335434570.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> References: <94246000.4088371268335434570.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Message-ID: <1268337362.17396.2.camel@hermans.wildebeest.org> On Thu, 2010-03-11 at 14:23 -0500, jon.vanalten at redhat.com wrote: > The attached minor patch for icedtea fixes line numbers and context > for the openjdk/hotspot/src/share/vm/runtime/arguments.cpp hunk of > patches/icedtea-systemtap.patch, else the patch fails to apply and the > build fails when configured with --enable-systemtap. > > OK to commit? Yes please. Thanks for fixing this up. Cheer, Mark From vanaltj at icedtea.classpath.org Thu Mar 11 12:17:07 2010 From: vanaltj at icedtea.classpath.org (vanaltj at icedtea.classpath.org) Date: Thu, 11 Mar 2010 20:17:07 +0000 Subject: /hg/icedtea: Fix patches/icedtea-systemtap.patch so --enable-sys... Message-ID: changeset 3b4234249c40 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=3b4234249c40 author: Jon VanAlten date: Thu Mar 11 15:14:36 2010 -0500 Fix patches/icedtea-systemtap.patch so --enable-systemtap isn't broken. * patches/icedtea-systemtap.patch: fix line numbers and context for the openjdk/hotspot/src/share/vm/runtime/arguments.cpp hunk diffstat: 2 files changed, 9 insertions(+), 3 deletions(-) ChangeLog | 6 ++++++ patches/icedtea-systemtap.patch | 6 +++--- diffs (34 lines): diff -r c9ad770e663e -r 3b4234249c40 ChangeLog --- a/ChangeLog Wed Mar 03 12:42:29 2010 +0000 +++ b/ChangeLog Thu Mar 11 15:14:36 2010 -0500 @@ -1,3 +1,9 @@ 2010-03-03 Andrew John Hughes + + * patches/icedtea-systemtap.patch: + fix line numbers and context for the + openjdk/hotspot/src/share/vm/runtime/arguments.cpp hunk + 2010-03-03 Andrew John Hughes * Makefile.am: diff -r c9ad770e663e -r 3b4234249c40 patches/icedtea-systemtap.patch --- a/patches/icedtea-systemtap.patch Wed Mar 03 12:42:29 2010 +0000 +++ b/patches/icedtea-systemtap.patch Thu Mar 11 15:14:36 2010 -0500 @@ -121,7 +121,7 @@ diff -r 945bf7540697 src/share/vm/utilit +#endif --- openjdk/hotspot/src/share/vm/runtime/arguments.cpp 2009-03-04 14:39:43.000000000 +0100 +++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp 2009-03-04 22:11:37.000000000 +0100 -@@ -2272,16 +2272,16 @@ +@@ -2375,16 +2375,16 @@ FLAG_SET_CMDLINE(bool, DisplayVMOutputToStderr, false); FLAG_SET_CMDLINE(bool, DisplayVMOutputToStdout, true); } else if (match_option(option, "-XX:+ExtendedDTraceProbes", &tail)) { @@ -139,6 +139,6 @@ diff -r 945bf7540697 src/share/vm/utilit return JNI_EINVAL; -#endif // ndef SOLARIS +#endif // ndef DTRACE_ENABLED - } else #ifdef ASSERT - if (match_option(option, "-XX:+FullGCALot", &tail)) { + } else if (match_option(option, "-XX:+FullGCALot", &tail)) { + FLAG_SET_CMDLINE(bool, FullGCALot, true); From andrew at icedtea.classpath.org Thu Mar 11 15:34:33 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 11 Mar 2010 23:34:33 +0000 Subject: /hg/release/icedtea6-1.6: 3 new changesets Message-ID: changeset 6cb729c4a876 in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=6cb729c4a876 author: Andrew John Hughes date: Thu Mar 11 22:57:54 2010 +0000 Make the normal (non-Zero/Shark) HotSpot original build work. 2010-03-10 Andrew John Hughes Fix the normal (non-Zero/Shark) build with the original HotSpot. * Makefile.am: Move format-warnings, fortify-source, 6791168 and includedb patch to set applied to all HotSpots. Add bytecodeInterpreter XSL fix back for original HotSpot. * patches/hotspot/default/icedtea-explicit-target-arch.patch: Move HotSpot chunk to separate hs14-specific file. * patches/hotspot/original/icedtea-6791168.patch, * patches/hotspot/original/icedtea-explicit-target-arch.patch, * patches/hotspot/original/icedtea-includedb.patch: New variants for original HotSpot (hs11). * patches/hotspot/original/icedtea-shark.patch: Fixed to apply to original HotSpot. * patches/icedtea-bytecodeInterpreterWithChecks.patch: Readded, reverting part of Gary's patch of 2009-05-08. * patches/icedtea-explicit-target-arch.patch: Remove HotSpot chunk and specialise it in HotSpot subdirectories. changeset b12e1a83a817 in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=b12e1a83a817 author: Andrew John Hughes date: Thu Mar 11 23:24:05 2010 +0000 Drop out of configure with an error if Zero/Shark and the original HotSpot are enabled. 2010-03-11 Andrew John Hughes * acinclude.m4: (ENABLE_ZERO_BUILD): Require SET_SHARK_BUILD. Use AC_DEFUN_ONCE to ensure it isn't included twice. (SET_SHARK_BUILD): Print result when no argument is given. Use AC_DEFUN_ONCE to ensure it isn't included twice. (AC_CHECK_WITH_HOTSPOT_BUILD): Require ENABLE_ZERO_BUILD and error out if the original build is enabled along with Zero/Shark. changeset 833ee1f40cf8 in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=833ee1f40cf8 author: Andrew John Hughes date: Thu Mar 11 23:34:09 2010 +0000 Improve clarity of DISABLE_OPTIMIZATIONS macro. 2010-03-11 Andrew John Hughes * acinclude.m4: (DISABLE_OPTIMIZATIONS): Output a result in the default case. Provide DISABLE_OPTIMIZATIONS so Makefile test does not need to be inversed and output matches variable setting. * Makefile.am: Use DISABLE_OPTIMIZATIONS rather than !ENABLE_OPTIMIZATIONS. diffstat: 10 files changed, 699 insertions(+), 332 deletions(-) ChangeLog | 46 Makefile.am | 18 acinclude.m4 | 25 patches/hotspot/default/icedtea-explicit-target-arch.patch | 17 patches/hotspot/original/icedtea-6791168.patch | 189 +++ patches/hotspot/original/icedtea-explicit-target-arch.patch | 17 patches/hotspot/original/icedtea-includedb.patch | 86 + patches/hotspot/original/icedtea-shark.patch | 592 +++++------ patches/icedtea-bytecodeInterpreterWithChecks.patch | 18 patches/icedtea-explicit-target-arch.patch | 23 diffs (truncated from 1225 to 500 lines): diff -r 7dc4eeee5f69 -r 833ee1f40cf8 ChangeLog --- a/ChangeLog Thu Mar 11 12:20:10 2010 +0000 +++ b/ChangeLog Thu Mar 11 23:34:09 2010 +0000 @@ -1,3 +1,47 @@ 2010-03-11 Gary Benson + + * acinclude.m4: + (DISABLE_OPTIMIZATIONS): Output a result + in the default case. Provide DISABLE_OPTIMIZATIONS + so Makefile test does not need to be inversed + and output matches variable setting. + * Makefile.am: + Use DISABLE_OPTIMIZATIONS rather than !ENABLE_OPTIMIZATIONS. + +2010-03-11 Andrew John Hughes + + * acinclude.m4: + (ENABLE_ZERO_BUILD): Require SET_SHARK_BUILD. + Use AC_DEFUN_ONCE to ensure it isn't included twice. + (SET_SHARK_BUILD): Print result when no + argument is given. Use AC_DEFUN_ONCE to ensure it + isn't included twice. + (AC_CHECK_WITH_HOTSPOT_BUILD): Require + ENABLE_ZERO_BUILD and error out if the original + build is enabled along with Zero/Shark. + +2010-03-11 Andrew John Hughes + + Fix the normal (non-Zero/Shark) build with + the original HotSpot. + * Makefile.am: + Move format-warnings, fortify-source, 6791168 and includedb + patch to set applied to all HotSpots. Add + bytecodeInterpreter XSL fix back for original HotSpot. + * patches/hotspot/default/icedtea-explicit-target-arch.patch: + Move HotSpot chunk to separate hs14-specific file. + * patches/hotspot/original/icedtea-6791168.patch, + * patches/hotspot/original/icedtea-explicit-target-arch.patch, + * patches/hotspot/original/icedtea-includedb.patch: + New variants for original HotSpot (hs11). + * patches/hotspot/original/icedtea-shark.patch: + Fixed to apply to original HotSpot. + * patches/icedtea-bytecodeInterpreterWithChecks.patch: + Readded, reverting part of Gary's patch of 2009-05-08. + * patches/icedtea-explicit-target-arch.patch: + Remove HotSpot chunk and specialise it in HotSpot + subdirectories. + 2010-03-11 Gary Benson * ports/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp @@ -17,7 +61,7 @@ 2010-01-27 Andrew John Hughes * acinclude.m4, diff -r 7dc4eeee5f69 -r 833ee1f40cf8 Makefile.am --- a/Makefile.am Thu Mar 11 12:20:10 2010 +0000 +++ b/Makefile.am Thu Mar 11 23:34:09 2010 +0000 @@ -194,7 +194,7 @@ ICEDTEA_ENV += \ ALT_HOTSPOT_IMPORT_PATH="$(CACAO_IMPORT_PATH)" endif -if !ENABLE_OPTIMIZATIONS +if DISABLE_OPTIMIZATIONS ICEDTEA_ENV += \ NO_OPTIMIZATIONS="true" \ CC_NO_OPT="-O0 -g" @@ -277,7 +277,7 @@ ICEDTEA_ENV_ECJ += \ ALT_HOTSPOT_IMPORT_PATH="$(CACAO_IMPORT_PATH)" endif -if !ENABLE_OPTIMIZATIONS +if DISABLE_OPTIMIZATIONS ICEDTEA_ENV_ECJ += \ NO_OPTIMIZATIONS="true" \ CC_NO_OPT="-O0 -g" @@ -645,21 +645,22 @@ ICEDTEA_PATCHES = \ patches/icedtea-jar-misc.patch \ patches/icedtea-6897844-xshm.patch \ patches/icedtea-linux-separate-debuginfo.patch \ - patches/openjdk/6822370-reentrantreadwritelock.patch + patches/openjdk/6822370-reentrantreadwritelock.patch \ + patches/icedtea-format-warnings.patch \ + patches/icedtea-fortify-source.patch \ + patches/hotspot/$(HSBUILD)/icedtea-6791168.patch \ + patches/hotspot/$(HSBUILD)/icedtea-includedb.patch if WITH_ALT_HSBUILD ICEDTEA_PATCHES += \ - patches/icedtea-format-warnings.patch \ - patches/icedtea-fortify-source.patch \ patches/hotspot/$(HSBUILD)/icedtea-sparc-buildfixes.patch \ - patches/hotspot/$(HSBUILD)/icedtea-6791168.patch \ - patches/hotspot/$(HSBUILD)/icedtea-includedb.patch \ patches/hotspot/$(HSBUILD)/icedtea-ignore-unrecognized-options.patch endif if !WITH_ALT_HSBUILD ICEDTEA_PATCHES += \ - patches/icedtea-sparc.patch + patches/icedtea-sparc.patch \ + patches/icedtea-bytecodeInterpreterWithChecks.patch endif ICEDTEA_PATCHES += \ @@ -725,6 +726,7 @@ ICEDTEA_PATCHES += \ patches/icedtea-java2d-stroker-internal-close-joint.patch \ patches/icedtea-disable-cc-incompatible-sanity-checks.patch \ patches/icedtea-explicit-target-arch.patch \ + patches/hotspot/$(HSBUILD)/icedtea-explicit-target-arch.patch \ patches/openjdk/6648816.patch \ patches/openjdk/oj100103-debugger-socket-overflow.patch \ $(DISTRIBUTION_PATCHES) diff -r 7dc4eeee5f69 -r 833ee1f40cf8 acinclude.m4 --- a/acinclude.m4 Thu Mar 11 12:20:10 2010 +0000 +++ b/acinclude.m4 Thu Mar 11 23:34:09 2010 +0000 @@ -644,25 +644,24 @@ AC_DEFUN([FIND_RHINO_JAR], AC_DEFUN([ENABLE_OPTIMIZATIONS], [ - AC_MSG_CHECKING(whether to disable optimizations) + AC_MSG_CHECKING([whether to disable optimizations]) AC_ARG_ENABLE([optimizations], [AS_HELP_STRING(--disable-optimizations,build with -O0 -g [[default=no]])], [ case "${enableval}" in no) - AC_MSG_RESULT([yes, building with -O0 -g]) - enable_optimizations=no + disable_optimizations=yes ;; *) - AC_MSG_RESULT([no]) - enable_optimizations=yes + disable_optimizations=no ;; esac ], [ - enable_optimizations=yes + disable_optimizations=no ]) - AM_CONDITIONAL([ENABLE_OPTIMIZATIONS], test x"${enable_optimizations}" = "xyes") + AC_MSG_RESULT([$disable_optimizations]) + AM_CONDITIONAL([DISABLE_OPTIMIZATIONS], test x"${disable_optimizations}" = "xyes") ]) AC_DEFUN([FIND_TOOL], @@ -673,8 +672,9 @@ AC_DEFUN([FIND_TOOL], AC_SUBST([$1]) ]) -AC_DEFUN([ENABLE_ZERO_BUILD], +AC_DEFUN_ONCE([ENABLE_ZERO_BUILD], [ + AC_REQUIRE([SET_SHARK_BUILD]) AC_MSG_CHECKING(whether to use the zero-assembler port) use_zero=no AC_ARG_ENABLE([zero], @@ -772,7 +772,7 @@ AC_DEFUN([ENABLE_ZERO_BUILD], AC_CONFIG_FILES([ergo.c]) ]) -AC_DEFUN([SET_SHARK_BUILD], +AC_DEFUN_ONCE([SET_SHARK_BUILD], [ AC_MSG_CHECKING(whether to use the Shark JIT) AC_ARG_ENABLE([shark], [AS_HELP_STRING(--enable-shark, use Shark JIT)], @@ -785,7 +785,8 @@ AC_DEFUN([SET_SHARK_BUILD], use_shark=yes ;; esac - ]) + ], + [use_shark=no]) AC_MSG_RESULT($use_shark) @@ -871,6 +872,7 @@ AC_DEFUN([AC_CHECK_WITH_GCJ], AC_DEFUN([AC_CHECK_WITH_HOTSPOT_BUILD], [ + AC_REQUIRE([ENABLE_ZERO_BUILD]) DEFAULT_BUILD="default" AC_MSG_CHECKING([which HotSpot build to use]) AC_ARG_WITH([hotspot-build], @@ -889,6 +891,9 @@ AC_DEFUN([AC_CHECK_WITH_HOTSPOT_BUILD], AC_MSG_RESULT([${HSBUILD}]) AC_SUBST([HSBUILD]) AM_CONDITIONAL(WITH_ALT_HSBUILD, test "x${HSBUILD}" != "xoriginal") + if test "x${HSBUILD}" = "xoriginal" && test "x${use_zero}" = "xyes"; then + AC_MSG_ERROR([Zero/Shark is not supported with the original HotSpot (hs11).]) + fi ]) AC_DEFUN([WITH_HOTSPOT_SRC_ZIP], diff -r 7dc4eeee5f69 -r 833ee1f40cf8 patches/hotspot/default/icedtea-explicit-target-arch.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/default/icedtea-explicit-target-arch.patch Thu Mar 11 23:34:09 2010 +0000 @@ -0,0 +1,17 @@ +Index: openjdk/hotspot/make/linux/makefiles/defs.make +=================================================================== +--- openjdk.orig/hotspot/make/linux/makefiles/defs.make 2009-05-18 14:09:57.812930043 +0200 ++++ openjdk/hotspot/make/linux/makefiles/defs.make 2009-05-18 14:30:46.318871170 +0200 +@@ -29,7 +29,11 @@ + SLASH_JAVA ?= /java + + # Need PLATFORM (os-arch combo names) for jdk and hotspot, plus libarch name +-ARCH:=$(shell uname -m) ++ifndef CROSS_COMPILATION ++ ARCH:=$(shell uname -m) ++else ++ ARCH:=$(CROSS_TARGET_ARCH) ++endif + PATH_SEP = : + ifeq ($(LP64), 1) + ARCH_DATA_MODEL ?= 64 diff -r 7dc4eeee5f69 -r 833ee1f40cf8 patches/hotspot/original/icedtea-6791168.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/original/icedtea-6791168.patch Thu Mar 11 23:34:09 2010 +0000 @@ -0,0 +1,189 @@ +diff -Nru openjdk.orig/hotspot/src/cpu/x86/vm/assembler_x86_32.cpp openjdk/hotspot/src/cpu/x86/vm/assembler_x86_32.cpp +--- openjdk.orig/hotspot/src/cpu/x86/vm/assembler_x86_32.cpp 2009-04-24 08:30:53.000000000 +0100 ++++ openjdk/hotspot/src/cpu/x86/vm/assembler_x86_32.cpp 2010-03-11 18:15:32.000000000 +0000 +@@ -3612,29 +3612,32 @@ + + Label slow_case, done; + +- // x ?<= pi/4 +- fld_d(ExternalAddress((address)&pi_4)); +- fld_s(1); // Stack: X PI/4 X +- fabs(); // Stack: |X| PI/4 X +- fcmp(tmp); +- jcc(Assembler::above, slow_case); +- +- // fastest case: -pi/4 <= x <= pi/4 +- switch(trig) { +- case 's': +- fsin(); +- break; +- case 'c': +- fcos(); +- break; +- case 't': +- ftan(); +- break; +- default: +- assert(false, "bad intrinsic"); +- break; ++ ExternalAddress pi4_adr = (address)&pi_4; ++ if (reachable(pi4_adr)) { ++ // x ?<= pi/4 ++ fld_d(pi4_adr); // ExternalAddress((address)&pi_4)); ++ fld_s(1); // Stack: X PI/4 X ++ fabs(); // Stack: |X| PI/4 X ++ fcmp(tmp); ++ jcc(Assembler::above, slow_case); ++ ++ // fastest case: -pi/4 <= x <= pi/4 ++ switch(trig) { ++ case 's': ++ fsin(); ++ break; ++ case 'c': ++ fcos(); ++ break; ++ case 't': ++ ftan(); ++ break; ++ default: ++ assert(false, "bad intrinsic"); ++ break; ++ } ++ jmp(done); + } +- jmp(done); + + // slow case: runtime call + bind(slow_case); +diff -Nru openjdk.orig/hotspot/src/cpu/x86/vm/bytecodeInterpreter_x86.inline.hpp openjdk/hotspot/src/cpu/x86/vm/bytecodeInterpreter_x86.inline.hpp +--- openjdk.orig/hotspot/src/cpu/x86/vm/bytecodeInterpreter_x86.inline.hpp 2009-04-24 08:30:53.000000000 +0100 ++++ openjdk/hotspot/src/cpu/x86/vm/bytecodeInterpreter_x86.inline.hpp 2010-03-11 18:09:57.000000000 +0000 +@@ -216,7 +216,7 @@ + + inline jint BytecodeInterpreter::VMintDiv(jint op1, jint op2) { + /* it's possible we could catch this special case implicitly */ +- if (op1 == 0x80000000 && op2 == -1) return op1; ++ if ((juint)op1 == 0x80000000 && op2 == -1) return op1; + else return op1 / op2; + } + +@@ -234,7 +234,7 @@ + + inline jint BytecodeInterpreter::VMintRem(jint op1, jint op2) { + /* it's possible we could catch this special case implicitly */ +- if (op1 == 0x80000000 && op2 == -1) return 0; ++ if ((juint)op1 == 0x80000000 && op2 == -1) return 0; + else return op1 % op2; + } + +diff -Nru openjdk.orig/hotspot/src/cpu/x86/vm/cppInterpreter_x86.cpp openjdk/hotspot/src/cpu/x86/vm/cppInterpreter_x86.cpp +--- openjdk.orig/hotspot/src/cpu/x86/vm/cppInterpreter_x86.cpp 2009-04-24 08:30:53.000000000 +0100 ++++ openjdk/hotspot/src/cpu/x86/vm/cppInterpreter_x86.cpp 2010-03-11 18:14:12.000000000 +0000 +@@ -578,7 +578,7 @@ + __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::frequency_counter_overflow), rax); + + // for c++ interpreter can rsi really be munged? +- __ leal(rsi, Address(rbp, -sizeof(BytecodeInterpreter))); // restore state ++ __ leal(rsi, Address(rbp, -(int)sizeof(BytecodeInterpreter))); // restore state + __ movl(rbx, Address(rsi, byte_offset_of(BytecodeInterpreter, _method))); // restore method + __ movl(rdi, Address(rsi, byte_offset_of(BytecodeInterpreter, _locals))); // get locals pointer + +@@ -644,7 +644,7 @@ + const Address size_of_stack (rbx, methodOopDesc::max_stack_offset()); + // Always give one monitor to allow us to start interp if sync method. + // Any additional monitors need a check when moving the expression stack +- const one_monitor = frame::interpreter_frame_monitor_size() * wordSize; ++ const int one_monitor = frame::interpreter_frame_monitor_size() * wordSize; + __ load_unsigned_word(rax, size_of_stack); // get size of expression stack in words + __ leal(rax, Address(noreg, rax, Interpreter::stackElementScale(), one_monitor)); + __ leal(rax, Address(rax, rdx, Interpreter::stackElementScale(), overhead_size)); +@@ -1760,7 +1760,7 @@ + Label unwind_and_forward; + + // restore state pointer. +- __ leal(state, Address(rbp, -sizeof(BytecodeInterpreter))); ++ __ leal(state, Address(rbp, -(int)sizeof(BytecodeInterpreter))); + + __ movl(rbx, STATE(_method)); // get method + __ movl(rcx, STATE(_thread)); // get thread +@@ -1804,7 +1804,7 @@ + + // The FPU stack is clean if UseSSE >= 2 but must be cleaned in other cases + if (UseSSE < 2) { +- __ leal(state, Address(rbp, -sizeof(BytecodeInterpreter))); ++ __ leal(state, Address(rbp, -(int)sizeof(BytecodeInterpreter))); + __ movl(rbx, STATE(_result._to_call._callee)); // get method just executed + __ movl(rcx, Address(rbx, methodOopDesc::result_index_offset())); + __ cmpl(rcx, AbstractInterpreter::BasicType_as_index(T_FLOAT)); // Result stub address array index +@@ -1853,7 +1853,7 @@ + + // Restore rsi as compiled code may not preserve it + +- __ leal(state, Address(rbp, -sizeof(BytecodeInterpreter))); ++ __ leal(state, Address(rbp, -(int)sizeof(BytecodeInterpreter))); + + // restore stack to what we had when we left (in case i2c extended it) + +diff -Nru openjdk.orig/hotspot/src/cpu/x86/vm/frame_x86.inline.hpp openjdk/hotspot/src/cpu/x86/vm/frame_x86.inline.hpp +--- openjdk.orig/hotspot/src/cpu/x86/vm/frame_x86.inline.hpp 2009-04-24 08:30:53.000000000 +0100 ++++ openjdk/hotspot/src/cpu/x86/vm/frame_x86.inline.hpp 2010-03-11 18:09:57.000000000 +0000 +@@ -137,7 +137,7 @@ + #ifdef CC_INTERP + + inline interpreterState frame::get_interpreterState() const { +- return ((interpreterState)addr_at( -sizeof(BytecodeInterpreter)/wordSize )); ++ return ((interpreterState)addr_at( -((int)sizeof(BytecodeInterpreter))/wordSize )); + } + + inline intptr_t* frame::sender_sp() const { +diff -Nru openjdk.orig/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp +--- openjdk.orig/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp 2010-03-11 18:00:58.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp 2010-03-11 18:09:57.000000000 +0000 +@@ -166,7 +166,7 @@ + #ifdef USELABELS + // Have to do this dispatch this way in C++ because otherwise gcc complains about crossing an + // initialization (which is is the initialization of the table pointer...) +-#define DISPATCH(opcode) goto *dispatch_table[opcode] ++#define DISPATCH(opcode) goto *(void*)dispatch_table[opcode] + #define CONTINUE { \ + opcode = *pc; \ + DO_UPDATE_INSTRUCTION_COUNT(opcode); \ +@@ -344,7 +344,7 @@ + */ + #undef CHECK_NULL + #define CHECK_NULL(obj_) \ +- if ((obj_) == 0) { \ ++ if ((obj_) == NULL) { \ + VM_JAVA_ERROR(vmSymbols::java_lang_NullPointerException(), ""); \ + } + +@@ -1362,7 +1362,7 @@ + + #define NULL_COMPARISON_NOT_OP(name) \ + CASE(_if##name): { \ +- int skip = (!(STACK_OBJECT(-1) == 0)) \ ++ int skip = (!(STACK_OBJECT(-1) == NULL)) \ + ? (int16_t)Bytes::get_Java_u2(pc + 1) : 3; \ + address branch_pc = pc; \ + UPDATE_PC_AND_TOS(skip, -1); \ +@@ -1372,7 +1372,7 @@ + + #define NULL_COMPARISON_OP(name) \ + CASE(_if##name): { \ +- int skip = ((STACK_OBJECT(-1) == 0)) \ ++ int skip = ((STACK_OBJECT(-1) == NULL)) \ + ? (int16_t)Bytes::get_Java_u2(pc + 1) : 3; \ + address branch_pc = pc; \ + UPDATE_PC_AND_TOS(skip, -1); \ +diff -Nru openjdk.orig/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp +--- openjdk.orig/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp 2010-03-11 18:00:57.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp 2010-03-11 18:09:57.000000000 +0000 +@@ -68,7 +68,6 @@ + friend class InterpreterGenerator; + friend class InterpreterMacroAssembler; + friend class frame; +-friend class SharedRuntime; + friend class VMStructs; + + public: diff -r 7dc4eeee5f69 -r 833ee1f40cf8 patches/hotspot/original/icedtea-explicit-target-arch.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/original/icedtea-explicit-target-arch.patch Thu Mar 11 23:34:09 2010 +0000 @@ -0,0 +1,17 @@ +Index: openjdk/hotspot/make/linux/makefiles/defs.make +=================================================================== +--- openjdk.orig/hotspot/build/linux/makefiles/defs.make 2009-05-18 14:09:57.812930043 +0200 ++++ openjdk/hotspot/build/linux/makefiles/defs.make 2009-05-18 14:30:46.318871170 +0200 +@@ -29,7 +29,11 @@ + SLASH_JAVA ?= /java + + # Need PLATFORM (os-arch combo names) for jdk and hotspot, plus libarch name +-ARCH:=$(shell uname -m) ++ifndef CROSS_COMPILATION ++ ARCH:=$(shell uname -m) ++else ++ ARCH:=$(CROSS_TARGET_ARCH) ++endif + PATH_SEP = : + ifeq ($(LP64), 1) + ARCH_DATA_MODEL ?= 64 diff -r 7dc4eeee5f69 -r 833ee1f40cf8 patches/hotspot/original/icedtea-includedb.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/original/icedtea-includedb.patch Thu Mar 11 23:34:09 2010 +0000 @@ -0,0 +1,86 @@ +diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/includeDB_gc_concurrentMarkSweep openjdk/hotspot/src/share/vm/gc_implementation/includeDB_gc_concurrentMarkSweep +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/includeDB_gc_concurrentMarkSweep 2009-04-24 08:30:55.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/gc_implementation/includeDB_gc_concurrentMarkSweep 2010-03-11 18:19:46.000000000 +0000 +@@ -28,6 +28,7 @@ + binaryTreeDictionary.cpp binaryTreeDictionary.hpp + binaryTreeDictionary.cpp globals.hpp + binaryTreeDictionary.cpp ostream.hpp ++binaryTreeDictionary.cpp space.inline.hpp + + binaryTreeDictionary.hpp freeBlockDictionary.hpp + binaryTreeDictionary.hpp freeList.hpp +diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/includeDB_gc_parallelScavenge openjdk/hotspot/src/share/vm/gc_implementation/includeDB_gc_parallelScavenge +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/includeDB_gc_parallelScavenge 2009-04-24 08:30:55.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/gc_implementation/includeDB_gc_parallelScavenge 2010-03-11 18:19:04.000000000 +0000 +@@ -302,6 +302,8 @@ + psPermGen.cpp psMarkSweepDecorator.hpp + psPermGen.cpp psParallelCompact.hpp + psPermGen.cpp psPermGen.hpp ++psPermGen.cpp markOop.inline.hpp ++psPermGen.cpp markSweep.inline.hpp + + psPermGen.hpp psOldGen.hpp + +diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/includeDB_gc_parNew openjdk/hotspot/src/share/vm/gc_implementation/includeDB_gc_parNew +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/includeDB_gc_parNew 2009-04-24 08:30:55.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/gc_implementation/includeDB_gc_parNew 2010-03-11 18:20:07.000000000 +0000 +@@ -29,6 +29,8 @@ + asParNewGeneration.cpp cmsAdaptiveSizePolicy.hpp + asParNewGeneration.cpp cmsGCAdaptivePolicyCounters.hpp + asParNewGeneration.cpp defNewGeneration.inline.hpp ++asParNewGeneration.cpp markOop.inline.hpp ++asParNewGeneration.cpp markSweep.inline.hpp + asParNewGeneration.cpp oop.pcgc.inline.hpp + asParNewGeneration.cpp parNewGeneration.hpp + asParNewGeneration.cpp referencePolicy.hpp +@@ -39,7 +41,7 @@ + parCardTableModRefBS.cpp java.hpp + parCardTableModRefBS.cpp mutexLocker.hpp + parCardTableModRefBS.cpp sharedHeap.hpp +-parCardTableModRefBS.cpp space.hpp ++parCardTableModRefBS.cpp space.inline.hpp + parCardTableModRefBS.cpp universe.hpp + parCardTableModRefBS.cpp virtualspace.hpp + +diff -Nru openjdk.orig/hotspot/src/share/vm/includeDB_compiler2 openjdk/hotspot/src/share/vm/includeDB_compiler2 +--- openjdk.orig/hotspot/src/share/vm/includeDB_compiler2 2009-04-24 08:30:55.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/includeDB_compiler2 2010-03-11 18:18:56.000000000 +0000 +@@ -140,6 +140,7 @@ + c2_globals_.hpp macros.hpp + + c2_init_.cpp compile.hpp ++c2_init_.cpp node.hpp + + c2compiler.cpp ad_.hpp + c2compiler.cpp c2compiler.hpp +@@ -833,6 +834,7 @@ + phase.cpp compile.hpp + phase.cpp compileBroker.hpp + phase.cpp nmethod.hpp ++phase.cpp node.hpp From ahughes at redhat.com Fri Mar 12 05:36:08 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Fri, 12 Mar 2010 13:36:08 +0000 Subject: Old Plugin Status Message-ID: <17c6771e1003120536v58eaabbci8b1179ada2eed962@mail.gmail.com> Are we still planning to include the old plugin with IcedTea6 1.8? I, for one, can no longer even build it on my main machine, as I've upgraded to XULRunner 1.9.2. Does anyone still need it over NPPlugin? -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From andrew at icedtea.classpath.org Fri Mar 12 08:46:41 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 12 Mar 2010 16:46:41 +0000 Subject: /hg/icedtea6: NetX/plugin build sync (1/3): Build NetX and plugi... Message-ID: changeset 7fd598f9cf42 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=7fd598f9cf42 author: Andrew John Hughes date: Fri Mar 12 16:46:26 2010 +0000 NetX/plugin build sync (1/3): Build NetX and plugin sources separately. 2010-03-12 Andrew John Hughes NetX/plugin build sync (1/3): Build NetX and plugin sources separately. * rt/javax/jnlp/BasicService.java, * rt/javax/jnlp/ClipboardService.java, * rt/javax/jnlp/DownloadService.java, * rt/javax/jnlp/DownloadServiceListener.java, * rt/javax/jnlp/ExtendedService.java, * rt/javax/jnlp/ExtensionInstallerService.java, * rt/javax/jnlp/FileContents.java, * rt/javax/jnlp/FileOpenService.java, * rt/javax/jnlp/FileSaveService.java, * rt/javax/jnlp/JNLPRandomAccessFile.java, * rt/javax/jnlp/PersistenceService.java, * rt/javax/jnlp/PrintService.java, * rt/javax/jnlp/ServiceManager.java, * rt/javax/jnlp/ServiceManagerStub.java, * rt/javax/jnlp/SingleInstanceListener.java, * rt/javax/jnlp/SingleInstanceService.java, * rt/javax/jnlp/UnavailableServiceException.java, * rt/net/sourceforge/jnlp/AppletDesc.java, * rt/net/sourceforge/jnlp/ApplicationDesc.java, * rt/net/sourceforge/jnlp/AssociationDesc.java, * rt/net/sourceforge/jnlp/ComponentDesc.java, * rt/net/sourceforge/jnlp/DefaultLaunchHandler.java, * rt/net/sourceforge/jnlp/ExtensionDesc.java, * rt/net/sourceforge/jnlp/IconDesc.java, * rt/net/sourceforge/jnlp/InformationDesc.java, * rt/net/sourceforge/jnlp/InstallerDesc.java, * rt/net/sourceforge/jnlp/JARDesc.java, * rt/net/sourceforge/jnlp/JNLPFile.java, * rt/net/sourceforge/jnlp/JNLPSplashScreen.java, * rt/net/sourceforge/jnlp/JREDesc.java, * rt/net/sourceforge/jnlp/LaunchException.java, * rt/net/sourceforge/jnlp/LaunchHandler.java, * rt/net/sourceforge/jnlp/Launcher.java, * rt/net/sourceforge/jnlp/MenuDesc.java, * rt/net/sourceforge/jnlp/NetxPanel.java, * rt/net/sourceforge/jnlp/Node.java, * rt/net/sourceforge/jnlp/PackageDesc.java, * rt/net/sourceforge/jnlp/ParseException.java, * rt/net/sourceforge/jnlp/Parser.java, * rt/net/sourceforge/jnlp/PluginBridge.java, * rt/net/sourceforge/jnlp/PropertyDesc.java, * rt/net/sourceforge/jnlp/RelatedContentDesc.java, * rt/net/sourceforge/jnlp/ResourcesDesc.java, * rt/net/sourceforge/jnlp/SecurityDesc.java, * rt/net/sourceforge/jnlp/ShortcutDesc.java, * rt/net/sourceforge/jnlp/StreamEater.java, * rt/net/sourceforge/jnlp/Version.java, * rt/net/sourceforge/jnlp/cache/CacheEntry.java, * rt/net/sourceforge/jnlp/cache/CacheUtil.java, * rt/net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java, * rt/net/sourceforge/jnlp/cache/DownloadIndicator.java, * rt/net/sourceforge/jnlp/cache/Resource.java, * rt/net/sourceforge/jnlp/cache/ResourceTracker.java, * rt/net/sourceforge/jnlp/cache/UpdatePolicy.java, * rt/net/sourceforge/jnlp/cache/package.html, * rt/net/sourceforge/jnlp/event/ApplicationEvent.java, * rt/net/sourceforge/jnlp/event/ApplicationListener.java, * rt/net/sourceforge/jnlp/event/DownloadEvent.java, * rt/net/sourceforge/jnlp/event/DownloadListener.java, * rt/net/sourceforge/jnlp/event/package.html, * rt/net/sourceforge/jnlp/package.html, * rt/net/sourceforge/jnlp/resources/Manifest.mf, * rt/net/sourceforge/jnlp/resources/Messages.properties, * rt/net/sourceforge/jnlp/resources/about.jnlp, * rt/net/sourceforge/jnlp/resources/default.jnlp, * rt/net/sourceforge/jnlp/runtime/AppThreadGroup.java, * rt/net/sourceforge/jnlp/runtime/AppletAudioClip.java, * rt/net/sourceforge/jnlp/runtime/AppletEnvironment.java, * rt/net/sourceforge/jnlp/runtime/AppletInstance.java, * rt/net/sourceforge/jnlp/runtime/ApplicationInstance.java, * rt/net/sourceforge/jnlp/runtime/Boot.java, * rt/net/sourceforge/jnlp/runtime/Boot13.java, * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java, * rt/net/sourceforge/jnlp/runtime/JNLPPolicy.java, * rt/net/sourceforge/jnlp/runtime/JNLPRuntime.java, * rt/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java, * rt/net/sourceforge/jnlp/runtime/package.html, * rt/net/sourceforge/jnlp/security/AccessWarningPane.java, * rt/net/sourceforge/jnlp/security/AppletWarningPane.java, * rt/net/sourceforge/jnlp/security/CertVerifier.java, * rt/net/sourceforge/jnlp/security/CertWarningPane.java, * rt/net/sourceforge/jnlp/security/CertsInfoPane.java, * rt/net/sourceforge/jnlp/security/HttpsCertVerifier.java, * rt/net/sourceforge/jnlp/security/MoreInfoPane.java, * rt/net/sourceforge/jnlp/security/SecurityDialogUI.java, * rt/net/sourceforge/jnlp/security/SecurityUtil.java, * rt/net/sourceforge/jnlp/security/SecurityWarningDialog.java, * rt/net/sourceforge/jnlp/security/SingleCertInfoPane.java, * rt/net/sourceforge/jnlp/security/VariableX509TrustManager.java, * rt/net/sourceforge/jnlp/security/viewer/CertificatePane.java, * rt/net/sourceforge/jnlp/security/viewer/CertificateViewer.java, * rt/net/sourceforge/jnlp/services/ExtendedSingleInstanceService.java, * rt/net/sourceforge/jnlp/services/InstanceExistsException.java, * rt/net/sourceforge/jnlp/services/ServiceUtil.java, * rt/net/sourceforge/jnlp/services/SingleInstanceLock.java, * rt/net/sourceforge/jnlp/services/XBasicService.java, * rt/net/sourceforge/jnlp/services/XClipboardService.java, * rt/net/sourceforge/jnlp/services/XDownloadService.java, * rt/net/sourceforge/jnlp/services/XExtendedService.java, * rt/net/sourceforge/jnlp/services/XExtensionInstallerService.java, * rt/net/sourceforge/jnlp/services/XFileContents.java, * rt/net/sourceforge/jnlp/services/XFileOpenService.java, * rt/net/sourceforge/jnlp/services/XFileSaveService.java, * rt/net/sourceforge/jnlp/services/XJNLPRandomAccessFile.java, * rt/net/sourceforge/jnlp/services/XPersistenceService.java, * rt/net/sourceforge/jnlp/services/XPrintService.java, * rt/net/sourceforge/jnlp/services/XServiceManagerStub.java, * rt/net/sourceforge/jnlp/services/XSingleInstanceService.java, * rt/net/sourceforge/jnlp/services/package.html, * rt/net/sourceforge/jnlp/tools/CharacterEncoder.java, * rt/net/sourceforge/jnlp/tools/HexDumpEncoder.java, * rt/net/sourceforge/jnlp/tools/JarRunner.java, * rt/net/sourceforge/jnlp/tools/JarSigner.java, * rt/net/sourceforge/jnlp/tools/JarSignerResources.java, * rt/net/sourceforge/jnlp/tools/KeyStoreUtil.java, * rt/net/sourceforge/jnlp/tools/KeyTool.java, * rt/net/sourceforge/jnlp/util/FileUtils.java, * rt/net/sourceforge/jnlp/util/PropertiesFile.java, * rt/net/sourceforge/jnlp/util/Reflect.java, * rt/net/sourceforge/jnlp/util/WeakList.java, * rt/net/sourceforge/jnlp/util/XDesktopEntry.java, * rt/net/sourceforge/nanoxml/XMLElement.java, * rt/net/sourceforge/nanoxml/XMLParseException.java: Move NetX sources to netx subdirectory. * Makefile.am: (NETX_SRCDIR): Source directory containing NetX sources. (NETX_RESOURCE_DIR): Path to NetX resource files. (NETX_EXTRA_DIR): Path to extra NetX resource files. (SOURCEPATH_DIRS): Renamed from ABS_SOURCE_DIRS. Drop rt source directory (now plugs only) and plugin sources so it only includes OpenJDK sources. (ICEDTEA_BOOTSTRAP_CLASSES): Explicitly compile BasicDirectoryModel due to http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42003 (LIVECONNECT_DIR): Use liveconnect build directory not rt. (distclean-local): Call clean-netx, clean-plugin and clean- liveconnect targets. Remove duplicate plugin cleanup. (stamps/icedtea.stamp): Use NETX_RESOURCE_DIR for about.jnlp. (stamps/icedtea-debug.stamp): Likewise. (liveconnect-source- files.txt): Compile list of plugin sources. (stamps/liveconnect.stamp): Build the plugin Java source code. (stamps/liveconnect-dist.stamp): Create classes.jar and src.zip for plugin (unused at present). (clean-liveconnect): Remove build of Java plugin code. (netx-source-files.txt): Compile list of NetX sources. (stamps/netx.stamp): Build the NetX source code and copy the resources to the build directory.. (stamps/netx-dist.stamp): Create classes.jar and src.zip for NetX (unused at present). (clean-netx): Remove build of NetX code. (stamps/extra-class-files.stamp): Use NETX_EXTRA_DIR. (rt-source-files.txt): Don't search rt directory in build tree or plugin sources. (stamps/rt.stamp): Use SOURCEPATH_DIRS. Don't copy NetX resources; now part of the NetX build. (stamps/rt.stamp): Depend on liveconnect.stamp as plugin classes are currently included in rt.jar. (stamps/plugs.stamp): Depend on liveconnect.stamp and netx.stamp as plugin and NetX classes are currently included in rt-closed.jar. (liveconnect): New alias. (liveconncet-dist): Likewise. (netx): Likewise. (netx-dist): Likewise. * netx/javax/jnlp/BasicService.java, * netx/javax/jnlp/ClipboardService.java, * netx/javax/jnlp/DownloadService.java, * netx/javax/jnlp/DownloadServiceListener.java, * netx/javax/jnlp/ExtendedService.java, * netx/javax/jnlp/ExtensionInstallerService.java, * netx/javax/jnlp/FileContents.java, * netx/javax/jnlp/FileOpenService.java, * netx/javax/jnlp/FileSaveService.java, * netx/javax/jnlp/JNLPRandomAccessFile.java, * netx/javax/jnlp/PersistenceService.java, * netx/javax/jnlp/PrintService.java, * netx/javax/jnlp/ServiceManager.java, * netx/javax/jnlp/ServiceManagerStub.java, * netx/javax/jnlp/SingleInstanceListener.java, * netx/javax/jnlp/SingleInstanceService.java, * netx/javax/jnlp/UnavailableServiceException.java, * netx/net/sourceforge/jnlp/AppletDesc.java, * netx/net/sourceforge/jnlp/ApplicationDesc.java, * netx/net/sourceforge/jnlp/AssociationDesc.java, * netx/net/sourceforge/jnlp/ComponentDesc.java, * netx/net/sourceforge/jnlp/DefaultLaunchHandler.java, * netx/net/sourceforge/jnlp/ExtensionDesc.java, * netx/net/sourceforge/jnlp/IconDesc.java, * netx/net/sourceforge/jnlp/InformationDesc.java, * netx/net/sourceforge/jnlp/InstallerDesc.java, * netx/net/sourceforge/jnlp/JARDesc.java, * netx/net/sourceforge/jnlp/JNLPFile.java, * netx/net/sourceforge/jnlp/JNLPSplashScreen.java, * netx/net/sourceforge/jnlp/JREDesc.java, * netx/net/sourceforge/jnlp/LaunchException.java, * netx/net/sourceforge/jnlp/LaunchHandler.java, * netx/net/sourceforge/jnlp/Launcher.java, * netx/net/sourceforge/jnlp/MenuDesc.java, * netx/net/sourceforge/jnlp/NetxPanel.java, * netx/net/sourceforge/jnlp/Node.java, * netx/net/sourceforge/jnlp/PackageDesc.java, * netx/net/sourceforge/jnlp/ParseException.java, * netx/net/sourceforge/jnlp/Parser.java, * netx/net/sourceforge/jnlp/PluginBridge.java, * netx/net/sourceforge/jnlp/PropertyDesc.java, * netx/net/sourceforge/jnlp/RelatedContentDesc.java, * netx/net/sourceforge/jnlp/ResourcesDesc.java, * netx/net/sourceforge/jnlp/SecurityDesc.java, * netx/net/sourceforge/jnlp/ShortcutDesc.java, * netx/net/sourceforge/jnlp/StreamEater.java, * netx/net/sourceforge/jnlp/Version.java, * netx/net/sourceforge/jnlp/cache/CacheEntry.java, * netx/net/sourceforge/jnlp/cache/CacheUtil.java, * netx/net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java, * netx/net/sourceforge/jnlp/cache/DownloadIndicator.java, * netx/net/sourceforge/jnlp/cache/Resource.java, * netx/net/sourceforge/jnlp/cache/ResourceTracker.java, * netx/net/sourceforge/jnlp/cache/UpdatePolicy.java, * netx/net/sourceforge/jnlp/cache/package.html, * netx/net/sourceforge/jnlp/event/ApplicationEvent.java, * netx/net/sourceforge/jnlp/event/ApplicationListener.java, * netx/net/sourceforge/jnlp/event/DownloadEvent.java, * netx/net/sourceforge/jnlp/event/DownloadListener.java, * netx/net/sourceforge/jnlp/event/package.html, * netx/net/sourceforge/jnlp/package.html, * netx/net/sourceforge/jnlp/resources/Manifest.mf, * netx/net/sourceforge/jnlp/resources/Messages.properties, * netx/net/sourceforge/jnlp/resources/about.jnlp, * netx/net/sourceforge/jnlp/resources/default.jnlp, * netx/net/sourceforge/jnlp/runtime/AppThreadGroup.java, * netx/net/sourceforge/jnlp/runtime/AppletAudioClip.java, * netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java, * netx/net/sourceforge/jnlp/runtime/AppletInstance.java, * netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java, * netx/net/sourceforge/jnlp/runtime/Boot.java, * netx/net/sourceforge/jnlp/runtime/Boot13.java, * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java, * netx/net/sourceforge/jnlp/runtime/JNLPPolicy.java, * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java, * netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java, * netx/net/sourceforge/jnlp/runtime/package.html, * netx/net/sourceforge/jnlp/security/AccessWarningPane.java, * netx/net/sourceforge/jnlp/security/AppletWarningPane.java, * netx/net/sourceforge/jnlp/security/CertVerifier.java, * netx/net/sourceforge/jnlp/security/CertWarningPane.java, * netx/net/sourceforge/jnlp/security/CertsInfoPane.java, * netx/net/sourceforge/jnlp/security/HttpsCertVerifier.java, * netx/net/sourceforge/jnlp/security/MoreInfoPane.java, * netx/net/sourceforge/jnlp/security/SecurityDialogUI.java, * netx/net/sourceforge/jnlp/security/SecurityUtil.java, * netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java, * netx/net/sourceforge/jnlp/security/SingleCertInfoPane.java, * netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java, * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java, * netx/net/sourceforge/jnlp/security/viewer/CertificateViewer.java, * netx/net/sourceforge/jnlp/services/ExtendedSingleInstanceService.jav a, * netx/net/sourceforge/jnlp/services/InstanceExistsException.java, * netx/net/sourceforge/jnlp/services/ServiceUtil.java, * netx/net/sourceforge/jnlp/services/SingleInstanceLock.java, * netx/net/sourceforge/jnlp/services/XBasicService.java, * netx/net/sourceforge/jnlp/services/XClipboardService.java, * netx/net/sourceforge/jnlp/services/XDownloadService.java, * netx/net/sourceforge/jnlp/services/XExtendedService.java, * netx/net/sourceforge/jnlp/services/XExtensionInstallerService.java, * netx/net/sourceforge/jnlp/services/XFileContents.java, * netx/net/sourceforge/jnlp/services/XFileOpenService.java, * netx/net/sourceforge/jnlp/services/XFileSaveService.java, * netx/net/sourceforge/jnlp/services/XJNLPRandomAccessFile.java, * netx/net/sourceforge/jnlp/services/XPersistenceService.java, * netx/net/sourceforge/jnlp/services/XPrintService.java, * netx/net/sourceforge/jnlp/services/XServiceManagerStub.java, * netx/net/sourceforge/jnlp/services/XSingleInstanceService.java, * netx/net/sourceforge/jnlp/services/package.html, * netx/net/sourceforge/jnlp/tools/CharacterEncoder.java, * netx/net/sourceforge/jnlp/tools/HexDumpEncoder.java, * netx/net/sourceforge/jnlp/tools/JarRunner.java, * netx/net/sourceforge/jnlp/tools/JarSigner.java, * netx/net/sourceforge/jnlp/tools/JarSignerResources.java, * netx/net/sourceforge/jnlp/tools/KeyStoreUtil.java, * netx/net/sourceforge/jnlp/tools/KeyTool.java, * netx/net/sourceforge/jnlp/util/FileUtils.java, * netx/net/sourceforge/jnlp/util/PropertiesFile.java, * netx/net/sourceforge/jnlp/util/Reflect.java, * netx/net/sourceforge/jnlp/util/WeakList.java, * netx/net/sourceforge/jnlp/util/XDesktopEntry.java, * netx/net/sourceforge/nanoxml/XMLElement.java, * netx/net/sourceforge/nanoxml/XMLParseException.java: New location of NetX sources. diffstat: 248 files changed, 23264 insertions(+), 22904 deletions(-) ChangeLog | 291 ++ Makefile.am | 151 - netx/javax/jnlp/BasicService.java | 13 netx/javax/jnlp/ClipboardService.java | 11 netx/javax/jnlp/DownloadService.java | 25 netx/javax/jnlp/DownloadServiceListener.java | 13 netx/javax/jnlp/ExtendedService.java | 51 netx/javax/jnlp/ExtensionInstallerService.java | 22 netx/javax/jnlp/FileContents.java | 18 netx/javax/jnlp/FileOpenService.java | 11 netx/javax/jnlp/FileSaveService.java | 11 netx/javax/jnlp/JNLPRandomAccessFile.java | 46 netx/javax/jnlp/PersistenceService.java | 18 netx/javax/jnlp/PrintService.java | 13 netx/javax/jnlp/ServiceManager.java | 54 netx/javax/jnlp/ServiceManagerStub.java | 11 netx/javax/jnlp/SingleInstanceListener.java | 35 netx/javax/jnlp/SingleInstanceService.java | 46 netx/javax/jnlp/UnavailableServiceException.java | 16 netx/net/sourceforge/jnlp/AppletDesc.java | 125 netx/net/sourceforge/jnlp/ApplicationDesc.java | 76 netx/net/sourceforge/jnlp/AssociationDesc.java | 56 netx/net/sourceforge/jnlp/ComponentDesc.java | 43 netx/net/sourceforge/jnlp/DefaultLaunchHandler.java | 114 netx/net/sourceforge/jnlp/ExtensionDesc.java | 145 + netx/net/sourceforge/jnlp/IconDesc.java | 138 + netx/net/sourceforge/jnlp/InformationDesc.java | 268 ++ netx/net/sourceforge/jnlp/InstallerDesc.java | 54 netx/net/sourceforge/jnlp/JARDesc.java | 144 + netx/net/sourceforge/jnlp/JNLPFile.java | 623 ++++ netx/net/sourceforge/jnlp/JNLPSplashScreen.java | 93 netx/net/sourceforge/jnlp/JREDesc.java | 167 + netx/net/sourceforge/jnlp/LaunchException.java | 190 + netx/net/sourceforge/jnlp/LaunchHandler.java | 68 netx/net/sourceforge/jnlp/Launcher.java | 792 +++++ netx/net/sourceforge/jnlp/MenuDesc.java | 38 netx/net/sourceforge/jnlp/NetxPanel.java | 147 + netx/net/sourceforge/jnlp/Node.java | 147 + netx/net/sourceforge/jnlp/PackageDesc.java | 105 netx/net/sourceforge/jnlp/ParseException.java | 94 netx/net/sourceforge/jnlp/Parser.java | 1202 +++++++++ netx/net/sourceforge/jnlp/PluginBridge.java | 253 + netx/net/sourceforge/jnlp/PropertyDesc.java | 66 netx/net/sourceforge/jnlp/RelatedContentDesc.java | 93 netx/net/sourceforge/jnlp/ResourcesDesc.java | 231 + netx/net/sourceforge/jnlp/SecurityDesc.java | 197 + netx/net/sourceforge/jnlp/ShortcutDesc.java | 70 netx/net/sourceforge/jnlp/StreamEater.java | 45 netx/net/sourceforge/jnlp/Version.java | 354 ++ netx/net/sourceforge/jnlp/cache/CacheEntry.java | 174 + netx/net/sourceforge/jnlp/cache/CacheUtil.java | 394 ++ netx/net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java | 321 ++ netx/net/sourceforge/jnlp/cache/DownloadIndicator.java | 92 netx/net/sourceforge/jnlp/cache/Resource.java | 271 ++ netx/net/sourceforge/jnlp/cache/ResourceTracker.java | 1051 +++++++ netx/net/sourceforge/jnlp/cache/UpdatePolicy.java | 90 netx/net/sourceforge/jnlp/cache/package.html | 28 netx/net/sourceforge/jnlp/event/ApplicationEvent.java | 57 netx/net/sourceforge/jnlp/event/ApplicationListener.java | 38 netx/net/sourceforge/jnlp/event/DownloadEvent.java | 72 netx/net/sourceforge/jnlp/event/DownloadListener.java | 51 netx/net/sourceforge/jnlp/event/package.html | 28 netx/net/sourceforge/jnlp/package.html | 30 netx/net/sourceforge/jnlp/resources/Manifest.mf | 6 netx/net/sourceforge/jnlp/resources/Messages.properties | 174 + netx/net/sourceforge/jnlp/resources/about.jnlp | 20 netx/net/sourceforge/jnlp/resources/default.jnlp | 20 netx/net/sourceforge/jnlp/runtime/AppThreadGroup.java | 68 netx/net/sourceforge/jnlp/runtime/AppletAudioClip.java | 109 netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java | 354 ++ netx/net/sourceforge/jnlp/runtime/AppletInstance.java | 139 + netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java | 282 ++ netx/net/sourceforge/jnlp/runtime/Boot.java | 451 +++ netx/net/sourceforge/jnlp/runtime/Boot13.java | 103 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 1052 +++++++ netx/net/sourceforge/jnlp/runtime/JNLPPolicy.java | 105 netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java | 559 ++++ netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java | 556 ++++ netx/net/sourceforge/jnlp/runtime/package.html | 29 netx/net/sourceforge/jnlp/security/AccessWarningPane.java | 215 + netx/net/sourceforge/jnlp/security/AppletWarningPane.java | 121 netx/net/sourceforge/jnlp/security/CertVerifier.java | 92 netx/net/sourceforge/jnlp/security/CertWarningPane.java | 269 ++ netx/net/sourceforge/jnlp/security/CertsInfoPane.java | 340 ++ netx/net/sourceforge/jnlp/security/HttpsCertVerifier.java | 238 + netx/net/sourceforge/jnlp/security/MoreInfoPane.java | 127 netx/net/sourceforge/jnlp/security/SecurityDialogUI.java | 204 + netx/net/sourceforge/jnlp/security/SecurityUtil.java | 285 ++ netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java | 430 +++ netx/net/sourceforge/jnlp/security/SingleCertInfoPane.java | 78 netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java | 286 ++ netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java | 350 ++ netx/net/sourceforge/jnlp/security/viewer/CertificateViewer.java | 148 + netx/net/sourceforge/jnlp/services/ExtendedSingleInstanceService.java | 49 netx/net/sourceforge/jnlp/services/InstanceExistsException.java | 35 netx/net/sourceforge/jnlp/services/ServiceUtil.java | 276 ++ netx/net/sourceforge/jnlp/services/SingleInstanceLock.java | 194 + netx/net/sourceforge/jnlp/services/XBasicService.java | 234 + netx/net/sourceforge/jnlp/services/XClipboardService.java | 81 netx/net/sourceforge/jnlp/services/XDownloadService.java | 181 + netx/net/sourceforge/jnlp/services/XExtendedService.java | 54 netx/net/sourceforge/jnlp/services/XExtensionInstallerService.java | 123 netx/net/sourceforge/jnlp/services/XFileContents.java | 123 netx/net/sourceforge/jnlp/services/XFileOpenService.java | 113 netx/net/sourceforge/jnlp/services/XFileSaveService.java | 140 + netx/net/sourceforge/jnlp/services/XJNLPRandomAccessFile.java | 208 + netx/net/sourceforge/jnlp/services/XPersistenceService.java | 179 + netx/net/sourceforge/jnlp/services/XPrintService.java | 123 netx/net/sourceforge/jnlp/services/XServiceManagerStub.java | 108 netx/net/sourceforge/jnlp/services/XSingleInstanceService.java | 229 + netx/net/sourceforge/jnlp/services/package.html | 29 netx/net/sourceforge/jnlp/tools/CharacterEncoder.java | 354 ++ netx/net/sourceforge/jnlp/tools/HexDumpEncoder.java | 120 netx/net/sourceforge/jnlp/tools/JarRunner.java | 15 netx/net/sourceforge/jnlp/tools/JarSigner.java | 545 ++++ netx/net/sourceforge/jnlp/tools/JarSignerResources.java | 212 + netx/net/sourceforge/jnlp/tools/KeyStoreUtil.java | 69 netx/net/sourceforge/jnlp/tools/KeyTool.java | 461 +++ netx/net/sourceforge/jnlp/util/FileUtils.java | 48 netx/net/sourceforge/jnlp/util/PropertiesFile.java | 148 + netx/net/sourceforge/jnlp/util/Reflect.java | 148 + netx/net/sourceforge/jnlp/util/WeakList.java | 128 netx/net/sourceforge/jnlp/util/XDesktopEntry.java | 213 + netx/net/sourceforge/nanoxml/XMLElement.java | 1334 ++++++++++ netx/net/sourceforge/nanoxml/XMLParseException.java | 130 rt/javax/jnlp/BasicService.java | 13 rt/javax/jnlp/ClipboardService.java | 11 rt/javax/jnlp/DownloadService.java | 25 rt/javax/jnlp/DownloadServiceListener.java | 13 rt/javax/jnlp/ExtendedService.java | 51 rt/javax/jnlp/ExtensionInstallerService.java | 22 rt/javax/jnlp/FileContents.java | 18 rt/javax/jnlp/FileOpenService.java | 11 rt/javax/jnlp/FileSaveService.java | 11 rt/javax/jnlp/JNLPRandomAccessFile.java | 46 rt/javax/jnlp/PersistenceService.java | 18 rt/javax/jnlp/PrintService.java | 13 rt/javax/jnlp/ServiceManager.java | 54 rt/javax/jnlp/ServiceManagerStub.java | 11 rt/javax/jnlp/SingleInstanceListener.java | 35 rt/javax/jnlp/SingleInstanceService.java | 46 rt/javax/jnlp/UnavailableServiceException.java | 16 rt/net/sourceforge/jnlp/AppletDesc.java | 125 rt/net/sourceforge/jnlp/ApplicationDesc.java | 76 rt/net/sourceforge/jnlp/AssociationDesc.java | 56 rt/net/sourceforge/jnlp/ComponentDesc.java | 43 rt/net/sourceforge/jnlp/DefaultLaunchHandler.java | 114 rt/net/sourceforge/jnlp/ExtensionDesc.java | 145 - rt/net/sourceforge/jnlp/IconDesc.java | 138 - rt/net/sourceforge/jnlp/InformationDesc.java | 268 -- rt/net/sourceforge/jnlp/InstallerDesc.java | 54 rt/net/sourceforge/jnlp/JARDesc.java | 144 - rt/net/sourceforge/jnlp/JNLPFile.java | 623 ---- rt/net/sourceforge/jnlp/JNLPSplashScreen.java | 93 rt/net/sourceforge/jnlp/JREDesc.java | 167 - rt/net/sourceforge/jnlp/LaunchException.java | 190 - rt/net/sourceforge/jnlp/LaunchHandler.java | 68 rt/net/sourceforge/jnlp/Launcher.java | 792 ----- rt/net/sourceforge/jnlp/MenuDesc.java | 38 rt/net/sourceforge/jnlp/NetxPanel.java | 147 - rt/net/sourceforge/jnlp/Node.java | 147 - rt/net/sourceforge/jnlp/PackageDesc.java | 105 rt/net/sourceforge/jnlp/ParseException.java | 94 rt/net/sourceforge/jnlp/Parser.java | 1202 --------- rt/net/sourceforge/jnlp/PluginBridge.java | 253 - rt/net/sourceforge/jnlp/PropertyDesc.java | 66 rt/net/sourceforge/jnlp/RelatedContentDesc.java | 93 rt/net/sourceforge/jnlp/ResourcesDesc.java | 231 - rt/net/sourceforge/jnlp/SecurityDesc.java | 197 - rt/net/sourceforge/jnlp/ShortcutDesc.java | 70 rt/net/sourceforge/jnlp/StreamEater.java | 45 rt/net/sourceforge/jnlp/Version.java | 354 -- rt/net/sourceforge/jnlp/cache/CacheEntry.java | 174 - rt/net/sourceforge/jnlp/cache/CacheUtil.java | 394 -- rt/net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java | 321 -- rt/net/sourceforge/jnlp/cache/DownloadIndicator.java | 92 rt/net/sourceforge/jnlp/cache/Resource.java | 271 -- rt/net/sourceforge/jnlp/cache/ResourceTracker.java | 1051 ------- rt/net/sourceforge/jnlp/cache/UpdatePolicy.java | 90 rt/net/sourceforge/jnlp/cache/package.html | 28 rt/net/sourceforge/jnlp/event/ApplicationEvent.java | 57 rt/net/sourceforge/jnlp/event/ApplicationListener.java | 38 rt/net/sourceforge/jnlp/event/DownloadEvent.java | 72 rt/net/sourceforge/jnlp/event/DownloadListener.java | 51 rt/net/sourceforge/jnlp/event/package.html | 28 rt/net/sourceforge/jnlp/package.html | 30 rt/net/sourceforge/jnlp/resources/Manifest.mf | 6 rt/net/sourceforge/jnlp/resources/Messages.properties | 174 - rt/net/sourceforge/jnlp/resources/about.jnlp | 20 rt/net/sourceforge/jnlp/resources/default.jnlp | 20 rt/net/sourceforge/jnlp/runtime/AppThreadGroup.java | 68 rt/net/sourceforge/jnlp/runtime/AppletAudioClip.java | 109 rt/net/sourceforge/jnlp/runtime/AppletEnvironment.java | 354 -- rt/net/sourceforge/jnlp/runtime/AppletInstance.java | 139 - rt/net/sourceforge/jnlp/runtime/ApplicationInstance.java | 282 -- rt/net/sourceforge/jnlp/runtime/Boot.java | 451 --- rt/net/sourceforge/jnlp/runtime/Boot13.java | 103 rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 1052 ------- rt/net/sourceforge/jnlp/runtime/JNLPPolicy.java | 105 rt/net/sourceforge/jnlp/runtime/JNLPRuntime.java | 559 ---- rt/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java | 556 ---- rt/net/sourceforge/jnlp/runtime/package.html | 29 rt/net/sourceforge/jnlp/security/AccessWarningPane.java | 215 - rt/net/sourceforge/jnlp/security/AppletWarningPane.java | 121 rt/net/sourceforge/jnlp/security/CertVerifier.java | 92 rt/net/sourceforge/jnlp/security/CertWarningPane.java | 269 -- rt/net/sourceforge/jnlp/security/CertsInfoPane.java | 340 -- rt/net/sourceforge/jnlp/security/HttpsCertVerifier.java | 238 - rt/net/sourceforge/jnlp/security/MoreInfoPane.java | 127 rt/net/sourceforge/jnlp/security/SecurityDialogUI.java | 204 - rt/net/sourceforge/jnlp/security/SecurityUtil.java | 285 -- rt/net/sourceforge/jnlp/security/SecurityWarningDialog.java | 430 --- rt/net/sourceforge/jnlp/security/SingleCertInfoPane.java | 78 rt/net/sourceforge/jnlp/security/VariableX509TrustManager.java | 286 -- rt/net/sourceforge/jnlp/security/viewer/CertificatePane.java | 350 -- rt/net/sourceforge/jnlp/security/viewer/CertificateViewer.java | 148 - rt/net/sourceforge/jnlp/services/ExtendedSingleInstanceService.java | 49 rt/net/sourceforge/jnlp/services/InstanceExistsException.java | 35 rt/net/sourceforge/jnlp/services/ServiceUtil.java | 276 -- rt/net/sourceforge/jnlp/services/SingleInstanceLock.java | 194 - rt/net/sourceforge/jnlp/services/XBasicService.java | 234 - rt/net/sourceforge/jnlp/services/XClipboardService.java | 81 rt/net/sourceforge/jnlp/services/XDownloadService.java | 181 - rt/net/sourceforge/jnlp/services/XExtendedService.java | 54 rt/net/sourceforge/jnlp/services/XExtensionInstallerService.java | 123 rt/net/sourceforge/jnlp/services/XFileContents.java | 123 rt/net/sourceforge/jnlp/services/XFileOpenService.java | 113 rt/net/sourceforge/jnlp/services/XFileSaveService.java | 140 - rt/net/sourceforge/jnlp/services/XJNLPRandomAccessFile.java | 208 - rt/net/sourceforge/jnlp/services/XPersistenceService.java | 179 - rt/net/sourceforge/jnlp/services/XPrintService.java | 123 rt/net/sourceforge/jnlp/services/XServiceManagerStub.java | 108 rt/net/sourceforge/jnlp/services/XSingleInstanceService.java | 229 - rt/net/sourceforge/jnlp/services/package.html | 29 rt/net/sourceforge/jnlp/tools/CharacterEncoder.java | 354 -- rt/net/sourceforge/jnlp/tools/HexDumpEncoder.java | 120 rt/net/sourceforge/jnlp/tools/JarRunner.java | 15 rt/net/sourceforge/jnlp/tools/JarSigner.java | 545 ---- rt/net/sourceforge/jnlp/tools/JarSignerResources.java | 212 - rt/net/sourceforge/jnlp/tools/KeyStoreUtil.java | 69 rt/net/sourceforge/jnlp/tools/KeyTool.java | 461 --- rt/net/sourceforge/jnlp/util/FileUtils.java | 48 rt/net/sourceforge/jnlp/util/PropertiesFile.java | 148 - rt/net/sourceforge/jnlp/util/Reflect.java | 148 - rt/net/sourceforge/jnlp/util/WeakList.java | 128 rt/net/sourceforge/jnlp/util/XDesktopEntry.java | 213 - rt/net/sourceforge/nanoxml/XMLElement.java | 1334 ---------- rt/net/sourceforge/nanoxml/XMLParseException.java | 130 diffs (truncated from 47305 to 500 lines): diff -r 39180582f106 -r 7fd598f9cf42 ChangeLog --- a/ChangeLog Thu Mar 11 16:35:10 2010 -0500 +++ b/ChangeLog Fri Mar 12 16:46:26 2010 +0000 @@ -1,3 +1,294 @@ 2010-03-11 Gary Benson + + NetX/plugin build sync (1/3): + Build NetX and plugin sources separately. + * rt/javax/jnlp/BasicService.java, + * rt/javax/jnlp/ClipboardService.java, + * rt/javax/jnlp/DownloadService.java, + * rt/javax/jnlp/DownloadServiceListener.java, + * rt/javax/jnlp/ExtendedService.java, + * rt/javax/jnlp/ExtensionInstallerService.java, + * rt/javax/jnlp/FileContents.java, + * rt/javax/jnlp/FileOpenService.java, + * rt/javax/jnlp/FileSaveService.java, + * rt/javax/jnlp/JNLPRandomAccessFile.java, + * rt/javax/jnlp/PersistenceService.java, + * rt/javax/jnlp/PrintService.java, + * rt/javax/jnlp/ServiceManager.java, + * rt/javax/jnlp/ServiceManagerStub.java, + * rt/javax/jnlp/SingleInstanceListener.java, + * rt/javax/jnlp/SingleInstanceService.java, + * rt/javax/jnlp/UnavailableServiceException.java, + * rt/net/sourceforge/jnlp/AppletDesc.java, + * rt/net/sourceforge/jnlp/ApplicationDesc.java, + * rt/net/sourceforge/jnlp/AssociationDesc.java, + * rt/net/sourceforge/jnlp/ComponentDesc.java, + * rt/net/sourceforge/jnlp/DefaultLaunchHandler.java, + * rt/net/sourceforge/jnlp/ExtensionDesc.java, + * rt/net/sourceforge/jnlp/IconDesc.java, + * rt/net/sourceforge/jnlp/InformationDesc.java, + * rt/net/sourceforge/jnlp/InstallerDesc.java, + * rt/net/sourceforge/jnlp/JARDesc.java, + * rt/net/sourceforge/jnlp/JNLPFile.java, + * rt/net/sourceforge/jnlp/JNLPSplashScreen.java, + * rt/net/sourceforge/jnlp/JREDesc.java, + * rt/net/sourceforge/jnlp/LaunchException.java, + * rt/net/sourceforge/jnlp/LaunchHandler.java, + * rt/net/sourceforge/jnlp/Launcher.java, + * rt/net/sourceforge/jnlp/MenuDesc.java, + * rt/net/sourceforge/jnlp/NetxPanel.java, + * rt/net/sourceforge/jnlp/Node.java, + * rt/net/sourceforge/jnlp/PackageDesc.java, + * rt/net/sourceforge/jnlp/ParseException.java, + * rt/net/sourceforge/jnlp/Parser.java, + * rt/net/sourceforge/jnlp/PluginBridge.java, + * rt/net/sourceforge/jnlp/PropertyDesc.java, + * rt/net/sourceforge/jnlp/RelatedContentDesc.java, + * rt/net/sourceforge/jnlp/ResourcesDesc.java, + * rt/net/sourceforge/jnlp/SecurityDesc.java, + * rt/net/sourceforge/jnlp/ShortcutDesc.java, + * rt/net/sourceforge/jnlp/StreamEater.java, + * rt/net/sourceforge/jnlp/Version.java, + * rt/net/sourceforge/jnlp/cache/CacheEntry.java, + * rt/net/sourceforge/jnlp/cache/CacheUtil.java, + * rt/net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java, + * rt/net/sourceforge/jnlp/cache/DownloadIndicator.java, + * rt/net/sourceforge/jnlp/cache/Resource.java, + * rt/net/sourceforge/jnlp/cache/ResourceTracker.java, + * rt/net/sourceforge/jnlp/cache/UpdatePolicy.java, + * rt/net/sourceforge/jnlp/cache/package.html, + * rt/net/sourceforge/jnlp/event/ApplicationEvent.java, + * rt/net/sourceforge/jnlp/event/ApplicationListener.java, + * rt/net/sourceforge/jnlp/event/DownloadEvent.java, + * rt/net/sourceforge/jnlp/event/DownloadListener.java, + * rt/net/sourceforge/jnlp/event/package.html, + * rt/net/sourceforge/jnlp/package.html, + * rt/net/sourceforge/jnlp/resources/Manifest.mf, + * rt/net/sourceforge/jnlp/resources/Messages.properties, + * rt/net/sourceforge/jnlp/resources/about.jnlp, + * rt/net/sourceforge/jnlp/resources/default.jnlp, + * rt/net/sourceforge/jnlp/runtime/AppThreadGroup.java, + * rt/net/sourceforge/jnlp/runtime/AppletAudioClip.java, + * rt/net/sourceforge/jnlp/runtime/AppletEnvironment.java, + * rt/net/sourceforge/jnlp/runtime/AppletInstance.java, + * rt/net/sourceforge/jnlp/runtime/ApplicationInstance.java, + * rt/net/sourceforge/jnlp/runtime/Boot.java, + * rt/net/sourceforge/jnlp/runtime/Boot13.java, + * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java, + * rt/net/sourceforge/jnlp/runtime/JNLPPolicy.java, + * rt/net/sourceforge/jnlp/runtime/JNLPRuntime.java, + * rt/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java, + * rt/net/sourceforge/jnlp/runtime/package.html, + * rt/net/sourceforge/jnlp/security/AccessWarningPane.java, + * rt/net/sourceforge/jnlp/security/AppletWarningPane.java, + * rt/net/sourceforge/jnlp/security/CertVerifier.java, + * rt/net/sourceforge/jnlp/security/CertWarningPane.java, + * rt/net/sourceforge/jnlp/security/CertsInfoPane.java, + * rt/net/sourceforge/jnlp/security/HttpsCertVerifier.java, + * rt/net/sourceforge/jnlp/security/MoreInfoPane.java, + * rt/net/sourceforge/jnlp/security/SecurityDialogUI.java, + * rt/net/sourceforge/jnlp/security/SecurityUtil.java, + * rt/net/sourceforge/jnlp/security/SecurityWarningDialog.java, + * rt/net/sourceforge/jnlp/security/SingleCertInfoPane.java, + * rt/net/sourceforge/jnlp/security/VariableX509TrustManager.java, + * rt/net/sourceforge/jnlp/security/viewer/CertificatePane.java, + * rt/net/sourceforge/jnlp/security/viewer/CertificateViewer.java, + * rt/net/sourceforge/jnlp/services/ExtendedSingleInstanceService.java, + * rt/net/sourceforge/jnlp/services/InstanceExistsException.java, + * rt/net/sourceforge/jnlp/services/ServiceUtil.java, + * rt/net/sourceforge/jnlp/services/SingleInstanceLock.java, + * rt/net/sourceforge/jnlp/services/XBasicService.java, + * rt/net/sourceforge/jnlp/services/XClipboardService.java, + * rt/net/sourceforge/jnlp/services/XDownloadService.java, + * rt/net/sourceforge/jnlp/services/XExtendedService.java, + * rt/net/sourceforge/jnlp/services/XExtensionInstallerService.java, + * rt/net/sourceforge/jnlp/services/XFileContents.java, + * rt/net/sourceforge/jnlp/services/XFileOpenService.java, + * rt/net/sourceforge/jnlp/services/XFileSaveService.java, + * rt/net/sourceforge/jnlp/services/XJNLPRandomAccessFile.java, + * rt/net/sourceforge/jnlp/services/XPersistenceService.java, + * rt/net/sourceforge/jnlp/services/XPrintService.java, + * rt/net/sourceforge/jnlp/services/XServiceManagerStub.java, + * rt/net/sourceforge/jnlp/services/XSingleInstanceService.java, + * rt/net/sourceforge/jnlp/services/package.html, + * rt/net/sourceforge/jnlp/tools/CharacterEncoder.java, + * rt/net/sourceforge/jnlp/tools/HexDumpEncoder.java, + * rt/net/sourceforge/jnlp/tools/JarRunner.java, + * rt/net/sourceforge/jnlp/tools/JarSigner.java, + * rt/net/sourceforge/jnlp/tools/JarSignerResources.java, + * rt/net/sourceforge/jnlp/tools/KeyStoreUtil.java, + * rt/net/sourceforge/jnlp/tools/KeyTool.java, + * rt/net/sourceforge/jnlp/util/FileUtils.java, + * rt/net/sourceforge/jnlp/util/PropertiesFile.java, + * rt/net/sourceforge/jnlp/util/Reflect.java, + * rt/net/sourceforge/jnlp/util/WeakList.java, + * rt/net/sourceforge/jnlp/util/XDesktopEntry.java, + * rt/net/sourceforge/nanoxml/XMLElement.java, + * rt/net/sourceforge/nanoxml/XMLParseException.java: + Move NetX sources to netx subdirectory. + * Makefile.am: + (NETX_SRCDIR): Source directory containing NetX sources. + (NETX_RESOURCE_DIR): Path to NetX resource files. + (NETX_EXTRA_DIR): Path to extra NetX resource files. + (SOURCEPATH_DIRS): Renamed from ABS_SOURCE_DIRS. Drop + rt source directory (now plugs only) and plugin sources + so it only includes OpenJDK sources. + (ICEDTEA_BOOTSTRAP_CLASSES): Explicitly compile BasicDirectoryModel + due to http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42003 + (LIVECONNECT_DIR): Use liveconnect build directory not rt. + (distclean-local): Call clean-netx, clean-plugin and clean-liveconnect + targets. Remove duplicate plugin cleanup. + (stamps/icedtea.stamp): Use NETX_RESOURCE_DIR for about.jnlp. + (stamps/icedtea-debug.stamp): Likewise. + (liveconnect-source-files.txt): Compile list of plugin sources. + (stamps/liveconnect.stamp): Build the plugin Java source code. + (stamps/liveconnect-dist.stamp): Create classes.jar and src.zip + for plugin (unused at present). + (clean-liveconnect): Remove build of Java plugin code. + (netx-source-files.txt): Compile list of NetX sources. + (stamps/netx.stamp): Build the NetX source code and copy the + resources to the build directory.. + (stamps/netx-dist.stamp): Create classes.jar and src.zip + for NetX (unused at present). + (clean-netx): Remove build of NetX code. + (stamps/extra-class-files.stamp): Use NETX_EXTRA_DIR. + (rt-source-files.txt): Don't search rt directory in build tree + or plugin sources. + (stamps/rt.stamp): Use SOURCEPATH_DIRS. Don't copy NetX resources; + now part of the NetX build. + (stamps/rt.stamp): Depend on liveconnect.stamp as plugin classes + are currently included in rt.jar. + (stamps/plugs.stamp): Depend on liveconnect.stamp and netx.stamp as + plugin and NetX classes are currently included in rt-closed.jar. + (liveconnect): New alias. + (liveconncet-dist): Likewise. + (netx): Likewise. + (netx-dist): Likewise. + * netx/javax/jnlp/BasicService.java, + * netx/javax/jnlp/ClipboardService.java, + * netx/javax/jnlp/DownloadService.java, + * netx/javax/jnlp/DownloadServiceListener.java, + * netx/javax/jnlp/ExtendedService.java, + * netx/javax/jnlp/ExtensionInstallerService.java, + * netx/javax/jnlp/FileContents.java, + * netx/javax/jnlp/FileOpenService.java, + * netx/javax/jnlp/FileSaveService.java, + * netx/javax/jnlp/JNLPRandomAccessFile.java, + * netx/javax/jnlp/PersistenceService.java, + * netx/javax/jnlp/PrintService.java, + * netx/javax/jnlp/ServiceManager.java, + * netx/javax/jnlp/ServiceManagerStub.java, + * netx/javax/jnlp/SingleInstanceListener.java, + * netx/javax/jnlp/SingleInstanceService.java, + * netx/javax/jnlp/UnavailableServiceException.java, + * netx/net/sourceforge/jnlp/AppletDesc.java, + * netx/net/sourceforge/jnlp/ApplicationDesc.java, + * netx/net/sourceforge/jnlp/AssociationDesc.java, + * netx/net/sourceforge/jnlp/ComponentDesc.java, + * netx/net/sourceforge/jnlp/DefaultLaunchHandler.java, + * netx/net/sourceforge/jnlp/ExtensionDesc.java, + * netx/net/sourceforge/jnlp/IconDesc.java, + * netx/net/sourceforge/jnlp/InformationDesc.java, + * netx/net/sourceforge/jnlp/InstallerDesc.java, + * netx/net/sourceforge/jnlp/JARDesc.java, + * netx/net/sourceforge/jnlp/JNLPFile.java, + * netx/net/sourceforge/jnlp/JNLPSplashScreen.java, + * netx/net/sourceforge/jnlp/JREDesc.java, + * netx/net/sourceforge/jnlp/LaunchException.java, + * netx/net/sourceforge/jnlp/LaunchHandler.java, + * netx/net/sourceforge/jnlp/Launcher.java, + * netx/net/sourceforge/jnlp/MenuDesc.java, + * netx/net/sourceforge/jnlp/NetxPanel.java, + * netx/net/sourceforge/jnlp/Node.java, + * netx/net/sourceforge/jnlp/PackageDesc.java, + * netx/net/sourceforge/jnlp/ParseException.java, + * netx/net/sourceforge/jnlp/Parser.java, + * netx/net/sourceforge/jnlp/PluginBridge.java, + * netx/net/sourceforge/jnlp/PropertyDesc.java, + * netx/net/sourceforge/jnlp/RelatedContentDesc.java, + * netx/net/sourceforge/jnlp/ResourcesDesc.java, + * netx/net/sourceforge/jnlp/SecurityDesc.java, + * netx/net/sourceforge/jnlp/ShortcutDesc.java, + * netx/net/sourceforge/jnlp/StreamEater.java, + * netx/net/sourceforge/jnlp/Version.java, + * netx/net/sourceforge/jnlp/cache/CacheEntry.java, + * netx/net/sourceforge/jnlp/cache/CacheUtil.java, + * netx/net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java, + * netx/net/sourceforge/jnlp/cache/DownloadIndicator.java, + * netx/net/sourceforge/jnlp/cache/Resource.java, + * netx/net/sourceforge/jnlp/cache/ResourceTracker.java, + * netx/net/sourceforge/jnlp/cache/UpdatePolicy.java, + * netx/net/sourceforge/jnlp/cache/package.html, + * netx/net/sourceforge/jnlp/event/ApplicationEvent.java, + * netx/net/sourceforge/jnlp/event/ApplicationListener.java, + * netx/net/sourceforge/jnlp/event/DownloadEvent.java, + * netx/net/sourceforge/jnlp/event/DownloadListener.java, + * netx/net/sourceforge/jnlp/event/package.html, + * netx/net/sourceforge/jnlp/package.html, + * netx/net/sourceforge/jnlp/resources/Manifest.mf, + * netx/net/sourceforge/jnlp/resources/Messages.properties, + * netx/net/sourceforge/jnlp/resources/about.jnlp, + * netx/net/sourceforge/jnlp/resources/default.jnlp, + * netx/net/sourceforge/jnlp/runtime/AppThreadGroup.java, + * netx/net/sourceforge/jnlp/runtime/AppletAudioClip.java, + * netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java, + * netx/net/sourceforge/jnlp/runtime/AppletInstance.java, + * netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java, + * netx/net/sourceforge/jnlp/runtime/Boot.java, + * netx/net/sourceforge/jnlp/runtime/Boot13.java, + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java, + * netx/net/sourceforge/jnlp/runtime/JNLPPolicy.java, + * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java, + * netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java, + * netx/net/sourceforge/jnlp/runtime/package.html, + * netx/net/sourceforge/jnlp/security/AccessWarningPane.java, + * netx/net/sourceforge/jnlp/security/AppletWarningPane.java, + * netx/net/sourceforge/jnlp/security/CertVerifier.java, + * netx/net/sourceforge/jnlp/security/CertWarningPane.java, + * netx/net/sourceforge/jnlp/security/CertsInfoPane.java, + * netx/net/sourceforge/jnlp/security/HttpsCertVerifier.java, + * netx/net/sourceforge/jnlp/security/MoreInfoPane.java, + * netx/net/sourceforge/jnlp/security/SecurityDialogUI.java, + * netx/net/sourceforge/jnlp/security/SecurityUtil.java, + * netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java, + * netx/net/sourceforge/jnlp/security/SingleCertInfoPane.java, + * netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java, + * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java, + * netx/net/sourceforge/jnlp/security/viewer/CertificateViewer.java, + * netx/net/sourceforge/jnlp/services/ExtendedSingleInstanceService.java, + * netx/net/sourceforge/jnlp/services/InstanceExistsException.java, + * netx/net/sourceforge/jnlp/services/ServiceUtil.java, + * netx/net/sourceforge/jnlp/services/SingleInstanceLock.java, + * netx/net/sourceforge/jnlp/services/XBasicService.java, + * netx/net/sourceforge/jnlp/services/XClipboardService.java, + * netx/net/sourceforge/jnlp/services/XDownloadService.java, + * netx/net/sourceforge/jnlp/services/XExtendedService.java, + * netx/net/sourceforge/jnlp/services/XExtensionInstallerService.java, + * netx/net/sourceforge/jnlp/services/XFileContents.java, + * netx/net/sourceforge/jnlp/services/XFileOpenService.java, + * netx/net/sourceforge/jnlp/services/XFileSaveService.java, + * netx/net/sourceforge/jnlp/services/XJNLPRandomAccessFile.java, + * netx/net/sourceforge/jnlp/services/XPersistenceService.java, + * netx/net/sourceforge/jnlp/services/XPrintService.java, + * netx/net/sourceforge/jnlp/services/XServiceManagerStub.java, + * netx/net/sourceforge/jnlp/services/XSingleInstanceService.java, + * netx/net/sourceforge/jnlp/services/package.html, + * netx/net/sourceforge/jnlp/tools/CharacterEncoder.java, + * netx/net/sourceforge/jnlp/tools/HexDumpEncoder.java, + * netx/net/sourceforge/jnlp/tools/JarRunner.java, + * netx/net/sourceforge/jnlp/tools/JarSigner.java, + * netx/net/sourceforge/jnlp/tools/JarSignerResources.java, + * netx/net/sourceforge/jnlp/tools/KeyStoreUtil.java, + * netx/net/sourceforge/jnlp/tools/KeyTool.java, + * netx/net/sourceforge/jnlp/util/FileUtils.java, + * netx/net/sourceforge/jnlp/util/PropertiesFile.java, + * netx/net/sourceforge/jnlp/util/Reflect.java, + * netx/net/sourceforge/jnlp/util/WeakList.java, + * netx/net/sourceforge/jnlp/util/XDesktopEntry.java, + * netx/net/sourceforge/nanoxml/XMLElement.java, + * netx/net/sourceforge/nanoxml/XMLParseException.java: + New location of NetX sources. + 2010-03-11 Gary Benson * ports/hotspot/src/share/vm/shark/sharkCompiler.cpp diff -r 39180582f106 -r 7fd598f9cf42 Makefile.am --- a/Makefile.am Thu Mar 11 16:35:10 2010 -0500 +++ b/Makefile.am Fri Mar 12 16:46:26 2010 +0000 @@ -61,12 +61,14 @@ LANGTOOLS = openjdk-ecj/langtools/src/sh LANGTOOLS = openjdk-ecj/langtools/src/share/classes CORBA = openjdk-ecj/corba/src/share/classes -# FIXME (netx): NetX source directories go here +NETX_SRCDIR = $(abs_top_srcdir)/netx +NETX_RESOURCE_DIR=$(NETX_SRCDIR)/net/sourceforge/jnlp/resources +NETX_EXTRA_DIR=$(abs_top_srcdir)/extra/net/sourceforge/jnlp/about/resources OPENJDK_SOURCEPATH_DIRS = \ $(SHARE):$(SOLARIS):$(LANGTOOLS):$(CORBA) -ABS_SOURCE_DIRS = $(abs_top_builddir)/generated:$(abs_top_srcdir)/rt:$(LIVECONNECT_SRCS) +SOURCEPATH_DIRS = $(abs_top_builddir)/generated:$(OPENJDK_SOURCEPATH_DIRS) # Sources used from OpenJDK. ICEDTEA_BOOTSTRAP_DIRS = \ @@ -89,10 +91,15 @@ ICEDTEA_BOOTSTRAP_DIRS = \ $(LANGTOOLS)/com/sun/mirror \ $(LANGTOOLS)/com/sun/tools/apt +ICEDTEA_BOOTSTRAP_CLASSES = \ + $(SHARE)/javax/swing/plaf/basic/BasicDirectoryModel.java + # FIXME (javac): Settings for javac go here # Flags IT_CFLAGS=$(CFLAGS) $(ARCHFLAG) +IT_JAVAC_SETTINGS=-g -encoding utf-8 $(JAVACFLAGS) $(MEMORY_LIMIT) $(PREFER_SOURCE) +IT_JAVACFLAGS=$(IT_JAVAC_SETTINGS) # Conditional defintions @@ -130,7 +137,7 @@ ICEDTEANPPLUGIN_CLEAN = clean-IcedTeaNPP ICEDTEANPPLUGIN_CLEAN = clean-IcedTeaNPPlugin ICEDTEANPPLUGIN_TARGET = $(NPPLUGIN_DIR)/IcedTeaNPPlugin.so PLUGIN_PATCH = patches/icedtea-liveconnect.patch -LIVECONNECT_DIR = -C lib/rt netscape -C lib/rt sun/applet +LIVECONNECT_DIR = -C liveconnect netscape -C liveconnect sun/applet NPPLUGIN_DIR=$(abs_top_builddir)/plugin/icedteanp NPPLUGIN_SRCDIR=$(abs_top_srcdir)/plugin/icedteanp LIVECONNECT_SRCS = $(NPPLUGIN_SRCDIR)/java @@ -139,7 +146,7 @@ ICEDTEAPLUGIN_CLEAN = clean-IcedTeaPlugi ICEDTEAPLUGIN_CLEAN = clean-IcedTeaPlugin ICEDTEAPLUGIN_TARGET = IcedTeaPlugin.so PLUGIN_PATCH = patches/icedtea-liveconnect.patch -LIVECONNECT_DIR = -C lib/rt netscape -C lib/rt sun/applet +LIVECONNECT_DIR = -C liveconnect netscape -C liveconnect sun/applet NPPLUGIN_DIR = LIVECONNECT_SRCS = $(abs_top_srcdir)/plugin/icedtea else @@ -621,7 +628,8 @@ check-local: jtregcheck check-local: jtregcheck #FIXME (clean): Should become clean-local. -distclean-local: clean-copy clean-jtreg clean-jtreg-reports $(PULSE_JAVA_CLEAN_TARGET) +distclean-local: clean-copy clean-jtreg clean-jtreg-reports $(PULSE_JAVA_CLEAN_TARGET) \ + clean-netx clean-plugin clean-liveconnect rm -rf stamps rm -f rt-source-files.txt \ extra-source-files.txt @@ -633,13 +641,6 @@ distclean-local: clean-copy clean-jtreg rm -rf rt/netscape rm -rf visualvm rm -rf netbeans -if ENABLE_NPPLUGIN - rm -f $(NPPLUGIN_DIR)/*.o $(NPPLUGIN_DIR)/IcedTeaNPPlugin.so -else -if ENABLE_PLUGIN - rm -f IcedTeaPlugin.o IcedTeaPlugin.so -endif -endif if BUILD_CACAO rm -rf cacao @@ -1386,11 +1387,9 @@ if WITH_VISUALVM cp -r netbeans/nbbuild/netbeans_visualvm/profiler3 \ $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm endif - cp $(abs_top_srcdir)/rt/net/sourceforge/jnlp/resources/about.jnlp \ - extra-lib/about.jar \ + cp $(NETX_RESOURCE_DIR)/about.jnlp extra-lib/about.jar \ $(BUILD_OUTPUT_DIR)/j2re-image/lib ; \ - cp $(abs_top_srcdir)/rt/net/sourceforge/jnlp/resources/about.jnlp \ - extra-lib/about.jar \ + cp $(NETX_RESOURCE_DIR)/about.jnlp extra-lib/about.jar \ $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib if ZERO_BUILD printf -- '-zero ALIASED_TO -server\n' >> $(BUILD_JRE_ARCH_DIR)/jvm.cfg @@ -1487,11 +1486,9 @@ if WITH_VISUALVM cp -r netbeans/nbbuild/netbeans_visualvm/profiler3 \ $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm endif - cp $(abs_top_srcdir)/rt/net/sourceforge/jnlp/resources/default.jnlp \ - extra-lib/about.jar \ + cp $(NETX_RESOURCE_DIR)/default.jnlp extra-lib/about.jar \ $(BUILD_OUTPUT_DIR)-debug/j2re-image/lib ; \ - cp $(abs_top_srcdir)/rt/net/sourceforge/jnlp/resources/default.jnlp \ - extra-lib/about.jar \ + cp $(NETX_RESOURCE_DIR)/default.jnlp extra-lib/about.jar \ $(BUILD_OUTPUT_DIR)-debug/j2sdk-image/jre/lib if ZERO_BUILD printf -- '-zero ALIASED_TO -server\n' >> $(BUILD_DEBUG_JRE_ARCH_DIR)/jvm.cfg @@ -1679,14 +1676,81 @@ clean-plugin: $(ICEDTEAPLUGIN_CLEAN) $(I clean-plugin: $(ICEDTEAPLUGIN_CLEAN) $(ICEDTEANPPLUGIN_CLEAN) rm -f stamps/plugin.stamp -#FIXME (plugin): Missing liveconnect-source-files.txt -#FIXME (plugin): Missing liveconnect.stamp -#FIXME (plugin): Missing liveconnect-dist.stamp -#FIXME (clean): Missing clean-liveconnect -#FIXME (netx): Missing netx-source-files.txt -#FIXME (netx): Missing netx.stamp -#FIXME (netx): Missing netx-dist.stamp -#FIXME (clean): Missing clean-netx +liveconnect-source-files.txt: + if test "x${LIVECONNECT_DIR}" != x; then \ + find $(LIVECONNECT_SRCS) -name '*.java' | sort > $@ ; \ + fi + touch $@ + +stamps/liveconnect.stamp: liveconnect-source-files.txt stamps/netx.stamp + if test "x${LIVECONNECT_DIR}" != x; then \ + mkdir -p $(abs_top_builddir)/liveconnect && \ + $(ICEDTEA_BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ + -d $(abs_top_builddir)/liveconnect \ + -classpath $(abs_top_builddir)/lib/rt:$(abs_top_builddir)/netx.build:$(SYSTEM_JDK_DIR)/jre/lib/rt.jar \ + -sourcepath $(SOURCEPATH_DIRS) \ + -bootclasspath \'\' \ + @liveconnect-source-files.txt ; \ + fi + mkdir -p stamps + touch $@ + +stamps/liveconnect-dist.stamp: stamps/liveconnect.stamp + if test "x${LIVECONNECT_DIR}" != x; then \ + (cd $(abs_top_builddir)/liveconnect ; \ + mkdir -p lib ; \ + $(ICEDTEA_BOOT_DIR)/bin/jar cf lib/classes.jar sun/applet netscape ; \ + cp -a $(LIVECONNECT_SRCS) src; \ + find src -type f -exec chmod 640 '{}' ';' -o -type d -exec chmod 750 '{}' ';'; \ + cd src ; \ + $(ZIP) -qr $(abs_top_builddir)/liveconnect/lib/src.zip sun/applet netscape ) ; \ + fi + mkdir -p stamps + touch $@ + +clean-liveconnect: + rm -rf $(abs_top_builddir)/liveconnect + rm -f stamps/liveconnect-dist.stamp + rm -f liveconnect-source-files.txt + rm -f stamps/liveconnect.stamp + +# NetX +# requires availability of OpenJDK source code including +# a patch applied to sun.plugin.AppletViewerPanel and generated sources + +netx-source-files.txt: + find $(NETX_SRCDIR) -name '*.java' | sort > $@ + +stamps/netx.stamp: netx-source-files.txt stamps/rt-class-files.stamp + mkdir -p $(abs_top_builddir)/netx.build + $(ICEDTEA_BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ + -d $(abs_top_builddir)/netx.build \ + -classpath $(abs_top_builddir)/lib/rt:$(SYSTEM_JDK_DIR)/jre/lib/rt.jar \ + -sourcepath $(NETX_SRCDIR):$(SOURCEPATH_DIRS) \ + -bootclasspath \'\' \ + @netx-source-files.txt + cp -r $(NETX_RESOURCE_DIR) $(abs_top_builddir)/netx.build/net/sourceforge/jnlp + mkdir -p stamps + touch $@ + +stamps/netx-dist.stamp: stamps/netx.stamp + (cd $(abs_top_builddir)/netx.build ; \ + mkdir -p lib ; \ + $(ICEDTEA_BOOT_DIR)/bin/jar cf lib/classes.jar javax/jnlp net ; \ + cp -a $(NETX_SRCDIR) src; \ + find src -type f -exec chmod 640 '{}' ';' -o -type d -exec chmod 750 '{}' ';'; \ + cd src ; \ + $(ICEDTEA_BOOT_DIR)/bin/jar uf $(abs_top_builddir)/netx.build/lib/classes.jar \ + `find . -type f -not -name '*.java'` ; \ + $(ZIP) -qr $(abs_top_builddir)/netx.build/lib/src.zip javax net ) + mkdir -p stamps + touch $@ + +clean-netx: + rm -rf $(abs_top_builddir)/netx.build + rm -f stamps/netx-dist.stamp + rm -f netx-source-files.txt + rm -f stamps/netx.stamp # extras -- used to create about.jar for javaws. extra-source-files.txt: @@ -1698,9 +1762,8 @@ stamps/extra-class-files.stamp: $(INITIA $(ICEDTEA_BOOT_DIR)/bin/javac $(MEMORY_LIMIT) -g -d extra-lib \ -source 1.5 \ -sourcepath extra -cp $(ICEDTEA_RT):$(ICEDTEA_PLUGS) \ - -bootclasspath \'\' @extra-source-files.txt ; - cp -r $(abs_top_srcdir)/extra/net/sourceforge/jnlp/about/resources \ From bugzilla-daemon at icedtea.classpath.org Fri Mar 12 09:04:14 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 12 Mar 2010 17:04:14 +0000 Subject: [Bug 451] New: Incomplete links are created during build process without reporting errors Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=451 Summary: Incomplete links are created during build process without reporting errors Product: IcedTea Version: 6-hg Platform: x86_64 OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: IcedTea6 AssignedTo: unassigned at icedtea.classpath.org ReportedBy: ptisnovs at redhat.com Build process created some incomplete links, namely: xalan-j2-serializer.jar points to non-existent bootstrap/ecj/lib/endorsed/xalan-j2-serializer.jar xalan-j2.jar points to bootstrap/ecj/lib/endorsed/xalan-j2.jar and xerces-j2.jar point to missing file bootstrap/ecj/lib/endorsed/xalan-j2-serializer.jar Irrespective of this, however build continues without reporting the error. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Mar 12 09:05:26 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 12 Mar 2010 17:05:26 +0000 Subject: [Bug 451] Incomplete links are created during build process without reporting errors Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=451 ------- Comment #1 from ptisnovs at redhat.com 2010-03-12 17:05 ------- Created an attachment (id=304) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=304&action=view) IcedTea6 build log -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Mar 12 09:05:45 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 12 Mar 2010 17:05:45 +0000 Subject: [Bug 451] Incomplete links are created during build process without reporting errors Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=451 ------- Comment #2 from ptisnovs at redhat.com 2010-03-12 17:05 ------- Created an attachment (id=305) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=305&action=view) IcedTea6 configuration log -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Mar 12 09:06:47 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 12 Mar 2010 17:06:47 +0000 Subject: [Bug 451] Incomplete links are created during build process without reporting errors Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=451 ------- Comment #3 from ptisnovs at redhat.com 2010-03-12 17:06 ------- Build log and configuration log are stored as attachments. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Mar 12 11:50:33 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 12 Mar 2010 19:50:33 +0000 Subject: [Bug 452] New: SIGSEGV while running jna test cases in ld-linux Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=452 Summary: SIGSEGV while running jna test cases in ld-linux Product: IcedTea Version: 6-1.7 Platform: all URL: https://bugs.gentoo.org/show_bug.cgi?id=294289 OS/Version: Linux Status: NEW Severity: major Priority: P2 Component: IcedTea6 AssignedTo: unassigned at icedtea.classpath.org ReportedBy: ali_bush at gentoo.org Currently when running the unit tests of jna-3.2.4 there occurs a intermittent fatal error [1]. I normally find that the tests will run normally a few times before starting to fail. The test case that fails is not consistent. Our bug report and the testing i've done suggest this occurs in our sun-jdk-1.6, icedtea6-bin and icedtea packages (for icedtea with or without hs16 enabled, the icedtea packages are maintained by gnu_andrew). I will attach a tar.bz2 file of jna-3.2.4 in the hope that someone running a amd64 linux distro can just run > ANT_OPTS="-Djava.awt.headless=true" ant -Ddynlink.native=true test to reproduce this error. While it maybe possible for someone on x86 to also test this I haven't been able to confirm that. The tarball also contains a few hs*log files if comparing is any help. Alistair [1] and see attached for complete log. # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x00007fda0b52bfb8, pid=2927, tid=140573658167056 # # JRE version: 6.0_17-b17 # Java VM: OpenJDK 64-Bit Server VM (14.0-b16 mixed mode linux-amd64 ) # Derivative: IcedTea6 1.7.1 # Distribution: Built on Gentoo Base System release 2.0.1 (Fri Mar 12 14:03:02 NZDT 2010) # Problematic frame: # C [ld-linux-x86-64.so.2+0x8fb8] # # If you would like to submit a bug report, please include # instructions how to reproduce the bug and visit: # http://icedtea.classpath.org/bugzilla # The crash happened outside the Java Virtual Machine in native code. # See problematic frame for where to report the bug. # -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Mar 12 11:52:53 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 12 Mar 2010 19:52:53 +0000 Subject: [Bug 452] SIGSEGV while running jna test cases in ld-linux Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=452 ------- Comment #1 from ali_bush at gentoo.org 2010-03-12 19:52 ------- Created an attachment (id=306) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=306&action=view) java hs_err log file An example hs_err* file. Please note my emerge --info is as follows Portage 2.1.8.3 (default/linux/amd64/10.0, gcc-4.4.3, glibc-2.11-r1, 2.6.32-gentoo x86_64) ================================================================= System uname: Linux-2.6.32-gentoo-x86_64-AMD_Athlon-tm-_64_X2_Dual_Core_Processor_6000+-with-gentoo-2.0.1 Timestamp of tree: Fri, 12 Mar 2010 11:00:05 +0000 app-shells/bash: 4.1_p2 dev-java/java-config: 2.1.9999 dev-lang/python: 2.5.4-r2, 2.6.4-r1, 3.1.1-r1 dev-python/pycrypto: 2.1.0 dev-util/cmake: 2.8.0-r2 sys-apps/baselayout: 2.0.1 sys-apps/openrc: 0.6.0-r1 sys-apps/sandbox: 2.2 sys-devel/autoconf: 2.13, 2.65 sys-devel/automake: 1.4_p6, 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.3, 1.11.1 sys-devel/binutils: 2.20.1 sys-devel/gcc: 4.4.3 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6b virtual/os-headers: 2.6.33 ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* - at EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=k8 -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config /var/lib/hsqldb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-march=k8 -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests collision-protect cvs distlocks fixpackages news nostrip parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch userpriv usersandbox" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="en_NZ" LC_ALL="en_NZ.utf8" LDFLAGS="-Wl,-O1" LINGUAS="en en_GB en_NZ" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/home/alistair/gentoo/overlays/java-overlay /home/alistair/gentoo/overlays/java-experimental" SYNC="rsync://rsync.au.gentoo.org/gentoo-portage" USE="accessibility acl amd64 apache2 berkdb bzip2 cli cracklib crypt ctype cups cxx doc dri fortran gd gdbm gpm htmlhandbook iconv ipv6 java java5 javamail mmx modules mudflap multilib mysqli ncurses nls nptl nptlonly nsplugin openmp pam pcre perl pppd readline reflection session source spl sse sse2 ssl sysfs tcpd tomcat unicode xorg xulrunner zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" CAMERAS="fuji" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_GB en_NZ" NETBEANS_MODULES="apisupport cnd dlight enterprise ergonomics groovy harness ide identity java mobility nb php profiler webcommon websvccommon" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Mar 12 11:59:06 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 12 Mar 2010 19:59:06 +0000 Subject: [Bug 452] SIGSEGV while running jna test cases in ld-linux Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=452 ------- Comment #2 from ali_bush at gentoo.org 2010-03-12 19:59 ------- Created an attachment (id=307) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=307&action=view) jna-3.2.4 workspace Sorry about the size of this I clean the javadocs out but was unwilling to remove too much. This workspace should hopefully allow someone on a non-gentoo machine to reproduce this defect. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Mar 12 12:00:18 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 12 Mar 2010 20:00:18 +0000 Subject: [Bug 452] SIGSEGV while running jna test cases in ld-linux Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=452 ------- Comment #3 from ali_bush at gentoo.org 2010-03-12 20:00 ------- sorry but I think that attach url feature is stupid, so will post it here http://dev.gentoo.org/~ali_bush/jna-3.2.4-sigsegv.tar.bz2 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Mar 12 14:16:10 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 12 Mar 2010 22:16:10 +0000 Subject: [Bug 394] Y2038 time overflow/pre Epoch bug : java.lang.ExceptionInInitializerError on systems with uninitialized clock Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=394 xerxes at zafena.se changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |major Summary|java.lang.ExceptionInInitial|Y2038 time overflow/pre |izerError on systems with |Epoch bug : |uninitialized clock |java.lang.ExceptionInInitial | |izerError on systems with | |uninitialized clock ------- Comment #3 from xerxes at zafena.se 2010-03-12 22:16 ------- relabeling this bug and increases its serverity to match its impact. java will fail to launch when time overflows to pre unix Epoch time on 32 bit systems. someone know of a sun/oracle bug that matches this one upstream? -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From linwendeng at gmail.com Sun Mar 14 22:32:32 2010 From: linwendeng at gmail.com (Linwen Deng) Date: Mon, 15 Mar 2010 13:32:32 +0800 Subject: problems when build OpenJDK on mips64el Message-ID: hi, I'm trying to port OpenJDK to mips64el,but have some troubles,and didn't know where is the source problem. Here are my steps: 1, build gcj. The version of gcc is 4.4.1, and configure like the follows: *../configure --prefix=/usr --build=mips64el-linux \ --disable-nls --enable-shared --enable-__cxa_atexit \ --disable-multilib --with-abi=64 \ --with-ecj-jar=/usr/share/java/ecj.jar \ --enable-c99 --enable-long-long --enable-threads=posix \ --enable-languages=java* the ecj.jar is copied from my PC(x86_64), and version of 4.5. 2, compile Classpath-0.98 with gcj *export MABI=64 ../configure --prefix=/usr --build=mips64el-linux \ --disable-plugin* but failed when configure, the error from config.log is: *error: The method exit(int) is undefined for the type System System.exit(0);* then I write a simple test program: *// test.java public class test{ public static void main(String args[]){ System.out.print("Hello world"); System.exit(0); } }* and the error is the same as above. 3, then I want skip classpath, and compile Iced tea directly, and also meet a lot of troubles when make. I wonder if my steps is correct, so I need your help. Can you give me some tips, or tell me how debian's openjdk was built on mipsel? Waiting for your reply. Thanks! Best Regards, Linwen DENG -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100315/9d650ff5/attachment.html From linwendeng at gmail.com Sun Mar 14 22:22:00 2010 From: linwendeng at gmail.com (Linwen Deng) Date: Mon, 15 Mar 2010 13:22:00 +0800 Subject: problems when build OpenJDK on mips64el Message-ID: hi, I'm trying to port OpenJDK to mips64el,but have some troubles,and didn't know where is the source problem. Here are my steps: 1, build gcj. The version of gcc is 4.4.1, and configure like the follows: *../configure --prefix=/usr --build=mips64el-linux \ --disable-nls --enable-shared --enable-__cxa_atexit \ --disable-multilib --with-abi=64 \ --with-ecj-jar=/usr/share/java/ecj.jar \ --enable-c99 --enable-long-long --enable-threads=posix \ --enable-languages=java* the ecj.jar is copied from my PC(x86_64), and version of 4.5. 2, compile Classpath-0.98 with gcj *export MABI=64 ../configure --prefix=/usr --build=mips64el-linux \ --disable-plugin* but failed when configure, the error from config.log is: *error: The method exit(int) is undefined for the type System System.exit(0);* then I write a simple test program: *// test.java public class test{ public static void main(String args[]){ System.out.print("Hello world"); System.exit(0); } }* and the error is the same as above. 3, then I want skip classpath, and compile Iced tea directly, and also meet a lot of troubles when make. I wonder if my steps is correct, so I need your help. Can you give me some tips, or tell me how debian's openjdk was built on mipsel? Waiting for your reply. Thanks! Best Regards, Linwen DENG Tel??+86 159 9743 7796 MSN/Gtalk: linwendeng at gmail.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100315/8f90376c/attachment.html From aph at redhat.com Mon Mar 15 02:51:38 2010 From: aph at redhat.com (Andrew Haley) Date: Mon, 15 Mar 2010 09:51:38 +0000 Subject: problems when build OpenJDK on mips64el In-Reply-To: References: Message-ID: <4B9E032A.5040108@redhat.com> On 03/15/2010 05:32 AM, Linwen Deng wrote: > I'm trying to port OpenJDK to mips64el,but have some troubles,and didn't > know where is the source problem. > Here are my steps: > > 1, build gcj. The version of gcc is 4.4.1, and configure like the follows: > > *../configure --prefix=/usr --build=mips64el-linux \ > --disable-nls --enable-shared --enable-__cxa_atexit \ > --disable-multilib --with-abi=64 \ > --with-ecj-jar=/usr/share/java/ecj.jar \ > --enable-c99 --enable-long-long --enable-threads=posix \ > --enable-languages=java* > > the ecj.jar is copied from my PC(x86_64), and version of 4.5. > > 2, compile Classpath-0.98 with gcj What's the point of this? gcj already has its own copy of Classpath. > 3, then I want skip classpath, and compile Iced tea directly, and also meet > a lot of troubles when make. > > I wonder if my steps is correct, so I need your help. Can you give me some > tips, or tell me how debian's openjdk was built on mipsel? AFAIK it was bootstrapped directly with gcj. Andrew. From linwendeng at gmail.com Mon Mar 15 03:46:19 2010 From: linwendeng at gmail.com (Linwen Deng) Date: Mon, 15 Mar 2010 18:46:19 +0800 Subject: problems when build OpenJDK on mips64el Message-ID: Thanks, Andrew! My problem is that I meet troubles when compile a test program with gcj, then wonder if only libgcj is enough to compile OpenJDK. The test program: *public class test{ public static void main(String args[]){ System.out.print("Hello kylin"); System.exit(0); } }* The problem is: error: the method exit(int) was not in the type of System. > I'm trying to port OpenJDK to mips64el,but have some troubles,and didn't > know where is the source problem. > Here are my steps: > > 1, build gcj. The version of gcc is 4.4.1, and configure like the follows: > > *../configure --prefix=/usr --build=mips64el-linux \ > --disable-nls --enable-shared --enable-__cxa_atexit \ > --disable-multilib --with-abi=64 \ > --with-ecj-jar=/usr/share/ java/ecj.jar \ > --enable-c99 --enable-long-long --enable-threads=posix \ > --enable-languages=java* > > the ecj.jar is copied from my PC(x86_64), and version of 4.5. > > 2, compile Classpath-0.98 with gcj What's the point of this? gcj already has its own copy of Classpath. > 3, then I want skip classpath, and compile Iced tea directly, and also meet > a lot of troubles when make. > > I wonder if my steps is correct, so I need your help. Can you give me some > tips, or tell me how debian's openjdk was built on mipsel? AFAIK it was bootstrapped directly with gcj. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100315/640d713b/attachment.html From aph at redhat.com Mon Mar 15 03:49:39 2010 From: aph at redhat.com (Andrew Haley) Date: Mon, 15 Mar 2010 10:49:39 +0000 Subject: problems when build OpenJDK on mips64el In-Reply-To: References: Message-ID: <4B9E10C3.3080607@redhat.com> On 03/15/2010 10:46 AM, Linwen Deng wrote: > > My problem is that I meet troubles when compile a test program with gcj, > then wonder if only libgcj is enough to compile OpenJDK. > > The test program: > *public class test{ > public static void main(String args[]){ > System.out.print("Hello kylin"); > System.exit(0); > } > }* > > The problem is: > error: the method exit(int) was not in the type of System. Go into the libjava build directory and run "make check". Andrew. From linwendeng at gmail.com Mon Mar 15 04:04:01 2010 From: linwendeng at gmail.com (Linwen Deng) Date: Mon, 15 Mar 2010 19:04:01 +0800 Subject: problems when build OpenJDK on mips64el Message-ID: >Go into the libjava build directory and run "make check". I have done that already, and the last few lines of libjava.log are as following: *PASS: TestParent compilation from source set_ld_library_path_env_vars: ld_library_path=.:/root/Download/gcc-4.4.1/build/mips64el-linux/./libjava/.libs:/root/Download/gcc-4.4.1/build/gcc invoke: /root/Download/gcc-4.4.1/build/mips64el-linux/libjava/testsuite/TestParent.exe Setting LD_LIBRARY_PATH to .:/root/Download/gcc-4.4.1/build/mips64el-linux/./libjava/.libs:/root/Download/gcc-4.4.1/build/gcc:.:/root/Download/gcc-4.4.1/build/mips64el-linux/./libjava/.libs:/root/Download/gcc-4.4.1/build/gcc:/root/Download/gcc-4.4.1/build/mips64el-linux/libstdc++-v3/.libs:/root/Download/gcc-4.4.1/build/mips64el-linux/libmudflap/.libs:/root/Download/gcc-4.4.1/build/mips64el-linux/libssp/.libs:/root/Download/gcc-4.4.1/build/mips64el-linux/libgomp/.libs:/root/Download/gcc-4.4.1/build/./gcc:/root/Download/gcc-4.4.1/build/./prev-gcc:/lib:/lib64:/usr/lib:/usr/lib64 spawn [open ...] PASS: /root/Download/gcc-4.4.1/build/mips64el-linux/libjava/testsuite/TestParent.exe execution - /root/Download/gcc-4.4.1/build/mips64el-linux/libjava/testsuite/TestParent.exe PASS: /root/Download/gcc-4.4.1/build/mips64el-linux/libjava/testsuite/TestParent.exe output - /root/Download/gcc-4.4.1/build/mips64el-linux/libjava/testsuite/TestParent.exe testcase /root/Download/gcc-4.4.1/libjava/testsuite/libjava.loader/loader.exp completed in 19 seconds Running /root/Download/gcc-4.4.1/libjava/testsuite/libjava.mauve/mauve.exp ... testcase /root/Download/gcc-4.4.1/libjava/testsuite/libjava.mauve/mauve.exp completed in 0 seconds Running /root/Download/gcc-4.4.1/libjava/testsuite/libjava.special/special.exp ... byte compile: /root/Download/gcc-4.4.1/build/gcc/gcj -B/root/Download/gcc-4.4.1/build/mips64el-linux/libjava/ -B/root/Download/gcc-4.4.1/build/gcc/ --encoding=UTF-8 -C -I/root/Download/gcc-4.4.1/build/mips64el-linux/libjava/testsuite/../libgcj-4.4.1.jar -g /root/Download/gcc-4.4.1/libjava/testsuite/libjava.special/pr21115I.java -d /root/Download/gcc-4.4.1/build/mips64el-linux/libjava/testsuite 2>@ stdout couldn't compile /root/Download/gcc-4.4.1/libjava/testsuite/libjava.special/pr21115I.java: /root/Download/gcc-4.4.1/libjava/testsuite/libjava.special/pr21115I.java:1: error: Implicit super constructor pr21115() is undefined for default constructor. Must define an explicit constructor public class pr21115I extends pr21115 ^^^^^^^^ /root/Download/gcc-4.4.1/libjava/testsuite/libjava.special/pr21115.java:20: error: The method println(String) is undefined for the type PrintStream System.out.println ("FAILED - expecting false return value."); ^^^^^^^ /root/Download/gcc-4.4.1/libjava/testsuite/libjava.special/pr21115.java:6: error: The method newInstance() is undefined for the type Class Object o = c.newInstance(); ^^^^^^^^^^^ /root/Download/gcc-4.4.1/libjava/testsuite/libjava.special/pr21115.java:5: error: The method forName(String) is undefined for the type Class Class c = Class.forName("pr21115I"); ^^^^^^^ /root/Download/gcc-4.4.1/libjava/testsuite/libjava.special/pr21115.java:5: warning: Class is a raw type. References to generic type Class should be parameterized Class c = Class.forName("pr21115I"); ^^^^^ 5 problems (4 errors, 1 warning) child process exited abnormally testcase /root/Download/gcc-4.4.1/libjava/testsuite/libjava.special/special.exp completed in 7 seconds Running /root/Download/gcc-4.4.1/libjava/testsuite/libjava.verify/verify.exp ... testcase /root/Download/gcc-4.4.1/libjava/testsuite/libjava.verify/verify.exp completed in 0 seconds === libjava Summary === # of expected passes 2574 runtest completed at Mon Mar 15 12:11:04 2010 *but I don't know what's the problem, can you help me?* * Best Regards, Linwen Deng* * -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100315/1b0a209b/attachment.html From aph at redhat.com Mon Mar 15 04:19:42 2010 From: aph at redhat.com (Andrew Haley) Date: Mon, 15 Mar 2010 11:19:42 +0000 Subject: problems when build OpenJDK on mips64el In-Reply-To: References: Message-ID: <4B9E17CE.8090806@redhat.com> On 03/15/2010 11:04 AM, Linwen Deng wrote: > >Go into the libjava build directory and run "make check". > > I have done that already, and the last few lines of libjava.log are as > following: > > *PASS: TestParent compilation from source > set_ld_library_path_env_vars: > ld_library_path=.:/root/Download/gcc-4.4.1/build/mips64el-linux/./libjava/.libs:/root/Download/gcc-4.4.1/build/gcc > invoke: > /root/Download/gcc-4.4.1/build/mips64el-linux/libjava/testsuite/TestParent.exe > > Setting LD_LIBRARY_PATH to > .:/root/Download/gcc-4.4.1/build/mips64el-linux/./libjava/.libs:/root/Download/gcc-4.4.1/build/gcc:.:/root/Download/gcc-4.4.1/build/mips64el-linux/./libjava/.libs:/root/Download/gcc-4.4.1/build/gcc:/root/Download/gcc-4.4.1/build/mips64el-linux/libstdc++-v3/.libs:/root/Download/gcc-4.4.1/build/mips64el-linux/libmudflap/.libs:/root/Download/gcc-4.4.1/build/mips64el-linux/libssp/.libs:/root/Download/gcc-4.4.1/build/mips64el-linux/libgomp/.libs:/root/Download/gcc-4.4.1/build/./gcc:/root/Download/gcc-4.4.1/build/./prev-gcc:/lib:/lib64:/usr/lib:/usr/lib64 > spawn [open ...] > PASS: > /root/Download/gcc-4.4.1/build/mips64el-linux/libjava/testsuite/TestParent.exe > execution - > /root/Download/gcc-4.4.1/build/mips64el-linux/libjava/testsuite/TestParent.exe > PASS: > /root/Download/gcc-4.4.1/build/mips64el-linux/libjava/testsuite/TestParent.exe > output - > /root/Download/gcc-4.4.1/build/mips64el-linux/libjava/testsuite/TestParent.exe > testcase > /root/Download/gcc-4.4.1/libjava/testsuite/libjava.loader/loader.exp > completed in 19 seconds > Running /root/Download/gcc-4.4.1/libjava/testsuite/libjava.mauve/mauve.exp > ... > testcase /root/Download/gcc-4.4.1/libjava/testsuite/libjava.mauve/mauve.exp > completed in 0 seconds > Running > /root/Download/gcc-4.4.1/libjava/testsuite/libjava.special/special.exp ... > byte compile: /root/Download/gcc-4.4.1/build/gcc/gcj > -B/root/Download/gcc-4.4.1/build/mips64el-linux/libjava/ > -B/root/Download/gcc-4.4.1/build/gcc/ --encoding=UTF-8 -C > -I/root/Download/gcc-4.4.1/build/mips64el-linux/libjava/testsuite/../libgcj-4.4.1.jar > -g /root/Download/gcc-4.4.1/libjava/testsuite/libjava.special/pr21115I.java > -d /root/Download/gcc-4.4.1/build/mips64el-linux/libjava/testsuite 2>@ > stdout > couldn't compile > /root/Download/gcc-4.4.1/libjava/testsuite/libjava.special/pr21115I.java: > /root/Download/gcc-4.4.1/libjava/testsuite/libjava.special/pr21115I.java:1: > error: Implicit super constructor pr21115() is undefined for default > constructor. Must define an explicit constructor > public class pr21115I extends pr21115 > ^^^^^^^^ > /root/Download/gcc-4.4.1/libjava/testsuite/libjava.special/pr21115.java:20: > error: The method println(String) is undefined for the type PrintStream > System.out.println ("FAILED - expecting false return value."); > ^^^^^^^ > /root/Download/gcc-4.4.1/libjava/testsuite/libjava.special/pr21115.java:6: > error: The method newInstance() is undefined for the type Class > Object o = c.newInstance(); > ^^^^^^^^^^^ > /root/Download/gcc-4.4.1/libjava/testsuite/libjava.special/pr21115.java:5: > error: The method forName(String) is undefined for the type Class > Class c = Class.forName("pr21115I"); > ^^^^^^^ > /root/Download/gcc-4.4.1/libjava/testsuite/libjava.special/pr21115.java:5: > warning: Class is a raw type. References to generic type Class should be > parameterized > Class c = Class.forName("pr21115I"); > ^^^^^ > 5 problems (4 errors, 1 warning) > child process exited abnormally > testcase > /root/Download/gcc-4.4.1/libjava/testsuite/libjava.special/special.exp > completed in 7 seconds > Running /root/Download/gcc-4.4.1/libjava/testsuite/libjava.verify/verify.exp > ... > testcase > /root/Download/gcc-4.4.1/libjava/testsuite/libjava.verify/verify.exp > completed in 0 seconds > > === libjava Summary === > > # of expected passes 2574 > runtest completed at Mon Mar 15 12:11:04 2010 > > *but I don't know what's the problem, can you help me?* This version of gcj is broken on MIPS, so someone is going to have to debug it. Can't you use a pre-packaged version? Andrew. From linwendeng at gmail.com Mon Mar 15 04:29:26 2010 From: linwendeng at gmail.com (Linwen Deng) Date: Mon, 15 Mar 2010 19:29:26 +0800 Subject: problems when build OpenJDK on mips64el Message-ID: > This version of gcj is broken on MIPS, so someone is going to have to debug it. > Can't you use a pre-packaged version? I'm afraid I have no other choice other than compile the source, because our system is built from LFS, and all packages are compiled one by one. And I know Debian support mips, but it's mips32el, and ours is mips64el. I don't know how Debian compile OpenJDK on mips? Thanks! Best Regards, Linwen Deng -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100315/fd5010b7/attachment.html From aph at redhat.com Mon Mar 15 05:43:37 2010 From: aph at redhat.com (Andrew Haley) Date: Mon, 15 Mar 2010 12:43:37 +0000 Subject: problems when build OpenJDK on mips64el In-Reply-To: References: Message-ID: <4B9E2B79.7000000@redhat.com> On 03/15/2010 11:29 AM, Linwen Deng wrote: > > This version of gcj is broken on MIPS, so someone is going to have to > debug it. >> Can't you use a pre-packaged version? > > I'm afraid I have no other choice other than compile the source, because our > > system is built from LFS, and all packages are compiled one by one. And I > know > Debian support mips, but it's mips32el, and ours is mips64el. > > I don't know how Debian compile OpenJDK on mips? I don't know either. It might simply be that gcj and maybe OpenJDK doesn't work on mips64el. I don't have a mips64el system. Andrew. From linwendeng at gmail.com Mon Mar 15 05:49:46 2010 From: linwendeng at gmail.com (Linwen Deng) Date: Mon, 15 Mar 2010 20:49:46 +0800 Subject: problems when build OpenJDK on mips64el Message-ID: > This version of gcj is broken on MIPS, so someone is going to have to debug it. > Can't you use a pre-packaged version? Could you tell me which version of gcj can work well on MIPS? Thanks! Best Regards, Linwen Deng -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100315/94733e33/attachment.html From aph at redhat.com Mon Mar 15 05:50:53 2010 From: aph at redhat.com (Andrew Haley) Date: Mon, 15 Mar 2010 12:50:53 +0000 Subject: problems when build OpenJDK on mips64el In-Reply-To: References: Message-ID: <4B9E2D2D.3030601@redhat.com> On 03/15/2010 12:49 PM, Linwen Deng wrote: >> This version of gcj is broken on MIPS, so someone is going to have to > debug it. >> Can't you use a pre-packaged version? > > Could you tell me which version of gcj can work well on MIPS? Sorry, I have no idea. I haven't touched MIPS for many years. Andrew. From doko at ubuntu.com Mon Mar 15 05:56:00 2010 From: doko at ubuntu.com (Matthias Klose) Date: Mon, 15 Mar 2010 13:56:00 +0100 Subject: problems when build OpenJDK on mips64el In-Reply-To: References: Message-ID: <4B9E2E60.3040106@ubuntu.com> On 15.03.2010 13:49, Linwen Deng wrote: >> This version of gcj is broken on MIPS, so someone is going to have to > debug it. >> Can't you use a pre-packaged version? > > Could you tell me which version of gcj can work well on MIPS? the debian mips builds using GCC-4.4.3 look ok and are used to bootstrap openjdk-6, but the icedtea/openjdk-6 configury might not be ready to build as 64bit. Can't test this. From linwendeng at gmail.com Mon Mar 15 06:03:47 2010 From: linwendeng at gmail.com (Linwen Deng) Date: Mon, 15 Mar 2010 21:03:47 +0800 Subject: problems when build OpenJDK on mips64el Message-ID: >the debian mips builds using GCC-4.4.3 look ok and are used to bootstrap openjdk-6, but the icedtea/openjdk-6 configury might not be ready to build as >64bit. Can't test this. hi, Klose. What does "Can't test this" mean? Haven't been tested or didn't pass? Thanks! Linwen Deng -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100315/749df01b/attachment.html From Dalibor.Topic at Sun.COM Mon Mar 15 06:03:50 2010 From: Dalibor.Topic at Sun.COM (Dalibor Topic) Date: Mon, 15 Mar 2010 14:03:50 +0100 Subject: problems when build OpenJDK on mips64el In-Reply-To: <4B9E2D2D.3030601@redhat.com> References: <4B9E2D2D.3030601@redhat.com> Message-ID: <4B9E3036.6090003@sun.com> Andrew Haley wrote: > On 03/15/2010 12:49 PM, Linwen Deng wrote: >>> This version of gcj is broken on MIPS, so someone is going to have to >> debug it. >>> Can't you use a pre-packaged version? >> Could you tell me which version of gcj can work well on MIPS? > > Sorry, I have no idea. I haven't touched MIPS for many years. The other alternatives are to try using Cacao for bootstrapping, and to cross-compile. But maybe a query to the gcj mailing list may be more successful. cheers, dalibor topic -- ******************************************************************* Dalibor Topic Tel: (+49 40) 23 646 738 Java F/OSS Ambassador AIM: robiladonaim Sun Microsystems GmbH Mobile: (+49 177) 2664 192 Nagelsweg 55 http://openjdk.java.net D-20097 Hamburg mailto:Dalibor.Topic at sun.com Sitz der Gesellschaft: Sonnenallee 1, D-85551 Kirchheim-Heimstetten Amtsgericht M?nchen: HRB 161028 Gesch?ftsf?hrer: Thomas Schr?der, Wolfgang Engels Vorsitzender des Aufsichtsrates: Martin H?ring From doko at ubuntu.com Mon Mar 15 06:29:59 2010 From: doko at ubuntu.com (Matthias Klose) Date: Mon, 15 Mar 2010 14:29:59 +0100 Subject: problems when build OpenJDK on mips64el In-Reply-To: References: Message-ID: <4B9E3657.8050004@ubuntu.com> On 15.03.2010 14:03, Linwen Deng wrote: >> the debian mips builds using GCC-4.4.3 look ok and are used to bootstrap > openjdk-6, but the icedtea/openjdk-6 configury might not be ready to build > as>64bit. Can't test this. > > hi, Klose. > > What does "Can't test this" mean? Haven't been tested or didn't pass? No access to a machine, and the debian port doesn't have all required libs built for 64bit. From linwendeng at gmail.com Mon Mar 15 06:49:05 2010 From: linwendeng at gmail.com (Linwen Deng) Date: Mon, 15 Mar 2010 21:49:05 +0800 Subject: problems when build OpenJDK on mips64el Message-ID: >Dalibor >The other alternatives are to try using Cacao for bootstrapping, >and to cross-compile. But maybe a query to the gcj mailing list >may be more successful. I'll go to gcj mailing list for some help. > Matthias Klose > the debian mips builds using GCC-4.4.3 look ok and are used to bootstrap Ok, I'll have a try. Thank you all! Best Regards, Linwen Deng -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100315/c64e049f/attachment.html From dbhole at redhat.com Mon Mar 15 08:43:30 2010 From: dbhole at redhat.com (Deepak Bhole) Date: Mon, 15 Mar 2010 11:43:30 -0400 Subject: Old Plugin Status In-Reply-To: <17c6771e1003120536v58eaabbci8b1179ada2eed962@mail.gmail.com> References: <17c6771e1003120536v58eaabbci8b1179ada2eed962@mail.gmail.com> Message-ID: <20100315154330.GB6893@redhat.com> * Andrew John Hughes [2010-03-12 08:36]: > Are we still planning to include the old plugin with IcedTea6 1.8? > > I, for one, can no longer even build it on my main machine, as I've > upgraded to XULRunner 1.9.2. > > Does anyone still need it over NPPlugin? I don't think we should ship the older plugin with 1.8. It is pretty much unmaintained outside of security and critical bugs. It would be nice to just move to NP. Cheers, Deepak > -- > Andrew :-) > > Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > Support Free Java! > Contribute to GNU Classpath and the OpenJDK > http://www.gnu.org/software/classpath > http://openjdk.java.net > > PGP Key: 94EFD9D8 (http://subkeys.pgp.net) > Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From ahughes at redhat.com Mon Mar 15 08:47:51 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Mon, 15 Mar 2010 15:47:51 +0000 Subject: Old Plugin Status In-Reply-To: <20100315154330.GB6893@redhat.com> References: <17c6771e1003120536v58eaabbci8b1179ada2eed962@mail.gmail.com> <20100315154330.GB6893@redhat.com> Message-ID: <17c6771e1003150847w56db3605tce03aa81628685db@mail.gmail.com> On 15 March 2010 15:43, Deepak Bhole wrote: > * Andrew John Hughes [2010-03-12 08:36]: >> Are we still planning to include the old plugin with IcedTea6 1.8? >> >> I, for one, can no longer even build it on my main machine, as I've >> upgraded to XULRunner 1.9.2. >> >> Does anyone still need it over NPPlugin? > > I don't think we should ship the older plugin with 1.8. It is pretty > much unmaintained outside of security and critical bugs. It would be > nice to just move to NP. > I agree; as I say, it's difficult for me to test it now so that's going to cause further bit-rot. I'll give others until this time tomorrow to yell out, and then I'll remove it from HEAD. It will, of course, still be retained in earlier release branches. > Cheers, > Deepak > >> -- >> Andrew :-) >> >> Free Java Software Engineer >> Red Hat, Inc. (http://www.redhat.com) >> >> Support Free Java! >> Contribute to GNU Classpath and the OpenJDK >> http://www.gnu.org/software/classpath >> http://openjdk.java.net >> >> PGP Key: 94EFD9D8 (http://subkeys.pgp.net) >> Fingerprint: F8EF F1EA 401E 2E60 15FA ?7927 142C 2591 94EF D9D8 > -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From dbhole at icedtea.classpath.org Mon Mar 15 10:35:29 2010 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Mon, 15 Mar 2010 17:35:29 +0000 Subject: /hg/icedtea6: Liveconnect message processing design changes. Message-ID: changeset 3aa674c581d7 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=3aa674c581d7 author: Deepak Bhole date: Mon Mar 15 13:35:18 2010 -0400 Liveconnect message processing design changes. - Redesigned message consumption/processing model to allow arbitrary number of applets to load without increasing MAX_WORKERS count. - Implemented priority queuing to allow blocking threads to get responses first. - Made message consumption non-blocking and fixed thread-safety issues therein diffstat: 5 files changed, 297 insertions(+), 80 deletions(-) ChangeLog | 43 + plugin/icedteanp/java/sun/applet/PluginAppletViewer.java | 2 plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java | 267 ++++++++-- plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java | 38 + plugin/icedteanp/java/sun/applet/PluginStreamHandler.java | 27 - diffs (485 lines): diff -r 7fd598f9cf42 -r 3aa674c581d7 ChangeLog --- a/ChangeLog Fri Mar 12 16:46:26 2010 +0000 +++ b/ChangeLog Mon Mar 15 13:35:18 2010 -0400 @@ -1,3 +1,46 @@ 2010-03-12 Andrew John Hughes + + * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java + (requestPluginCookieInfo): Register cookie info as a priority message. + (requestPluginProxyInfo): Register proxy info as a priority message. + * plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java: Re-designed + message consumption to implement priority queuing and parallel + initialization limits so that an arbitrary number of applets can load + without blocking one another, all in a thread-safe manner. + (registerPriorityWait): New method. Registers a string that is + considered a "priority" string, which gets delegated to dedicated worker + threads. + (unRegisterPriorityWait): Unregisters a string so that it is no longer + a priority. + (PluginMessageConsumer): Do not create any workers when starting. + (consume): Remove method. Consumption is now done in a separate dedicated + thread to prevent blocking. + (getPriorityStrIfPriority): New method. If the given message is priority, + return why (i.e the 'priority string'it matched). + (isInInit): New method. Returns if the plugin is currently initializing an + applet. + (addToInitWorkers): New method. Adds given worker to list of workers + currently initializting applets. + (okayToProcess): New method. Returns whether or not it is okay to process + the given applet. + (notifyWorkerIsFree): New method. Notifies this class that a worker has + just become free. + (queue): Queues the given message for consumption. + (ConsumerThread): New protected inner (thread) class. Responsible for + consuming messages in the queue, and regueuing them if consumption if not + possible. + (getFreeWorker): Changed to be non-blocking, and return either a priority + worker or a normal worker depending on what is requested. + * plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java + (PluginMessageHandlerWorker): Set new priority and consumer variables. + (busy): Make thread-safe by waiting on same property that free() waits on. + (free): Make thread-safe by waiting on same property that busy() waits on. + (isPriority): New method. Returns of worker is a priority worker. + (isFree): Made thread-safe, and accounts for priority. + * plugin/icedteanp/java/sun/applet/PluginStreamHandler.java + (startProcessing): Call consumer.queue() instead of consumer.consume(). + (postMessage): Remove unused method. + 2010-03-12 Andrew John Hughes NetX/plugin build sync (1/3): diff -r 7fd598f9cf42 -r 3aa674c581d7 plugin/icedteanp/java/sun/applet/PluginAppletViewer.java --- a/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Fri Mar 12 16:46:26 2010 +0000 +++ b/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Mon Mar 15 13:35:18 2010 -0400 @@ -1281,6 +1281,7 @@ import com.sun.jndi.toolkit.url.UrlUtil; return null; } + PluginMessageConsumer.registerPriorityWait(reference); streamhandler.postCallRequest(request); streamhandler.write(request.getMessage()); try { @@ -1326,6 +1327,7 @@ import com.sun.jndi.toolkit.url.UrlUtil; "plugin PluginProxyInfo reference " + reference + " " + requestURI, reference); + PluginMessageConsumer.registerPriorityWait(reference); streamhandler.postCallRequest(request); streamhandler.write(request.getMessage()); try { diff -r 7fd598f9cf42 -r 3aa674c581d7 plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java --- a/plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java Fri Mar 12 16:46:26 2010 +0000 +++ b/plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java Mon Mar 15 13:35:18 2010 -0400 @@ -38,82 +38,257 @@ package sun.applet; package sun.applet; import java.util.ArrayList; +import java.util.Hashtable; +import java.util.Iterator; import java.util.LinkedList; - -import sun.applet.AppletSecurity; +import java.util.Set; class PluginMessageConsumer { - int MAX_WORKERS = 20; + private static int MAX_PARALLEL_INITS = 1; + + // Each initialization requires 5 responses (tag, handle, width, proxy, cookie) + // before the message stack unlocks/collapses. This works out well because we + // want to allow upto 5 parallel tasks anyway + private static int MAX_WORKERS = MAX_PARALLEL_INITS*5; + private static int PRIORITY_WORKERS = MAX_PARALLEL_INITS*2; + + private static Hashtable initWorkers = new Hashtable(2); + LinkedList readQueue = new LinkedList(); + private static LinkedList priorityWaitQueue = new LinkedList(); ArrayList workers = new ArrayList(); PluginStreamHandler streamHandler = null; AppletSecurity as; + ConsumerThread consumerThread = new ConsumerThread(); + /** + * Registers a reference to wait for. Responses to registered priority + * references get handled by priority worker if normal workers are busy. + * + * @param reference The reference to give priority to + */ + public static void registerPriorityWait(Long reference) { + PluginDebug.debug("Registering priority for reference " + reference); + registerPriorityWait("reference " + reference.toString()); + } + + /** + * Registers a string to wait for. + * + * @param searchString the string to look for in a response + */ + public static void registerPriorityWait(String searchString) { + PluginDebug.debug("Registering priority for string " + searchString); + synchronized (priorityWaitQueue) { + if (!priorityWaitQueue.contains(searchString)) + priorityWaitQueue.add(searchString); + } + } + + /** + * Unregisters a priority reference to wait for. + * + * @param reference The reference to remove + */ + public static void unRegisterPriorityWait(Long reference) { + unRegisterPriorityWait(reference.toString()); + } + + /** + * Unregisters a priority string to wait for. + * + * @param searchString The string to unregister from the priority list + */ + public static void unRegisterPriorityWait(String searchString) { + synchronized (priorityWaitQueue) { + priorityWaitQueue.remove(searchString); + } + } + + /** + * Returns the reference for this message. This method assumes that + * the message has a reference number. + * + * @param The message + * @return the reference number + */ + private Long getReference(String[] msgParts) { + return Long.parseLong(msgParts[3]); + } + public PluginMessageConsumer(PluginStreamHandler streamHandler) { as = new AppletSecurity(); this.streamHandler = streamHandler; - - // create some workers at the start... - for (int i=0; i < 3; i++) { - PluginDebug.debug("Creating worker " + i); - PluginMessageHandlerWorker worker = new PluginMessageHandlerWorker(streamHandler, i, as); - worker.start(); - workers.add(worker); - } + this.consumerThread.start(); } - public void consume(String message) { - - PluginDebug.debug("Consumer received message " + message); - - synchronized(readQueue) { - readQueue.add(message); - } + private String getPriorityStrIfPriority(String message) { - PluginDebug.debug("Message " + message + " added to queue. Looking for free worker..."); - final PluginMessageHandlerWorker worker = getFreeWorker(); + synchronized (priorityWaitQueue) { + Iterator it = priorityWaitQueue.iterator(); - synchronized(readQueue) { - if (readQueue.size() > 0) { - worker.setmessage(readQueue.poll()); - } - } + while (it.hasNext()) { + String priorityStr = it.next(); + if (message.indexOf(priorityStr) > 0) + return priorityStr; + } + } - worker.interrupt(); + return null; } - private PluginMessageHandlerWorker getFreeWorker() { + private boolean isInInit(Integer instanceNum) { + return initWorkers.containsKey(instanceNum); + } + + private void addToInitWorkers(Integer instanceNum, PluginMessageHandlerWorker worker) { + synchronized(initWorkers) { + initWorkers.put(instanceNum, worker); + } + } + + private boolean okayToProcess(String[] msgParts) { + + if (msgParts[2].equals("tag")) { + + Integer instanceNum = new Integer(msgParts[1]); + + synchronized(initWorkers) { + if (initWorkers.size() >= MAX_PARALLEL_INITS) { + return false; + } + } + + registerPriorityWait("instance " + instanceNum + " handle"); + registerPriorityWait("instance " + instanceNum + " width"); + + } else if (msgParts[2].equals("handle") || msgParts[2].equals("width")) { + Integer instanceNum = new Integer(msgParts[1]); + + // If this instance is not in init, return false immediately. + // Handle/Width messages should NEVER go before tag messages + if (!isInInit(instanceNum)) + return false; + } + + return true; + } + + public void notifyWorkerIsFree(PluginMessageHandlerWorker worker) { + synchronized (initWorkers) { + Iterator i = initWorkers.keySet().iterator(); + while (i.hasNext()) { + Integer key = i.next(); + if (initWorkers.get(key).equals(worker)) + initWorkers.remove(key); + } + } + + consumerThread.interrupt(); + } + + public void queue(String message) { + synchronized(readQueue) { + readQueue.addLast(message); + } + + // Wake that lazy consumer thread + consumerThread.interrupt(); + } + + protected class ConsumerThread extends Thread { + public void run() { + + while (true) { + + String message = null; + + synchronized(readQueue) { + message = readQueue.poll(); + } + + if (message != null) { + + String[] msgParts = message.split(" "); + + // if it is no okay to process just yet, push it back and + if (!okayToProcess(msgParts)) { + synchronized(readQueue) { + readQueue.addLast(message); + } + + continue; // re-loop to try next msg + } + + String priorityStr = getPriorityStrIfPriority(message); + boolean isPriorityResponse = (priorityStr != null); - // FIXME: Can be made more efficient by having an idle worker pool - - while (true) { + //PluginDebug.debug("Message " + message + " (priority=" + isPriorityResponse + ") ready to be processed. Looking for free worker..."); + final PluginMessageHandlerWorker worker = getFreeWorker(isPriorityResponse); + + if (worker == null) { + synchronized(readQueue) { + readQueue.addLast(message); + } + + continue; // re-loop to try next msg + } + + if (msgParts[2].equals("tag")) + addToInitWorkers((new Integer(msgParts[1])), worker); + + if (isPriorityResponse) { + unRegisterPriorityWait(priorityStr); + } + + worker.setmessage(message); + worker.interrupt(); + + } else { + try { + Thread.sleep(1000); + } catch (InterruptedException ie) {} + } + } + } + } + + private PluginMessageHandlerWorker getFreeWorker(boolean prioritized) { + for (PluginMessageHandlerWorker worker: workers) { - if (worker.isFree()) { - PluginDebug.debug("Found free worker with id " + worker.getWorkerId()); + if (worker.isFree(prioritized)) { + PluginDebug.debug("Found free worker (" + worker.isPriority() + ") with id " + worker.getWorkerId()); // mark it busy before returning worker.busy(); return worker; } } - + // If we have less than MAX_WORKERS, create a new worker if (workers.size() <= MAX_WORKERS) { - PluginDebug.debug("Cannot find free worker, creating worker " + workers.size()); - PluginMessageHandlerWorker worker = new PluginMessageHandlerWorker(streamHandler, workers.size(), as); - worker.start(); - workers.add(worker); - worker.busy(); - return worker; - } else { - // else wait + PluginMessageHandlerWorker worker = null; + + if (workers.size() <= (MAX_WORKERS - PRIORITY_WORKERS)) { + PluginDebug.debug("Cannot find free worker, creating worker " + workers.size()); + worker = new PluginMessageHandlerWorker(this, streamHandler, workers.size(), as, false); + } else if (prioritized) { + PluginDebug.debug("Cannot find free worker, creating priority worker " + workers.size()); + worker = new PluginMessageHandlerWorker(this, streamHandler, workers.size(), as, true); + } else { + return null; + } + + worker.start(); + worker.busy(); + workers.add(worker); + return worker; + } - - Thread.yield(); - } - - //throw new RuntimeException("Out of message handler workers"); + + // No workers available. Better luck next time! + return null; } } diff -r 7fd598f9cf42 -r 3aa674c581d7 plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java --- a/plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java Fri Mar 12 16:46:26 2010 +0000 +++ b/plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java Mon Mar 15 13:35:18 2010 -0400 @@ -42,15 +42,25 @@ class PluginMessageHandlerWorker extends class PluginMessageHandlerWorker extends Thread { private boolean free = true; + private boolean isPriorityWorker = false; private int id; private String message = null; private SecurityManager sm; PluginStreamHandler streamHandler = null; + PluginMessageConsumer consumer = null; - public PluginMessageHandlerWorker(PluginStreamHandler streamHandler, int id, SecurityManager sm) { + public PluginMessageHandlerWorker( + PluginMessageConsumer consumer, + PluginStreamHandler streamHandler, int id, + SecurityManager sm, boolean isPriorityWorker) { + this.id = id; this.streamHandler = streamHandler; this.sm = sm; + this.isPriorityWorker = isPriorityWorker; + this.consumer = consumer; + + PluginDebug.debug("Worker " + this.id + " (priority=" + isPriorityWorker + ") created."); } public void setmessage(String message) { @@ -107,15 +117,27 @@ class PluginMessageHandlerWorker extends } public void busy() { - this.free = false; + synchronized (this) { + this.free = false; + } + } + + public void free() { + synchronized (this) { + this.free = true; + + // Signal the consumer that we are done in case it was waiting + consumer.notifyWorkerIsFree(this); + } } - - public void free() { - this.free = true; + public boolean isPriority() { + return isPriorityWorker; } - - public boolean isFree() { - return free; + + public boolean isFree(boolean prioritized) { + synchronized (this) { + return free && (prioritized == isPriorityWorker); + } } } diff -r 7fd598f9cf42 -r 3aa674c581d7 plugin/icedteanp/java/sun/applet/PluginStreamHandler.java --- a/plugin/icedteanp/java/sun/applet/PluginStreamHandler.java Fri Mar 12 16:46:26 2010 +0000 +++ b/plugin/icedteanp/java/sun/applet/PluginStreamHandler.java Mon Mar 15 13:35:18 2010 -0400 @@ -141,7 +141,7 @@ public class PluginStreamHandler { //System.err.println("Total wait time: " + totalWait); if (s != null) { - consumer.consume(s); + consumer.queue(s); } else { try { // Close input/output channels to plugin. @@ -189,31 +189,6 @@ public class PluginStreamHandler { }; listenerThread.start(); - } - - public void postMessage(String s) { - - if (s == null || s.equals("shutdown")) { - try { - // Close input/output channels to plugin. - pluginInputReader.close(); - pluginOutputWriter.close(); - } catch (IOException exception) { - // Deliberately ignore IOException caused by broken - // pipe since plugin may have already detached. - } - AppletSecurityContextManager.dumpStore(0); - PluginDebug.debug("APPLETVIEWER: exiting appletviewer"); - System.exit(0); - } - - //PluginAppletSecurityContext.contexts.get(0).store.dump(); - PluginDebug.debug("Plugin posted: " + s); - - PluginDebug.debug("Consuming " + s); - consumer.consume(s); - - PluginDebug.debug("Added to queue"); } public void handleMessage(String message) throws PluginException { From bugzilla-daemon at icedtea.classpath.org Mon Mar 15 11:29:57 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 15 Mar 2010 18:29:57 +0000 Subject: [Bug 295] XML encoder can cause a StackOverflowError Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=295 ------- Comment #6 from gnu_andrew at member.fsf.org 2010-03-15 18:29 ------- In OpenJDK6 b18 and IcedTea6 HEAD: http://icedtea.classpath.org/hg/icedtea6/rev/fdc603d7a29a -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 15 11:30:06 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 15 Mar 2010 18:30:06 +0000 Subject: [Bug 295] XML encoder can cause a StackOverflowError Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=295 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 15 11:30:22 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 15 Mar 2010 18:30:22 +0000 Subject: [Bug 297] icedtea crash maybe because of libpolyester ... Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=297 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86_64 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 15 11:30:31 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 15 Mar 2010 18:30:31 +0000 Subject: [Bug 297] icedtea crash maybe because of libpolyester ... Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=297 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|FIXED | -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 15 11:30:41 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 15 Mar 2010 18:30:41 +0000 Subject: [Bug 297] icedtea crash maybe because of libpolyester ... Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=297 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED Resolution| |WORKSFORME -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 15 11:31:15 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 15 Mar 2010 18:31:15 +0000 Subject: [Bug 298] An unexpected error has been detected by Java Runtime Environment: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=298 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|blocker |normal Platform|other |x86 Version|unspecified |6-1.2 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 15 11:32:12 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 15 Mar 2010 18:32:12 +0000 Subject: [Bug 300] shark fails to build Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=300 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Shark Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 15 11:32:29 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 15 Mar 2010 18:32:29 +0000 Subject: [Bug 306] Azureus crashed after resuming from hibernate Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=306 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86_64 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 15 11:33:24 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 15 Mar 2010 18:33:24 +0000 Subject: [Bug 307] StackOverflowError building xom-1.1 on ix86 hotspot (server & client) Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=307 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 15 11:33:54 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 15 Mar 2010 18:33:54 +0000 Subject: [Bug 309] llvm: use --cxxflags not --cflags Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=309 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |enhancement Component|IcedTea6 |Shark Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 15 11:35:07 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 15 Mar 2010 18:35:07 +0000 Subject: [Bug 310] icedtea6: icedtea patch to disable sanity checks Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=310 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |enhancement Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 15 11:35:35 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 15 Mar 2010 18:35:35 +0000 Subject: [Bug 313] "make hotspot" errors Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=313 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 15 11:36:03 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 15 Mar 2010 18:36:03 +0000 Subject: [Bug 314] Azureus crashes since upgrade to fedora 10 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=314 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|major |normal Platform|other |x86 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 15 11:37:07 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 15 Mar 2010 18:37:07 +0000 Subject: [Bug 315] OpenJDK 1.6 + tomcat + confluence = Java crash Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=315 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|major |normal Platform|other |x86_64 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 15 11:38:15 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 15 Mar 2010 18:38:15 +0000 Subject: [Bug 320] daylight savings time status not reported correctly Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=320 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 15 11:38:41 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 15 Mar 2010 18:38:41 +0000 Subject: [Bug 328] Systemtap tapset expects both client and server vm libraries to be available Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=328 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86_64 Version|unspecified |6-hg -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 15 11:38:56 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 15 Mar 2010 18:38:56 +0000 Subject: [Bug 328] Systemtap tapset expects both client and server vm libraries to be available Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=328 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |SystemTap -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 15 11:39:11 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 15 Mar 2010 18:39:11 +0000 Subject: [Bug 331] IcedTeaPlugin.cc doesn't compile against xulrunner 1.9.1 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=331 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |Plugin Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 15 11:40:04 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 15 Mar 2010 18:40:04 +0000 Subject: [Bug 333] JVM crashes when try load LibGlade file Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=333 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86_64 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 15 11:40:17 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 15 Mar 2010 18:40:17 +0000 Subject: [Bug 333] JVM crashes when try load LibGlade file Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=333 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|critical |normal -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 15 11:40:40 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 15 Mar 2010 18:40:40 +0000 Subject: [Bug 335] --disable-plugin makes ./configure fail Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=335 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 15 11:41:02 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 15 Mar 2010 18:41:02 +0000 Subject: [Bug 337] icedtea7 20090527 fails to build zero Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=337 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |IcedTea7 Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 15 11:41:17 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 15 Mar 2010 18:41:17 +0000 Subject: [Bug 337] icedtea7 20090527 fails to build zero Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=337 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea7 |Zero -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 15 11:41:47 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 15 Mar 2010 18:41:47 +0000 Subject: [Bug 338] icedtea7 20090527 fails to build using gcj Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=338 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |IcedTea7 Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 15 11:42:14 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 15 Mar 2010 18:42:14 +0000 Subject: [Bug 339] icedtea7 20090527 fails to run the langtools and jdk testsuite Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=339 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea6 |IcedTea7 Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 15 11:42:27 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 15 Mar 2010 18:42:27 +0000 Subject: [Bug 355] Vuze crashes Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=355 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |x86 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 15 11:43:03 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 15 Mar 2010 18:43:03 +0000 Subject: [Bug 356] keytool doesn't handle SHA384withECDSA signatures Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=356 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |all ------- Comment #19 from gnu_andrew at member.fsf.org 2010-03-15 18:43 ------- Fixed in 1.7. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 15 11:43:27 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 15 Mar 2010 18:43:27 +0000 Subject: [Bug 364] NPE in AccessControlContext Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=364 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |all -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 15 11:43:50 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 15 Mar 2010 18:43:50 +0000 Subject: [Bug 367] Interactive brokers fails / libjpeg7 related? Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=367 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|other |all ------- Comment #11 from gnu_andrew at member.fsf.org 2010-03-15 18:43 ------- In 1.7. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From andrew at icedtea.classpath.org Mon Mar 15 15:01:40 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 15 Mar 2010 22:01:40 +0000 Subject: /hg/icedtea6: NetX/plugin build sync (2/3): Have the OpenJDK bui... Message-ID: changeset 388bb89496bc in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=388bb89496bc author: Andrew John Hughes date: Mon Mar 15 22:01:12 2010 +0000 NetX/plugin build sync (2/3): Have the OpenJDK build extract the built plugin and NetX code as imports, not binary plugs. 2010-03-15 Andrew John Hughes NetX/plugin build sync (2/3): Have the OpenJDK build extract the built plugin and NetX code as imports, not binary plugs. File patches that extend OpenJDK (NetX, plugin, Zero/Shark) under a new subdirectory, extensions. * patches/icedtea-liveconnect.patch: Moved to extensions subdirectory and recreated after application of netx.patch. * patches/icedtea-plugin.patch: Removed, unused. * patches/icedtea-webstart-umask.patch, * patches/icedtea-webstart.patch: Moved to extensions subdirectory. * Makefile.am: (ICEDTEANPPLUGIN_TARGET): Add liveconnect- dist.stamp. (ICEDTEAPLUGIN_TARGET): Likewise. (PLUGIN_PATCH): Removed. (ICEDTEA_PATCHES): Add conditional plugin patches in same manner as all other conditional patches. Fix paths of NetX patches and add new netx-dist patch. Add liveconnect-dist.patch. (ICEDTEA_ENV): Add ALT_NETX_DIST and ALT_LIVECONNECT_DIST to specify locations of NetX and plugin jar files. (ICEDTEA_ECJ_ENV): Likewise. (stamps/patch.stamp): Remove copying of plugin source files. (stamps/icedtea.stamp): Depend on netx- dist.stamp. (stamps/icedtea-debug.stamp): Likewise. (stamps/icedtea-ecj.stamp): Depend on netx-dist.stamp and plugin.stamp. (stamps/plugin-tests.stamp): Depend on stamps/plugin.stamp, not rt-closed.jar. Surround by ENABLE_PLUGIN rather than using a (now broken) test on lib/rt/netscape. * patches/extensions/liveconnect-dist.patch: Make the OpenJDK build import the plugin code in the same manner as langtools, CORBA, JAXP and JAXWS. * patches/extensions/liveconnect.patch: Was patches/icedtea- liveconnect.patch. * patches/extensions/netx-dist.patch: Same as liveconnect- dist, but for NetX. * patches/extensions/netx-umask.patch: Renamed from patches /icedtea-webstart-umask.patch. * patches/extensions/netx.patch: Renamed from patches/icedtea- webstart.patch. diffstat: 11 files changed, 632 insertions(+), 1723 deletions(-) ChangeLog | 47 + Makefile.am | 71 - patches/extensions/liveconnect-dist.patch | 76 + patches/extensions/liveconnect.patch | 87 + patches/extensions/netx-dist.patch | 86 + patches/extensions/netx-umask.patch | 164 +++ patches/extensions/netx.patch | 137 +++ patches/icedtea-liveconnect.patch | 85 - patches/icedtea-plugin.patch | 1301 ----------------------------- patches/icedtea-webstart-umask.patch | 164 --- patches/icedtea-webstart.patch | 137 --- diffs (truncated from 2499 to 500 lines): diff -r 3aa674c581d7 -r 388bb89496bc ChangeLog --- a/ChangeLog Mon Mar 15 13:35:18 2010 -0400 +++ b/ChangeLog Mon Mar 15 22:01:12 2010 +0000 @@ -1,3 +1,50 @@ 2010-03-13 Deepak Bhole + + NetX/plugin build sync (2/3): + Have the OpenJDK build extract the + built plugin and NetX code as imports, + not binary plugs. File patches that + extend OpenJDK (NetX, plugin, Zero/Shark) + under a new subdirectory, extensions. + * patches/icedtea-liveconnect.patch: + Moved to extensions subdirectory and + recreated after application of netx.patch. + * patches/icedtea-plugin.patch: + Removed, unused. + * patches/icedtea-webstart-umask.patch, + * patches/icedtea-webstart.patch: + Moved to extensions subdirectory. + * Makefile.am: + (ICEDTEANPPLUGIN_TARGET): Add liveconnect-dist.stamp. + (ICEDTEAPLUGIN_TARGET): Likewise. + (PLUGIN_PATCH): Removed. + (ICEDTEA_PATCHES): Add conditional plugin patches in + same manner as all other conditional patches. Fix + paths of NetX patches and add new netx-dist patch. + Add liveconnect-dist.patch. + (ICEDTEA_ENV): Add ALT_NETX_DIST and ALT_LIVECONNECT_DIST + to specify locations of NetX and plugin jar files. + (ICEDTEA_ECJ_ENV): Likewise. + (stamps/patch.stamp): Remove copying of plugin source files. + (stamps/icedtea.stamp): Depend on netx-dist.stamp. + (stamps/icedtea-debug.stamp): Likewise. + (stamps/icedtea-ecj.stamp): Depend on netx-dist.stamp and + plugin.stamp. + (stamps/plugin-tests.stamp): Depend on stamps/plugin.stamp, + not rt-closed.jar. Surround by ENABLE_PLUGIN rather than + using a (now broken) test on lib/rt/netscape. + * patches/extensions/liveconnect-dist.patch: + Make the OpenJDK build import the plugin code in the same + manner as langtools, CORBA, JAXP and JAXWS. + * patches/extensions/liveconnect.patch: + Was patches/icedtea-liveconnect.patch. + * patches/extensions/netx-dist.patch: + Same as liveconnect-dist, but for NetX. + * patches/extensions/netx-umask.patch: + Renamed from patches/icedtea-webstart-umask.patch. + * patches/extensions/netx.patch: + Renamed from patches/icedtea-webstart.patch. + 2010-03-13 Deepak Bhole * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java diff -r 3aa674c581d7 -r 388bb89496bc Makefile.am --- a/Makefile.am Mon Mar 15 13:35:18 2010 -0400 +++ b/Makefile.am Mon Mar 15 22:01:12 2010 +0000 @@ -135,8 +135,8 @@ endif # FIXME (plugin): NPPLUGIN_DIR becomes PLUGIN_DIR if ENABLE_NPPLUGIN ICEDTEANPPLUGIN_CLEAN = clean-IcedTeaNPPlugin -ICEDTEANPPLUGIN_TARGET = $(NPPLUGIN_DIR)/IcedTeaNPPlugin.so -PLUGIN_PATCH = patches/icedtea-liveconnect.patch +ICEDTEANPPLUGIN_TARGET = $(NPPLUGIN_DIR)/IcedTeaNPPlugin.so \ + stamps/liveconnect-dist.stamp LIVECONNECT_DIR = -C liveconnect netscape -C liveconnect sun/applet NPPLUGIN_DIR=$(abs_top_builddir)/plugin/icedteanp NPPLUGIN_SRCDIR=$(abs_top_srcdir)/plugin/icedteanp @@ -144,15 +144,13 @@ else else if ENABLE_PLUGIN ICEDTEAPLUGIN_CLEAN = clean-IcedTeaPlugin -ICEDTEAPLUGIN_TARGET = IcedTeaPlugin.so -PLUGIN_PATCH = patches/icedtea-liveconnect.patch +ICEDTEAPLUGIN_TARGET = IcedTeaPlugin.so stamps/liveconnect-dist.stamp LIVECONNECT_DIR = -C liveconnect netscape -C liveconnect sun/applet NPPLUGIN_DIR = LIVECONNECT_SRCS = $(abs_top_srcdir)/plugin/icedtea else ICEDTEAPLUGIN_CLEAN = ICEDTEAPLUGIN_TARGET = -PLUGIN_PATCH = LIVECONNECT_DIR = NPPLUGIN_DIR = LIVECONNECT_SRCS = @@ -246,9 +244,6 @@ ICEDTEA_PATCHES = \ patches/icedtea-copy-plugs.patch \ patches/icedtea-text-relocations.patch \ patches/icedtea-ssl.patch \ - $(PLUGIN_PATCH) \ - patches/icedtea-webstart.patch \ - patches/icedtea-webstart-umask.patch \ patches/icedtea-rmi_amd64.patch \ patches/icedtea-tools.patch \ patches/icedtea-use-system-tzdata.patch \ @@ -317,11 +312,20 @@ ICEDTEA_PATCHES = \ patches/icedtea-linux-separate-debuginfo.patch \ patches/icedtea-parisc.patch \ patches/icedtea-sh4-support.patch \ - patches/libpng.patch + patches/libpng.patch \ + patches/extensions/netx.patch \ + patches/extensions/netx-dist.patch \ + patches/extensions/netx-umask.patch if WITH_RHINO ICEDTEA_PATCHES += \ patches/icedtea-rhino.patch +endif + +if ENABLE_PLUGIN +ICEDTEA_PATCHES += \ + patches/extensions/liveconnect.patch \ + patches/extensions/liveconnect-dist.patch endif if BUILD_CACAO @@ -334,6 +338,7 @@ ICEDTEA_PATCHES += patches/cacao/nio2.pa ICEDTEA_PATCHES += patches/cacao/nio2.patch endif endif + if WITH_CACAO ICEDTEA_PATCHES += \ patches/icedtea-cacao-ignore-jdi-tests.patch \ @@ -466,7 +471,9 @@ ICEDTEA_ENV = \ DEBUG_CLASSFILES="true" \ DEBUG_BINARIES="true" \ ALT_DROPS_DIR="$(abs_top_builddir)/drops" \ - VERBOSE="$(VERBOSE)" + VERBOSE="$(VERBOSE)" \ + ALT_NETX_DIST="$(abs_top_builddir)/netx.build" \ + ALT_LIVECONNECT_DIST="$(abs_top_builddir)/liveconnect" if WITH_CACAO ICEDTEA_ENV += \ @@ -561,7 +568,9 @@ ICEDTEA_ENV_ECJ = \ DISABLE_NIMBUS="true" \ NO_DOCS="true" \ ALT_DROPS_DIR="$(abs_top_builddir)/drops" \ - VERBOSE="$(VERBOSE)" + VERBOSE="$(VERBOSE)" \ + ALT_NETX_DIST="$(abs_top_builddir)/netx.build" \ + ALT_LIVECONNECT_DIST="$(abs_top_builddir)/liveconnect" if WITH_CACAO ICEDTEA_ENV_ECJ += \ @@ -1112,15 +1121,6 @@ if HAS_PKGVERSION if HAS_PKGVERSION echo "DISTRO_PACKAGE_VERSION=$(PKGVERSION)" \ >>openjdk/jdk/make/common/shared/Defs.gmk ; -endif - -#FIXME (plugin): Don't do this copying -if ENABLE_NPPLUGIN - cp -a $(abs_top_srcdir)/plugin/icedteanp/java/sun/applet/*java openjdk/jdk/src/share/classes/sun/applet/ -else -if ENABLE_PLUGIN - cp -a $(abs_top_srcdir)/plugin/icedtea/sun/applet/*java openjdk/jdk/src/share/classes/sun/applet/ -endif endif clean-patch: @@ -1333,7 +1333,7 @@ clean-bootstrap-directory-symlink: # If you change anything here in the icedtea target, please make sure # you change it in the icedtea-debug target as well. stamps/icedtea.stamp: stamps/bootstrap-directory-symlink.stamp \ - stamps/plugs.stamp $(OPENJDK_TREE) stamps/plugin.stamp \ + stamps/netx-dist.stamp stamps/plugs.stamp $(OPENJDK_TREE) stamps/plugin.stamp \ extra-lib/about.jar stamps/cacao.stamp \ stamps/visualvm.stamp $(PULSE_JAVA_TARGET) stamps/rewrite-rhino.stamp $(ARCH_PREFIX) $(MAKE) \ @@ -1432,7 +1432,7 @@ endif touch stamps/icedtea.stamp stamps/icedtea-debug.stamp: stamps/bootstrap-directory-symlink.stamp \ - stamps/plugs.stamp $(OPENJDK_TREE) stamps/plugin.stamp \ + stamps/netx-dist.stamp stamps/plugs.stamp $(OPENJDK_TREE) stamps/plugin.stamp \ extra-lib/about.jar stamps/cacao.stamp \ stamps/visualvm.stamp $(PULSE_JAVA_TARGET) stamps/rewrite-rhino.stamp $(ARCH_PREFIX) $(MAKE) \ @@ -1555,8 +1555,8 @@ stamps/icedtea-debug-against-icedtea.sta # =================== stamps/icedtea-ecj.stamp: stamps/bootstrap-directory-symlink-ecj.stamp \ - stamps/plugs.stamp $(OPENJDK_ECJ_TREE) stamps/cacao.stamp \ - stamps/rewrite-rhino.stamp + stamps/netx-dist.stamp stamps/plugs.stamp $(OPENJDK_ECJ_TREE) stamps/cacao.stamp \ + stamps/rewrite-rhino.stamp stamps/plugin.stamp $(ARCH_PREFIX) $(MAKE) \ $(ICEDTEA_ENV_ECJ) \ -C openjdk-ecj/ \ @@ -2090,22 +2090,21 @@ endif # plugin tests +if ENABLE_PLUGIN stamps/plugin-tests.stamp: $(INITIAL_BOOTSTRAP_LINK_STAMP) $(PLUGIN_TEST_SRCS) \ - bootstrap/jdk1.7.0/jre/lib/rt-closed.jar + stamps/plugin.stamp mkdir -p plugin/tests/LiveConnect - if test -d lib/rt/netscape ; then \ - set -e ; \ - $(ICEDTEA_BOOT_DIR)/bin/javac $(MEMORY_LIMIT) -g \ - -d plugin/tests/LiveConnect \ - -classpath bootstrap/jdk1.7.0/jre/lib/rt-closed.jar \ - -source 1.5 $(PLUGIN_TEST_SRCS) ; \ - $(ICEDTEA_BOOT_DIR)/bin/jar cf plugin/tests/LiveConnect/PluginTest.jar \ - plugin/tests/LiveConnect/*.class ; \ - cp -a $(abs_top_srcdir)/plugin/tests/LiveConnect/*.{js,html} plugin/tests/LiveConnect ; \ - echo "Done. Now launch \"firefox file://`pwd`/index.html\"" ; \ - fi + $(ICEDTEA_BOOT_DIR)/bin/javac $(MEMORY_LIMIT) -g \ + -d plugin/tests/LiveConnect \ + -classpath liveconnect/lib/classes.jar \ + -source 1.5 $(PLUGIN_TEST_SRCS) ; + $(ICEDTEA_BOOT_DIR)/bin/jar cf plugin/tests/LiveConnect/PluginTest.jar \ + plugin/tests/LiveConnect/*.class ; + cp -a $(abs_top_srcdir)/plugin/tests/LiveConnect/*.{js,html} plugin/tests/LiveConnect ; + echo "Done. Now launch \"firefox file://`pwd`/index.html\"" ; \ mkdir -p stamps touch stamps/plugin-tests.stamp +endif # jtreg diff -r 3aa674c581d7 -r 388bb89496bc patches/extensions/liveconnect-dist.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/extensions/liveconnect-dist.patch Mon Mar 15 22:01:12 2010 +0000 @@ -0,0 +1,76 @@ +diff -Nru openjdk.orig/jdk/make/common/internal/Defs-liveconnect.gmk openjdk/jdk/make/common/internal/Defs-liveconnect.gmk +--- openjdk.orig/jdk/make/common/internal/Defs-liveconnect.gmk 1970-01-01 01:00:00.000000000 +0100 ++++ openjdk/jdk/make/common/internal/Defs-liveconnect.gmk 2009-11-11 02:53:36.000000000 +0000 +@@ -0,0 +1,28 @@ ++# ++# Copyright 2009 Red Hat, Inc. 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 ++# under the terms of the GNU General Public License version 2 only, as ++# published by the Free Software Foundation. Red Hat designates this ++# particular file as subject to the "Classpath" exception as provided ++# by Sun in the LICENSE file that accompanied this code. ++# ++# This code is distributed in the hope that it will be useful, but WITHOUT ++# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ++# version 2 for more details (a copy is included in the LICENSE file that ++# accompanied this code). ++# ++# You should have received a copy of the GNU General Public License version ++# 2 along with this work; if not, write to the Free Software Foundation, ++# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. ++# ++ ++# The specific packages that come from or go to rt.jar and tools.jar ++IMPORT_RT_PACKAGES += \ ++ netscape/javascript \ ++ sun/applet ++ ++IMPORT_TOOLS_PACKAGES += ++ +diff -Nru openjdk.orig/jdk/make/common/internal/ImportComponents.gmk openjdk/jdk/make/common/internal/ImportComponents.gmk +--- openjdk.orig/jdk/make/common/internal/ImportComponents.gmk 2009-11-11 02:52:44.000000000 +0000 ++++ openjdk/jdk/make/common/internal/ImportComponents.gmk 2009-11-11 02:57:32.000000000 +0000 +@@ -49,6 +49,9 @@ + ifndef NETX_DIST + include $(BUILDDIR)/common/internal/Defs-netx.gmk + endif ++ifndef LIVECONNECT_DIST ++ include $(BUILDDIR)/common/internal/Defs-liveconnect.gmk ++endif + + # Clean up these lists so empty lists are empty + IMPORT_TOOLS_PACKAGES := $(strip $(IMPORT_TOOLS_PACKAGES)) +@@ -123,6 +126,7 @@ + $(call import-one-sources,JAXP_DIST,$1) + $(call import-one-sources,JAXWS_DIST,$1) + $(call import-one-sources,NETX_DIST,$1) ++$(call import-one-sources,LIVECONNECT_DIST,$1) + endef + + # Import all component docs into directory $1 (optional) +@@ -162,6 +166,7 @@ + $(call import-one-classes,JAXP_DIST,$1) + $(call import-one-classes,JAXWS_DIST,$1) + $(call import-one-classes,NETX_DIST,$1) ++$(call import-one-classes,LIVECONNECT_DIST,$1) + endef + + # Clean up import files +diff -Nru openjdk.orig/jdk/make/common/shared/Defs.gmk openjdk/jdk/make/common/shared/Defs.gmk +--- openjdk.orig/jdk/make/common/shared/Defs.gmk 2009-11-11 02:52:44.000000000 +0000 ++++ openjdk/jdk/make/common/shared/Defs.gmk 2009-11-11 02:13:22.000000000 +0000 +@@ -365,6 +365,11 @@ + else + NETX_DIST = + endif ++ifdef ALT_LIVECONNECT_DIST ++ LIVECONNECT_DIST := $(call FullPath,$(ALT_LIVECONNECT_DIST)) ++else ++ LIVECONNECT_DIST = ++endif + + # HOTSPOT_DOCS_IMPORT_PATH: Path to hotspot docs files to import into the docs generation + ifdef ALT_HOTSPOT_DOCS_IMPORT_PATH diff -r 3aa674c581d7 -r 388bb89496bc patches/extensions/liveconnect.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/extensions/liveconnect.patch Mon Mar 15 22:01:12 2010 +0000 @@ -0,0 +1,87 @@ +diff -Nru openjdk.orig/jdk/make/docs/NON_CORE_PKGS.gmk openjdk/jdk/make/docs/NON_CORE_PKGS.gmk +--- openjdk.orig/jdk/make/docs/NON_CORE_PKGS.gmk 2010-03-15 19:46:02.000000000 +0000 ++++ openjdk/jdk/make/docs/NON_CORE_PKGS.gmk 2010-03-15 20:19:29.000000000 +0000 +@@ -86,6 +86,8 @@ + + JNLP_PKGS = javax.jnlp + ++JAVASCRIPT_PKGS = netscape.javascript ++ + # non-core packages in rt.jar + NON_CORE_PKGS = $(DOMAPI_PKGS) \ + $(MGMT_PKGS) \ +@@ -94,4 +96,5 @@ + $(OLD_JSSE_PKGS) \ + $(HTTPSERVER_PKGS) \ + $(SMARTCARDIO_PKGS) \ +- $(JNLP_PKGS) ++ $(JNLP_PKGS) \ ++ $(JAVASCRIPT_PKGS) +diff -Nru openjdk.orig/jdk/make/sun/Makefile openjdk/jdk/make/sun/Makefile +--- openjdk.orig/jdk/make/sun/Makefile 2010-02-17 03:14:13.000000000 +0000 ++++ openjdk/jdk/make/sun/Makefile 2010-03-15 20:18:31.000000000 +0000 +@@ -66,6 +66,7 @@ + $(HEADLESS_SUBDIR) $(DGA_SUBDIR) \ + font jpeg cmm applet rmi beans $(JDBC_SUBDIR) \ + jawt text nio launcher management $(ORG_SUBDIR) \ ++ plugin \ + native2ascii serialver tools jconsole + + all build clean clobber:: +diff -Nru openjdk.orig/jdk/make/sun/plugin/Makefile openjdk/jdk/make/sun/plugin/Makefile +--- openjdk.orig/jdk/make/sun/plugin/Makefile 1970-01-01 01:00:00.000000000 +0100 ++++ openjdk/jdk/make/sun/plugin/Makefile 2010-03-15 20:18:31.000000000 +0000 +@@ -0,0 +1,53 @@ ++# ++# Copyright 1995-2005 Sun Microsystems, Inc. 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 ++# under the terms of the GNU General Public License version 2 only, as ++# published by the Free Software Foundation. Sun designates this ++# particular file as subject to the "Classpath" exception as provided ++# by Sun in the LICENSE file that accompanied this code. ++# ++# This code is distributed in the hope that it will be useful, but WITHOUT ++# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ++# version 2 for more details (a copy is included in the LICENSE file that ++# accompanied this code). ++# ++# You should have received a copy of the GNU General Public License version ++# 2 along with this work; if not, write to the Free Software Foundation, ++# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. ++# ++# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ++# CA 95054 USA or visit www.sun.com if you need additional information or ++# have any questions. ++# ++ ++# ++# Makefile for pluginappletviewer wrapper. ++# ++ ++BUILDDIR = ../.. ++PACKAGE = sun.applet ++PRODUCT = sun ++PROGRAM = pluginappletviewer ++include $(BUILDDIR)/common/Defs.gmk ++ ++# ++# Files to compile. ++# ++AUTO_FILES_JAVA_DIRS = sun/applet ++ ++ifneq ($(PLATFORM), windows) ++ # ++ # Anything with a GUI needs X11 to be linked in. ++ # ++ OTHER_LDLIBS += -L$(OPENWIN_LIB) -lX11 ++endif # PLATFORM ++ ++# ++# Rules ++# ++JAVA_ARGS = { "sun.applet.PluginMain" } ++include $(BUILDDIR)/common/Program.gmk ++ diff -r 3aa674c581d7 -r 388bb89496bc patches/extensions/netx-dist.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/extensions/netx-dist.patch Mon Mar 15 22:01:12 2010 +0000 @@ -0,0 +1,86 @@ +diff -Nru openjdk.orig/jdk/make/common/internal/Defs-netx.gmk openjdk/jdk/make/common/internal/Defs-netx.gmk +--- openjdk.orig/jdk/make/common/internal/Defs-netx.gmk 1970-01-01 01:00:00.000000000 +0100 ++++ openjdk/jdk/make/common/internal/Defs-netx.gmk 2009-05-28 09:18:45.000000000 +0100 +@@ -0,0 +1,38 @@ ++# ++# Copyright 2009 Red Hat, Inc. 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 ++# under the terms of the GNU General Public License version 2 only, as ++# published by the Free Software Foundation. Red Hat designates this ++# particular file as subject to the "Classpath" exception as provided ++# by Sun in the LICENSE file that accompanied this code. ++# ++# This code is distributed in the hope that it will be useful, but WITHOUT ++# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ++# version 2 for more details (a copy is included in the LICENSE file that ++# accompanied this code). ++# ++# You should have received a copy of the GNU General Public License version ++# 2 along with this work; if not, write to the Free Software Foundation, ++# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. ++# ++ ++# The specific packages that come from or go to rt.jar and tools.jar ++IMPORT_RT_PACKAGES += \ ++ net/sourceforge/jnlp \ ++ net/sourceforge/jnlp/tools \ ++ net/sourceforge/jnlp/runtime \ ++ net/sourceforge/jnlp/util \ ++ net/sourceforge/jnlp/services \ ++ net/sourceforge/jnlp/security \ ++ net/sourceforge/jnlp/security/viewer \ ++ net/sourceforge/jnlp/cache \ ++ net/sourceforge/jnlp/event \ ++ net/sourceforge/jnlp/resources \ ++ net/sourceforge/nanoxml \ ++ javax/jnlp ++ ++IMPORT_TOOLS_PACKAGES += ++ +diff -Nru openjdk.orig/jdk/make/common/internal/ImportComponents.gmk openjdk/jdk/make/common/internal/ImportComponents.gmk +--- openjdk.orig/jdk/make/common/internal/ImportComponents.gmk 2009-05-29 02:09:27.000000000 +0100 ++++ openjdk/jdk/make/common/internal/ImportComponents.gmk 2009-05-29 02:10:56.000000000 +0100 +@@ -46,6 +46,9 @@ + ifndef JAXWS_DIST + include $(BUILDDIR)/common/internal/Defs-jaxws.gmk + endif ++ifndef NETX_DIST ++ include $(BUILDDIR)/common/internal/Defs-netx.gmk ++endif + + # Clean up these lists so empty lists are empty + IMPORT_TOOLS_PACKAGES := $(strip $(IMPORT_TOOLS_PACKAGES)) +@@ -119,6 +122,7 @@ + $(call import-one-sources,CORBA_DIST,$1) + $(call import-one-sources,JAXP_DIST,$1) + $(call import-one-sources,JAXWS_DIST,$1) ++$(call import-one-sources,NETX_DIST,$1) + endef + + # Import all component docs into directory $1 (optional) +@@ -157,6 +161,7 @@ + $(call import-one-classes,CORBA_DIST,$1) + $(call import-one-classes,JAXP_DIST,$1) + $(call import-one-classes,JAXWS_DIST,$1) ++$(call import-one-classes,NETX_DIST,$1) + endef + + # Clean up import files +diff -Nru openjdk.orig/jdk/make/common/shared/Defs.gmk openjdk/jdk/make/common/shared/Defs.gmk +--- openjdk.orig/jdk/make/common/shared/Defs.gmk 2009-05-29 02:09:27.000000000 +0100 ++++ openjdk/jdk/make/common/shared/Defs.gmk 2009-05-29 02:11:18.000000000 +0100 +@@ -344,6 +344,11 @@ + else + JAXWS_DIST = + endif ++ifdef ALT_NETX_DIST ++ NETX_DIST := $(call FullPath,$(ALT_NETX_DIST)) ++else ++ NETX_DIST = ++endif + + # HOTSPOT_DOCS_IMPORT_PATH: Path to hotspot docs files to import into the docs generation + ifdef ALT_HOTSPOT_DOCS_IMPORT_PATH diff -r 3aa674c581d7 -r 388bb89496bc patches/extensions/netx-umask.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/extensions/netx-umask.patch Mon Mar 15 22:01:12 2010 +0000 @@ -0,0 +1,164 @@ +--- openjdk/jdk/make/launchers/Makefile.launcher.orig 2008-07-09 12:49:00.000000000 -0400 ++++ openjdk/jdk/make/launchers/Makefile.launcher 2008-07-09 12:49:40.000000000 -0400 +@@ -148,6 +148,16 @@ + endif + endif + ++# pluginappletviewer only ++ifeq ($(PROGRAM), pluginappletviewer) ++ OTHER_CPPFLAGS += -DUSE_UMASK=\"077\" From dbhole at icedtea.classpath.org Tue Mar 16 07:30:09 2010 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Tue, 16 Mar 2010 14:30:09 +0000 Subject: /hg/icedtea6: Added support for JSObject.finalize() Message-ID: changeset 6b7bf9f691c9 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=6b7bf9f691c9 author: Deepak Bhole date: Tue Mar 16 10:29:49 2010 -0400 Added support for JSObject.finalize() diffstat: 3 files changed, 66 insertions(+), 9 deletions(-) ChangeLog | 9 +++ plugin/icedteanp/IcedTeaPluginRequestProcessor.cc | 56 ++++++++++++++++++++- plugin/icedteanp/IcedTeaPluginRequestProcessor.h | 10 --- diffs (123 lines): diff -r 388bb89496bc -r 6b7bf9f691c9 ChangeLog --- a/ChangeLog Mon Mar 15 22:01:12 2010 +0000 +++ b/ChangeLog Tue Mar 16 10:29:49 2010 -0400 @@ -1,3 +1,12 @@ 2010-03-15 Andrew John Hughes + + * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc + (newMessageOnBus): Added support for finalize. + (finalize): New function. Decrements object reference count by one. + (queue_processor): Added support for finalize. + * plugin/icedteanp/IcedTeaPluginRequestProcessor.h: Removed unused + function declerations. Added decleration for finalize. + 2010-03-15 Andrew John Hughes NetX/plugin build sync (2/3): diff -r 388bb89496bc -r 6b7bf9f691c9 plugin/icedteanp/IcedTeaPluginRequestProcessor.cc --- a/plugin/icedteanp/IcedTeaPluginRequestProcessor.cc Mon Mar 15 22:01:12 2010 +0000 +++ b/plugin/icedteanp/IcedTeaPluginRequestProcessor.cc Tue Mar 16 10:29:49 2010 -0400 @@ -119,7 +119,8 @@ PluginRequestProcessor::newMessageOnBus( command == "Call" || command == "GetSlot" || command == "SetSlot" || - command == "Eval") + command == "Eval" || + command == "Finalize") { // Update queue synchronously @@ -665,6 +666,53 @@ PluginRequestProcessor::sendMember(std:: pthread_mutex_unlock(&tc_mutex); } +/** + * Decrements reference count to given object + * + * @param message_parts The request message. + */ + +void +PluginRequestProcessor::finalize(std::vector* message_parts) +{ + std::string type; + std::string command; + int reference; + std::string response = std::string(); + std::string variant_ptr_str = std::string(); + NPVariant* variant_ptr; + NPObject* window_ptr; + int id; + + type = message_parts->at(0); + id = atoi(message_parts->at(1).c_str()); + reference = atoi(message_parts->at(3).c_str()); + variant_ptr_str = message_parts->at(5); + + NPP instance; + get_instance_from_id(id, instance); + + variant_ptr = (NPVariant*) IcedTeaPluginUtilities::stringToJSID(variant_ptr_str); + window_ptr = NPVARIANT_TO_OBJECT(*variant_ptr); + browser_functions.releaseobject(window_ptr); + + // remove reference + IcedTeaPluginUtilities::removeInstanceID(variant_ptr); + + // clear memory + free(variant_ptr); + + // We need the context 0 for backwards compatibility with the Java side + IcedTeaPluginUtilities::constructMessagePrefix(0, reference, &response); + response += " JavaScriptFinalize"; + + plugin_to_java_bus->post(response.c_str()); + + delete message_parts; + +} + + void* queue_processor(void* data) { @@ -725,6 +773,12 @@ queue_processor(void* data) // write methods are synchronized pthread_mutex_lock(&syn_write_mutex); processor->setMember(message_parts); + pthread_mutex_unlock(&syn_write_mutex); + } else if (command == "Finalize") + { + // write methods are synchronized + pthread_mutex_lock(&syn_write_mutex); + processor->finalize(message_parts); pthread_mutex_unlock(&syn_write_mutex); } else { diff -r 388bb89496bc -r 6b7bf9f691c9 plugin/icedteanp/IcedTeaPluginRequestProcessor.h --- a/plugin/icedteanp/IcedTeaPluginRequestProcessor.h Mon Mar 15 22:01:12 2010 +0000 +++ b/plugin/icedteanp/IcedTeaPluginRequestProcessor.h Tue Mar 16 10:29:49 2010 -0400 @@ -72,14 +72,6 @@ typedef struct async_call_thread_data /* Internal request reference counter */ static long internal_req_ref_counter; -// JS request processor methods -static void* requestFromMainThread(); -static void* getSlot(void* tdata); -static void* setSlot(void* tdata); -static void* removeMember(void* tdata); -static void* call(void* tdata); -static void* finalize(void* tdata); - /* Given a value and type, performs the appropriate Java->JS type * mapping and puts it in the given variant */ @@ -147,6 +139,8 @@ class PluginRequestProcessor : public Bu /* Evaluate the given script */ void call(std::vector* message_parts); + /* Decrements reference count for given object */ + void finalize(std::vector* message_parts); }; #endif // __ICEDTEAPLUGINREQUESTPROCESSOR_H__ From andrew at icedtea.classpath.org Tue Mar 16 08:40:34 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 16 Mar 2010 15:40:34 +0000 Subject: /hg/icedtea6: NetX/plugin build sync (3/3): Remove binary plug i... Message-ID: changeset 1bbce8b0b0a1 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=1bbce8b0b0a1 author: Andrew John Hughes date: Tue Mar 16 15:39:34 2010 +0000 NetX/plugin build sync (3/3): Remove binary plug import. 2010-03-16 Andrew John Hughes NetX/plugin build sync (3/3): * patches/icedtea-copy-plugs.patch: Remove plug-related segments and move remainder to patches/ecj/getannotation- cast.patch * rt/com/sun/jmx/snmp/SnmpDataTypeEnums.java, * rt/com/sun/jmx/snmp/SnmpDefinitions.java, * rt/com/sun/jmx/snmp/SnmpOid.java, * rt/com/sun/jmx/snmp/SnmpOidRecord.java, * rt/com/sun/jmx/snmp/SnmpOidTable.java, * rt/com/sun/jmx/snmp/SnmpOidTableSupport.java, * rt/com/sun/jmx/snmp/SnmpParameters.java, * rt/com/sun/jmx/snmp/SnmpPduPacket.java, * rt/com/sun/jmx/snmp/SnmpPeer.java, * rt/com/sun/jmx/snmp/SnmpSession.java, * rt/com/sun/jmx/snmp/SnmpTimeticks.java, * rt/com/sun/jmx/snmp/SnmpVarBind.java, * rt/com/sun/jmx/snmp/SnmpVarBindList.java, * rt/com/sun/jmx/snmp/daemon/SnmpInformRequest.java, * rt/com/sun/jmx/snmp/daemon/SnmpSession.java, * rt/com/sun/media/sound/AbstractPlayer.java, * rt/com/sun/media/sound/HeadspaceMixer.java, * rt/com/sun/media/sound/HeadspaceSoundbank.java, * rt/com/sun/media/sound/MixerClip.java, * rt/com/sun/media/sound/MixerMidiChannel.java, * rt/com/sun/media/sound/MixerSequencer.java, * rt/com/sun/media/sound/MixerSourceLine.java, * rt/com/sun/media/sound/MixerSynth.java, * rt/com/sun/media/sound/MixerThread.java, * rt/com/sun/media/sound/SimpleInputDevice.java, * rt/com/sun/media/sound/SimpleInputDeviceProvider.java: Remove old plug stubs. * Makefile.am: (ICEDTEA_PLUGS): Removed. (ICEDTEA_BOOTSTRAP_DIRS): Drop com/sun/jmx/snmp/agent. (ICEDTEA_BOOTSTRAP_CLASSES): Add javax/management/StandardMBean.java. (ICEDTEA_PATCHES): Remove copy-plugs.patch. (ICEDTEA_ECJ_PATCHES): Add getannotation-cast.patch. (ICEDTEA_ENV): Drop IMPORT_BINARY_PLUGS. (ICEDTEA_ENV_ECJ): Likewise. (icedtea.stamp): Don't depend on plugs.stamp. (icedtea- debug.stamp): Likewise. (icedtea-ecj.stamp): Likewise. (extra-class-files.stamp): Depend on netx.stamp and use netx.build rather than plugs. (rt-source-files.txt): Don't search $(abs_top_srcdir)/rt. (clean-rt): Revert to system rt.jar. (plugs.stamp): Removed. (clean-plugs): Removed. * patches/ecj/getannotation-cast.patch: Remaining part of copy-plugs.patch which provides a cast for getAnnotation for older versions of GNU Classpath. diffstat: 30 files changed, 91 insertions(+), 1899 deletions(-) ChangeLog | 55 ++++ Makefile.am | 41 -- patches/ecj/getannotation-cast.patch | 24 + patches/icedtea-copy-plugs.patch | 162 ----------- rt/com/sun/jmx/snmp/SnmpDataTypeEnums.java | 52 --- rt/com/sun/jmx/snmp/SnmpDefinitions.java | 83 ------ rt/com/sun/jmx/snmp/SnmpOid.java | 137 --------- rt/com/sun/jmx/snmp/SnmpOidRecord.java | 53 --- rt/com/sun/jmx/snmp/SnmpOidTable.java | 53 --- rt/com/sun/jmx/snmp/SnmpOidTableSupport.java | 54 --- rt/com/sun/jmx/snmp/SnmpParameters.java | 60 ---- rt/com/sun/jmx/snmp/SnmpPduPacket.java | 52 --- rt/com/sun/jmx/snmp/SnmpPeer.java | 73 ----- rt/com/sun/jmx/snmp/SnmpSession.java | 65 ---- rt/com/sun/jmx/snmp/SnmpTimeticks.java | 74 ----- rt/com/sun/jmx/snmp/SnmpVarBind.java | 74 ----- rt/com/sun/jmx/snmp/SnmpVarBindList.java | 82 ----- rt/com/sun/jmx/snmp/daemon/SnmpInformRequest.java | 42 --- rt/com/sun/jmx/snmp/daemon/SnmpSession.java | 66 ---- rt/com/sun/media/sound/AbstractPlayer.java | 45 --- rt/com/sun/media/sound/HeadspaceMixer.java | 44 --- rt/com/sun/media/sound/HeadspaceSoundbank.java | 45 --- rt/com/sun/media/sound/MixerClip.java | 44 --- rt/com/sun/media/sound/MixerMidiChannel.java | 45 --- rt/com/sun/media/sound/MixerSequencer.java | 233 ----------------- rt/com/sun/media/sound/MixerSourceLine.java | 44 --- rt/com/sun/media/sound/MixerSynth.java | 55 ---- rt/com/sun/media/sound/MixerThread.java | 44 --- rt/com/sun/media/sound/SimpleInputDevice.java | 44 --- rt/com/sun/media/sound/SimpleInputDeviceProvider.java | 45 --- diffs (truncated from 2214 to 500 lines): diff -r 6b7bf9f691c9 -r 1bbce8b0b0a1 ChangeLog --- a/ChangeLog Tue Mar 16 10:29:49 2010 -0400 +++ b/ChangeLog Tue Mar 16 15:39:34 2010 +0000 @@ -1,3 +1,58 @@ 2010-03-16 Deepak Bhole + + NetX/plugin build sync (3/3): + * patches/icedtea-copy-plugs.patch: + Remove plug-related segments and move + remainder to patches/ecj/getannotation-cast.patch + * rt/com/sun/jmx/snmp/SnmpDataTypeEnums.java, + * rt/com/sun/jmx/snmp/SnmpDefinitions.java, + * rt/com/sun/jmx/snmp/SnmpOid.java, + * rt/com/sun/jmx/snmp/SnmpOidRecord.java, + * rt/com/sun/jmx/snmp/SnmpOidTable.java, + * rt/com/sun/jmx/snmp/SnmpOidTableSupport.java, + * rt/com/sun/jmx/snmp/SnmpParameters.java, + * rt/com/sun/jmx/snmp/SnmpPduPacket.java, + * rt/com/sun/jmx/snmp/SnmpPeer.java, + * rt/com/sun/jmx/snmp/SnmpSession.java, + * rt/com/sun/jmx/snmp/SnmpTimeticks.java, + * rt/com/sun/jmx/snmp/SnmpVarBind.java, + * rt/com/sun/jmx/snmp/SnmpVarBindList.java, + * rt/com/sun/jmx/snmp/daemon/SnmpInformRequest.java, + * rt/com/sun/jmx/snmp/daemon/SnmpSession.java, + * rt/com/sun/media/sound/AbstractPlayer.java, + * rt/com/sun/media/sound/HeadspaceMixer.java, + * rt/com/sun/media/sound/HeadspaceSoundbank.java, + * rt/com/sun/media/sound/MixerClip.java, + * rt/com/sun/media/sound/MixerMidiChannel.java, + * rt/com/sun/media/sound/MixerSequencer.java, + * rt/com/sun/media/sound/MixerSourceLine.java, + * rt/com/sun/media/sound/MixerSynth.java, + * rt/com/sun/media/sound/MixerThread.java, + * rt/com/sun/media/sound/SimpleInputDevice.java, + * rt/com/sun/media/sound/SimpleInputDeviceProvider.java: + Remove old plug stubs. + * Makefile.am: + (ICEDTEA_PLUGS): Removed. + (ICEDTEA_BOOTSTRAP_DIRS): Drop com/sun/jmx/snmp/agent. + (ICEDTEA_BOOTSTRAP_CLASSES): Add javax/management/StandardMBean.java. + (ICEDTEA_PATCHES): Remove copy-plugs.patch. + (ICEDTEA_ECJ_PATCHES): Add getannotation-cast.patch. + (ICEDTEA_ENV): Drop IMPORT_BINARY_PLUGS. + (ICEDTEA_ENV_ECJ): Likewise. + (icedtea.stamp): Don't depend on plugs.stamp. + (icedtea-debug.stamp): Likewise. + (icedtea-ecj.stamp): Likewise. + (extra-class-files.stamp): Depend on netx.stamp and + use netx.build rather than plugs. + (rt-source-files.txt): Don't search $(abs_top_srcdir)/rt. + (clean-rt): Revert to system rt.jar. + (plugs.stamp): Removed. + (clean-plugs): Removed. + * patches/ecj/getannotation-cast.patch: + Remaining part of copy-plugs.patch which + provides a cast for getAnnotation for older versions + of GNU Classpath. + 2010-03-16 Deepak Bhole * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc diff -r 6b7bf9f691c9 -r 1bbce8b0b0a1 Makefile.am --- a/Makefile.am Tue Mar 16 10:29:49 2010 -0400 +++ b/Makefile.am Tue Mar 16 15:39:34 2010 +0000 @@ -42,8 +42,6 @@ ICEDTEA_BOOT_DIR= \ $(abs_top_builddir)/bootstrap/jdk1.6.0 ICEDTEA_RT = \ $(ICEDTEA_BOOT_DIR)/jre/lib/rt.jar -ICEDTEA_PLUGS = \ - $(abs_top_builddir)/bootstrap/jdk1.7.0/jre/lib/rt-closed.jar ICEDTEA_ENDORSED_DIR = \ $(ICEDTEA_BOOT_DIR)/lib/endorsed ICEDTEA_BUILD_DIR_ECJ = \ @@ -73,7 +71,6 @@ SOURCEPATH_DIRS = $(abs_top_builddir)/ge # Sources used from OpenJDK. ICEDTEA_BOOTSTRAP_DIRS = \ $(SHARE)/com/sun/jdi \ - $(SHARE)/com/sun/jmx/snmp/agent \ $(SHARE)/com/sun/net/httpserver \ $(SHARE)/com/sun/tools/jdi \ $(SHARE)/java/io \ @@ -91,8 +88,11 @@ ICEDTEA_BOOTSTRAP_DIRS = \ $(LANGTOOLS)/com/sun/mirror \ $(LANGTOOLS)/com/sun/tools/apt +# PR42003 - javax.swing.plaf.basic.BasicDirectoryModel +# PR43389 - javax.management.StandardMBean ICEDTEA_BOOTSTRAP_CLASSES = \ - $(SHARE)/javax/swing/plaf/basic/BasicDirectoryModel.java + $(SHARE)/javax/swing/plaf/basic/BasicDirectoryModel.java \ + $(SHARE)/javax/management/StandardMBean.java # FIXME (javac): Settings for javac go here @@ -241,7 +241,6 @@ ICEDTEA_PATCHES = \ patches/icedtea-lucene-crash.patch \ patches/icedtea-version.patch \ patches/icedtea-version-hotspot.patch \ - patches/icedtea-copy-plugs.patch \ patches/icedtea-text-relocations.patch \ patches/icedtea-ssl.patch \ patches/icedtea-rmi_amd64.patch \ @@ -394,7 +393,8 @@ ICEDTEA_ECJ_PATCHES = patches/ecj/icedte patches/ecj/icedtea-spp.patch \ patches/ecj/icedtea-jopt.patch \ patches/ecj/icedtea-jaxp-dependency.patch \ - patches/ecj/bootver.patch + patches/ecj/bootver.patch \ + patches/ecj/getannotation-cast.patch if DTDTYPE_QNAME ICEDTEA_ECJ_PATCHES += \ @@ -429,7 +429,6 @@ PLUGIN_VERSION = $(ICEDTEA_NAME) $(PACKA PLUGIN_VERSION = $(ICEDTEA_NAME) $(PACKAGE_VERSION)$(ICEDTEA_REV)$(ICEDTEA_PKG) ICEDTEA_ENV = \ - IMPORT_BINARY_PLUGS=true \ ALT_JDK_IMPORT_PATH="$(ICEDTEA_BOOT_DIR)" \ ANT="$(ANT)" \ BUILD_NUMBER="$(OPENJDK_VERSION)" \ @@ -515,7 +514,6 @@ endif # OpenJDK ecj build environment. # FIXME (bootstrap): Remove duplication ICEDTEA_ENV_ECJ = \ - IMPORT_BINARY_PLUGS=true \ ALT_JDK_IMPORT_PATH="$(ICEDTEA_BOOT_DIR)" \ ANT="$(ANT)" \ BUILD_NUMBER="$(OPENJDK_VERSION)" \ @@ -1333,7 +1331,7 @@ clean-bootstrap-directory-symlink: # If you change anything here in the icedtea target, please make sure # you change it in the icedtea-debug target as well. stamps/icedtea.stamp: stamps/bootstrap-directory-symlink.stamp \ - stamps/netx-dist.stamp stamps/plugs.stamp $(OPENJDK_TREE) stamps/plugin.stamp \ + stamps/netx-dist.stamp $(OPENJDK_TREE) stamps/plugin.stamp \ extra-lib/about.jar stamps/cacao.stamp \ stamps/visualvm.stamp $(PULSE_JAVA_TARGET) stamps/rewrite-rhino.stamp $(ARCH_PREFIX) $(MAKE) \ @@ -1432,7 +1430,7 @@ endif touch stamps/icedtea.stamp stamps/icedtea-debug.stamp: stamps/bootstrap-directory-symlink.stamp \ - stamps/netx-dist.stamp stamps/plugs.stamp $(OPENJDK_TREE) stamps/plugin.stamp \ + stamps/netx-dist.stamp $(OPENJDK_TREE) stamps/plugin.stamp \ extra-lib/about.jar stamps/cacao.stamp \ stamps/visualvm.stamp $(PULSE_JAVA_TARGET) stamps/rewrite-rhino.stamp $(ARCH_PREFIX) $(MAKE) \ @@ -1555,7 +1553,7 @@ stamps/icedtea-debug-against-icedtea.sta # =================== stamps/icedtea-ecj.stamp: stamps/bootstrap-directory-symlink-ecj.stamp \ - stamps/netx-dist.stamp stamps/plugs.stamp $(OPENJDK_ECJ_TREE) stamps/cacao.stamp \ + stamps/netx-dist.stamp $(OPENJDK_ECJ_TREE) stamps/cacao.stamp \ stamps/rewrite-rhino.stamp stamps/plugin.stamp $(ARCH_PREFIX) $(MAKE) \ $(ICEDTEA_ENV_ECJ) \ @@ -1757,11 +1755,11 @@ extra-source-files.txt: find $(abs_top_srcdir)/extra -name '*.java' | sort > $@ stamps/extra-class-files.stamp: $(INITIAL_BOOTSTRAP_LINK_STAMP) \ - extra-source-files.txt stamps/plugs.stamp + extra-source-files.txt stamps/netx.stamp mkdir -p extra-lib $(ICEDTEA_BOOT_DIR)/bin/javac $(MEMORY_LIMIT) -g -d extra-lib \ -source 1.5 \ - -sourcepath extra -cp $(ICEDTEA_RT):$(ICEDTEA_PLUGS) \ + -sourcepath extra -cp netx.build:$(ICEDTEA_RT) \ -bootclasspath \'\' @extra-source-files.txt cp -r $(NETX_EXTRA_DIR) extra-lib/net/sourceforge/jnlp/about mkdir -p stamps @@ -2199,8 +2197,6 @@ jtregcheck: jtreg check-hotspot check-la # rt.jar additional class files. rt-source-files.txt: $(OPENJDK_ECJ_TREE) - find $(abs_top_srcdir)/rt -name '*.java' \ - | sort -u > $@ for dir in $(ICEDTEA_BOOTSTRAP_DIRS) ; \ do \ $(FIND) $(abs_top_builddir)/$$dir -name '*.java' >> $@; \ @@ -2225,6 +2221,7 @@ clean-rt: rm -f stamps/rt-class-files.stamp rm -f stamps/rt.stamp rm -f rt-source-files.txt + cp $(SYSTEM_JDK_DIR)/jre/lib/rt.jar $(ICEDTEA_RT) stamps/rt.stamp: stamps/rt-class-files.stamp stamps/bootstrap-directory-ecj.stamp \ stamps/liveconnect.stamp @@ -2254,20 +2251,6 @@ clean-tools-jar: rm -f $(abs_top_builddir)/bootstrap/ecj/lib/tools.jar; \ fi rm -f stamps/tools.stamp - -# rt-closed.jar -stamps/plugs.stamp: stamps/rt.stamp stamps/tools.stamp stamps/netx.stamp \ - stamps/liveconnect.stamp - $(ICEDTEA_BOOT_DIR)/bin/jar cf $(ICEDTEA_PLUGS) \ - -C lib/rt com/sun/jmx/snmp $(LIVECONNECT_DIR) \ - -C netx.build net -C netx.build javax/jnlp ; - mkdir -p stamps - touch stamps/plugs.stamp - -clean-plugs: clean-plugs clean-copy clean-rt - rm -f $(ICEDTEA_PLUGS) - cp $(SYSTEM_JDK_DIR)/jre/lib/rt.jar $(ICEDTEA_RT) - rm -f stamps/plugs.stamp # Target Aliases # =============== diff -r 6b7bf9f691c9 -r 1bbce8b0b0a1 patches/ecj/getannotation-cast.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/ecj/getannotation-cast.patch Tue Mar 16 15:39:34 2010 +0000 @@ -0,0 +1,24 @@ +diff -urN openjdk.orig/jdk/src/share/classes/com/sun/jmx/mbeanserver/OpenConverter.java openjdk/jdk/src/share/classes/com/sun/jmx/mbeanserver/OpenConverter.java +--- openjdk.orig/jdk/src/share/classes/com/sun/jmx/mbeanserver/OpenConverter.java 2008-08-28 04:12:12.000000000 -0400 ++++ openjdk/jdk/src/share/classes/com/sun/jmx/mbeanserver/OpenConverter.java 2008-11-05 17:18:36.000000000 -0500 +@@ -1154,7 +1154,7 @@ + Set getterIndexSets = newSet(); + for (Constructor constr : annotatedConstrList) { + String[] propertyNames = +- constr.getAnnotation(propertyNamesClass).value(); ++ ((ConstructorProperties)constr.getAnnotation(propertyNamesClass)).value(); + + Type[] paramTypes = constr.getGenericParameterTypes(); + if (paramTypes.length != propertyNames.length) { +diff -urN openjdk.orig/jdk/src/share/classes/java/beans/MetaData.java openjdk/jdk/src/share/classes/java/beans/MetaData.java +--- openjdk.orig/jdk/src/share/classes/java/beans/MetaData.java 2008-08-28 04:12:48.000000000 -0400 ++++ openjdk/jdk/src/share/classes/java/beans/MetaData.java 2008-11-05 17:18:36.000000000 -0500 +@@ -1628,7 +1628,7 @@ + } + + private static String[] getAnnotationValue(Constructor constructor) { +- ConstructorProperties annotation = constructor.getAnnotation(ConstructorProperties.class); ++ ConstructorProperties annotation = ((ConstructorProperties) constructor.getAnnotation(ConstructorProperties.class)); + return (annotation != null) + ? annotation.value() + : null; diff -r 6b7bf9f691c9 -r 1bbce8b0b0a1 patches/icedtea-copy-plugs.patch --- a/patches/icedtea-copy-plugs.patch Tue Mar 16 10:29:49 2010 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,162 +0,0 @@ -diff -urN openjdk.orig/jdk/make/common/internal/BinaryPlugs.gmk openjdk/jdk/make/common/internal/BinaryPlugs.gmk ---- openjdk.orig/jdk/make/common/internal/BinaryPlugs.gmk 2008-08-28 04:10:47.000000000 -0400 -+++ openjdk/jdk/make/common/internal/BinaryPlugs.gmk 2008-11-05 17:20:46.000000000 -0500 -@@ -49,33 +49,32 @@ - com/sun/jmx/snmp/SnmpDataTypeEnums.class \ - com/sun/jmx/snmp/SnmpDefinitions.class \ - com/sun/jmx/snmp/SnmpOid.class \ --com/sun/jmx/snmp/SnmpOidDatabase.class \ --com/sun/jmx/snmp/SnmpOidDatabaseSupport.class \ - com/sun/jmx/snmp/SnmpOidRecord.class \ - com/sun/jmx/snmp/SnmpOidTable.class \ - com/sun/jmx/snmp/SnmpOidTableSupport.class \ - com/sun/jmx/snmp/SnmpParameters.class \ - com/sun/jmx/snmp/SnmpPduPacket.class \ - com/sun/jmx/snmp/SnmpPeer.class \ -+rt/com/sun/jmx/snmp/SnmpSession.class \ - com/sun/jmx/snmp/SnmpTimeticks.class \ - com/sun/jmx/snmp/SnmpVarBind.class \ - com/sun/jmx/snmp/SnmpVarBindList.class \ --com/sun/jmx/snmp/Timestamp.class \ - com/sun/jmx/snmp/daemon/SendQ.class \ - com/sun/jmx/snmp/daemon/SnmpInformRequest.class \ --com/sun/jmx/snmp/daemon/SnmpQManager.class \ --com/sun/jmx/snmp/daemon/SnmpRequestCounter.class \ --com/sun/jmx/snmp/daemon/SnmpResponseHandler.class \ --com/sun/jmx/snmp/daemon/SnmpSendServer.class \ --com/sun/jmx/snmp/daemon/SnmpSession.class \ --com/sun/jmx/snmp/daemon/SnmpSocket.class \ --com/sun/jmx/snmp/daemon/SnmpTimerServer.class \ --com/sun/jmx/snmp/daemon/WaitQ.class -+com/sun/jmx/snmp/daemon/SnmpSession.class - - # Class list temp files (used by both import and export of plugs) - -+PLUG_GNU_CLASS_NAMES = gnu -+ -+PLUG_JAVAX_CLASS_NAMES = javax/jnlp -+ -+PLUG_NETX_CLASS_NAMES = net -+ -+PLUG_NETSCAPE_CLASS_NAMES = netscape -+ - PLUG_TEMPDIR=$(ABS_TEMPDIR)/plugs --PLUG_CLASS_AREAS = jmf -+PLUG_CLASS_AREAS = jmf gnu javax netx netscape - PLUG_CLISTS = $(PLUG_CLASS_AREAS:%=$(PLUG_TEMPDIR)/%.clist) - - # Create jargs file command -@@ -93,11 +92,39 @@ - @for i in $(PLUG_JMF_CLASS_NAMES) ; do \ - $(ECHO) "$$i" >> $@; \ - done -+$(PLUG_TEMPDIR)/gnu.clist: -+ @$(prep-target) -+ @for i in $(PLUG_GNU_CLASS_NAMES) ; do \ -+ $(ECHO) "$$i" >> $@ ; \ -+ done -+$(PLUG_TEMPDIR)/javax.clist: -+ @$(prep-target) -+ @for i in $(PLUG_JAVAX_CLASS_NAMES) ; do \ -+ $(ECHO) "$$i" >> $@ ; \ -+ done -+$(PLUG_TEMPDIR)/netx.clist: -+ @$(prep-target) -+ @for i in $(PLUG_NETX_CLASS_NAMES) ; do \ -+ $(ECHO) "$$i" >> $@ ; \ -+ done -+$(PLUG_TEMPDIR)/netscape.clist: -+ @$(prep-target) -+ @for i in $(PLUG_NETSCAPE_CLASS_NAMES) ; do \ -+ $(ECHO) "$$i" >> $@ ; \ -+ done - $(PLUG_TEMPDIR)/all.clist: $(PLUG_CLISTS) - @$(prep-target) - $(CAT) $(PLUG_CLISTS) > $@ - $(PLUG_TEMPDIR)/jmf.jargs: $(PLUG_TEMPDIR)/jmf.clist - $(plug-create-jargs) -+$(PLUG_TEMPDIR)/gnu.jargs: $(PLUG_TEMPDIR)/gnu.clist -+ $(plug-create-jargs) -+$(PLUG_TEMPDIR)/javax.jargs: $(PLUG_TEMPDIR)/javax.clist -+ $(plug-create-jargs) -+$(PLUG_TEMPDIR)/netx.jargs: $(PLUG_TEMPDIR)/netx.clist -+ $(plug-create-jargs) -+$(PLUG_TEMPDIR)/netscape.jargs: $(PLUG_TEMPDIR)/netscape.clist -+ $(plug-create-jargs) - $(PLUG_TEMPDIR)/all.jargs: $(PLUG_TEMPDIR)/all.clist - $(plug-create-jargs) - -@@ -125,9 +152,9 @@ - # Import classes command - - define import-binary-plug-classes --@$(MKDIR) -p $(CLASSDESTDIR) -+$(MKDIR) -p $(CLASSDESTDIR) - @$(CAT) $1 | $(SED) -e 's/^/PLUG IMPORT: /' --($(CD) $(CLASSDESTDIR) && $(BOOT_JAR_CMD) xf $(PLUG_IMPORT_JARFILE) @$1) -+($(CD) $(CLASSDESTDIR) && $(BOOT_JAR_CMD) xf $(PLUG_IMPORT_JARFILE) `$(CAT) $1`) - endef # import-binary-plug-classes - - else # IMPORT_BINARY_PLUGS -@@ -153,11 +180,23 @@ - - import-binary-plug-jmf-classes: $(PLUG_IMPORT_JARFILE) $(PLUG_TEMPDIR)/jmf.clist - $(call import-binary-plug-classes,$(PLUG_TEMPDIR)/jmf.clist) -+import-binary-plug-gnu-classes: $(PLUG_IMPORT_JARFILE) $(PLUG_TEMPDIR)/gnu.clist -+ $(call import-binary-plug-classes,$(PLUG_TEMPDIR)/gnu.clist) -+import-binary-plug-javax-classes: $(PLUG_IMPORT_JARFILE) $(PLUG_TEMPDIR)/javax.clist -+ $(call import-binary-plug-classes,$(PLUG_TEMPDIR)/javax.clist) -+import-binary-plug-netx-classes: $(PLUG_IMPORT_JARFILE) $(PLUG_TEMPDIR)/netx.clist -+ $(call import-binary-plug-classes,$(PLUG_TEMPDIR)/netx.clist) -+import-binary-plug-netscape-classes: $(PLUG_IMPORT_JARFILE) $(PLUG_TEMPDIR)/netscape.clist -+ $(call import-binary-plug-classes,$(PLUG_TEMPDIR)/netscape.clist) - - # Import all classes from the jar file - - import-binary-plug-jar: \ -- import-binary-plug-jmf-classes -+ import-binary-plug-jmf-classes \ -+ import-binary-plug-gnu-classes \ -+ import-binary-plug-javax-classes \ -+ import-binary-plug-netx-classes \ -+ import-binary-plug-netscape-classes - - # Binary plug start/complete messages - -diff -urN openjdk.orig/jdk/src/share/classes/com/sun/jmx/mbeanserver/OpenConverter.java openjdk/jdk/src/share/classes/com/sun/jmx/mbeanserver/OpenConverter.java ---- openjdk.orig/jdk/src/share/classes/com/sun/jmx/mbeanserver/OpenConverter.java 2008-08-28 04:12:12.000000000 -0400 -+++ openjdk/jdk/src/share/classes/com/sun/jmx/mbeanserver/OpenConverter.java 2008-11-05 17:18:36.000000000 -0500 -@@ -1154,7 +1154,7 @@ - Set getterIndexSets = newSet(); - for (Constructor constr : annotatedConstrList) { - String[] propertyNames = -- constr.getAnnotation(propertyNamesClass).value(); -+ ((ConstructorProperties)constr.getAnnotation(propertyNamesClass)).value(); - - Type[] paramTypes = constr.getGenericParameterTypes(); - if (paramTypes.length != propertyNames.length) { -diff -urN openjdk.orig/jdk/src/share/classes/com/sun/jmx/snmp/SnmpPduTrap.java openjdk/jdk/src/share/classes/com/sun/jmx/snmp/SnmpPduTrap.java ---- openjdk.orig/jdk/src/share/classes/com/sun/jmx/snmp/SnmpPduTrap.java 2008-08-28 04:12:14.000000000 -0400 -+++ openjdk/jdk/src/share/classes/com/sun/jmx/snmp/SnmpPduTrap.java 2008-11-05 17:18:36.000000000 -0500 -@@ -78,6 +78,9 @@ - */ - public long timeStamp ; - -+ // TODO: IcedTea: I am a stub. -+ static public int trapAuthenticationFailure = 0; -+ - - - /** -diff -urN openjdk.orig/jdk/src/share/classes/java/beans/MetaData.java openjdk/jdk/src/share/classes/java/beans/MetaData.java ---- openjdk.orig/jdk/src/share/classes/java/beans/MetaData.java 2008-08-28 04:12:48.000000000 -0400 -+++ openjdk/jdk/src/share/classes/java/beans/MetaData.java 2008-11-05 17:18:36.000000000 -0500 -@@ -1628,7 +1628,7 @@ - } - - private static String[] getAnnotationValue(Constructor constructor) { -- ConstructorProperties annotation = constructor.getAnnotation(ConstructorProperties.class); -+ ConstructorProperties annotation = ((ConstructorProperties) constructor.getAnnotation(ConstructorProperties.class)); - return (annotation != null) - ? annotation.value() - : null; diff -r 6b7bf9f691c9 -r 1bbce8b0b0a1 rt/com/sun/jmx/snmp/SnmpDataTypeEnums.java --- a/rt/com/sun/jmx/snmp/SnmpDataTypeEnums.java Tue Mar 16 10:29:49 2010 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,52 +0,0 @@ -/* SnmpDataTypeEnums.java -- stub file. - Copyright (C) 2007 Red Hat, Inc. - -This file is part of IcedTea. - -IcedTea is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License as published by -the Free Software Foundation, version 2. - -IcedTea is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with IcedTea; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. -*/ - -package com.sun.jmx.snmp; - -public interface SnmpDataTypeEnums { - // Random values chosen to prevent conflicts in switch statements. - final static int IpAddressTag = 01; - final static int CounterTag = 11; - final static int GaugeTag = 21; - final static int TimeticksTag = 31; - final static int OpaqueTag = 41; - int NullTag = 0; - final static int errNoSuchObjectTag = 33; - final static int errNoSuchInstanceTag = 44; - final static int errEndOfMibViewTag = 55; - public static final int Counter64Tag = 0; -} diff -r 6b7bf9f691c9 -r 1bbce8b0b0a1 rt/com/sun/jmx/snmp/SnmpDefinitions.java --- a/rt/com/sun/jmx/snmp/SnmpDefinitions.java Tue Mar 16 10:29:49 2010 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,83 +0,0 @@ -/* SnmpDefinitions.java -- stub file. - Copyright (C) 2007 Red Hat, Inc. - -This file is part of IcedTea. - -IcedTea is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License as published by -the Free Software Foundation, version 2. - -IcedTea is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with IcedTea; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. -*/ - -package com.sun.jmx.snmp; From doko at ubuntu.com Tue Mar 16 09:49:39 2010 From: doko at ubuntu.com (Matthias Klose) Date: Tue, 16 Mar 2010 17:49:39 +0100 Subject: preparing an IcedTea6-1.8 release In-Reply-To: <17c6771e1003090944l47d28842g336782a1b188ad71@mail.gmail.com> References: <4B9687B8.4020604@ubuntu.com> <17c6771e1003090944l47d28842g336782a1b188ad71@mail.gmail.com> Message-ID: <4B9FB6A3.9080904@ubuntu.com> On 09.03.2010 18:44, Andrew John Hughes wrote: > On 9 March 2010 17:39, Matthias Klose wrote: >> Hi, >> >> I would like to prepare an IcedTea6-1.8 release, which I would like to >> include into the coming Debian and Ubuntu releases. The build failures >> introduced with the 6b18 import are now fixed, not seeing any more build >> failures. Would be reasonable to do this before switching to 6b19, and >> preparing a prerelease for mid/end of next week, and the final release for >> the end of March? >> >> Matthias >> >> > > We definitely need a release prior to importing b19, but that's not > imminent just yet (Zero needs upstreaming for one thing). It would > also be good to get Nimbus out in a release, so the plan sounds good > to me. I would like to create the branch on Thu, Mar 18 22:00 UTC. the plugin/netx reorganization looks finished. Are there any other changes which should go into the release? I'm planning to prepare the release on Mar 25/26, and releasing after the weekend. Matthias From ahughes at redhat.com Tue Mar 16 09:57:18 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Tue, 16 Mar 2010 16:57:18 +0000 Subject: preparing an IcedTea6-1.8 release In-Reply-To: <4B9FB6A3.9080904@ubuntu.com> References: <4B9687B8.4020604@ubuntu.com> <17c6771e1003090944l47d28842g336782a1b188ad71@mail.gmail.com> <4B9FB6A3.9080904@ubuntu.com> Message-ID: <17c6771e1003160957i2cad8fa9q24f9471130196140@mail.gmail.com> On 16 March 2010 16:49, Matthias Klose wrote: > On 09.03.2010 18:44, Andrew John Hughes wrote: >> >> On 9 March 2010 17:39, Matthias Klose ?wrote: >>> >>> Hi, >>> >>> I would like to prepare an IcedTea6-1.8 release, which I would like to >>> include into the coming Debian and Ubuntu releases. The build failures >>> introduced with the 6b18 import are now fixed, not seeing any more build >>> failures. Would be reasonable to do this before switching to 6b19, and >>> preparing a prerelease for mid/end of next week, and the final release >>> for >>> the end of March? >>> >>> ?Matthias >>> >>> >> >> We definitely need a release prior to importing b19, but that's not >> imminent just yet (Zero needs upstreaming for one thing). ?It would >> also be good to get Nimbus out in a release, so the plan sounds good >> to me. > > I would like to create the branch on Thu, Mar 18 22:00 UTC. ?the plugin/netx > reorganization looks finished. ?Are there any other changes which should go > into the release? > I'd like to get rid of the old plugin but that should be done by tomorrow. I have plenty of pending build work but it's not needed for 1.8. > I'm planning to prepare the release on Mar 25/26, and releasing after the > weekend. > I'm assuming that gets delayed if issues are found, right? I'm sure we all want a quality release, not one rushed out for a deadline. > ?Matthias > Thanks for handling this, -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From andrew at icedtea.classpath.org Tue Mar 16 10:01:08 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 16 Mar 2010 17:01:08 +0000 Subject: /hg/icedtea6: Only apply @Override patch to the ecj tree (needed... Message-ID: changeset 44393698a7c0 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=44393698a7c0 author: Andrew John Hughes date: Tue Mar 16 17:00:56 2010 +0000 Only apply @Override patch to the ecj tree (needed as we currently build with 1.5 not 1.6 flags) 2010-03-16 Andrew John Hughes * patches/icedtea-override.patch: Moved to ecj subdirectory. * Makefile.am: (ICEDTEA_PATCHES): Remove override patch. (ICEDTEA_ECJ_PATCHES): Add override patch in ecj directory. * patches/ecj/override.patch: Apply to ecj tree only. diffstat: 4 files changed, 211 insertions(+), 201 deletions(-) ChangeLog | 11 ++ Makefile.am | 5 - patches/ecj/override.patch | 198 ++++++++++++++++++++++++++++++++++++++++ patches/icedtea-override.patch | 198 ---------------------------------------- diffs (444 lines): diff -r 1bbce8b0b0a1 -r 44393698a7c0 ChangeLog --- a/ChangeLog Tue Mar 16 15:39:34 2010 +0000 +++ b/ChangeLog Tue Mar 16 17:00:56 2010 +0000 @@ -1,3 +1,14 @@ 2010-03-16 Andrew John Hughes + + * patches/icedtea-override.patch: + Moved to ecj subdirectory. + * Makefile.am: + (ICEDTEA_PATCHES): Remove override patch. + (ICEDTEA_ECJ_PATCHES): Add override patch in ecj + directory. + * patches/ecj/override.patch: + Apply to ecj tree only. + 2010-03-16 Andrew John Hughes NetX/plugin build sync (3/3): diff -r 1bbce8b0b0a1 -r 44393698a7c0 Makefile.am --- a/Makefile.am Tue Mar 16 15:39:34 2010 +0000 +++ b/Makefile.am Tue Mar 16 17:00:56 2010 +0000 @@ -382,8 +382,6 @@ ICEDTEA_PATCHES += patches/hotspot/origi patches/openjdk/6822370-reentrantreadwritelock.patch endif -ICEDTEA_PATCHES += patches/icedtea-override.patch - ICEDTEA_PATCHES += $(DISTRIBUTION_PATCHES) # Bootstrapping patches @@ -394,7 +392,8 @@ ICEDTEA_ECJ_PATCHES = patches/ecj/icedte patches/ecj/icedtea-jopt.patch \ patches/ecj/icedtea-jaxp-dependency.patch \ patches/ecj/bootver.patch \ - patches/ecj/getannotation-cast.patch + patches/ecj/getannotation-cast.patch \ + patches/ecj/override.patch if DTDTYPE_QNAME ICEDTEA_ECJ_PATCHES += \ diff -r 1bbce8b0b0a1 -r 44393698a7c0 patches/ecj/override.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/ecj/override.patch Tue Mar 16 17:00:56 2010 +0000 @@ -0,0 +1,198 @@ +diff -Nru openjdk.orig/jdk/src/share/classes/javax/swing/plaf/synth/SynthComboBoxUI.java openjdk/jdk/src/share/classes/javax/swing/plaf/synth/SynthComboBoxUI.java +--- openjdk-ecj.orig/jdk/src/share/classes/javax/swing/plaf/synth/SynthComboBoxUI.java 2009-12-15 00:04:14.000000000 +0000 ++++ openjdk-ecj/jdk/src/share/classes/javax/swing/plaf/synth/SynthComboBoxUI.java 2009-12-15 00:09:04.000000000 +0000 +@@ -200,7 +200,6 @@ + super.uninstallListeners(); + } + +- @Override + public SynthContext getContext(JComponent c) { + return getContext(c, getComponentState(c)); + } +@@ -273,7 +272,6 @@ + // end UI Initialization + //====================== + +- @Override + public void propertyChange(PropertyChangeEvent e) { + if (SynthLookAndFeel.shouldUpdateStyle(e)) { + updateStyle(comboBox); +@@ -318,7 +316,6 @@ + } + } + +- @Override + public void paintBorder(SynthContext context, Graphics g, int x, + int y, int w, int h) { + context.getPainter().paintComboBoxBorder(context, g, x, y, w, h); +@@ -424,7 +421,6 @@ + setText(" "); + } + +- @Override + public Component getListCellRendererComponent(JList list, Object value, + int index, boolean isSelected, boolean cellHasFocus) { + setName("ComboBox.listRenderer"); +@@ -491,7 +487,6 @@ + editor.setName("ComboBox.textField"); + } + +- @Override + public Component getEditorComponent() { + return editor; + } +@@ -501,7 +496,6 @@ + * + * @param anObject the displayed value of the editor + */ +- @Override + public void setItem(Object anObject) { + String text; + +@@ -517,7 +511,6 @@ + } + } + +- @Override + public Object getItem() { + Object newValue = editor.getText(); + +@@ -540,18 +533,15 @@ + return newValue; + } + +- @Override + public void selectAll() { + editor.selectAll(); + editor.requestFocus(); + } + +- @Override + public void addActionListener(ActionListener l) { + editor.addActionListener(l); + } + +- @Override + public void removeActionListener(ActionListener l) { + editor.removeActionListener(l); + } +@@ -685,27 +675,22 @@ + // MouseListener/MouseMotionListener Methods + //------------------------------------------------------------------ + +- @Override + public void mouseEntered(MouseEvent mouseEvent) { + updateOver(true); + } + +- @Override + public void mouseExited(MouseEvent mouseEvent) { + updateOver(false); + } + +- @Override + public void mousePressed(MouseEvent mouseEvent) { + updatePressed(true); + } + +- @Override + public void mouseReleased(MouseEvent mouseEvent) { + updatePressed(false); + } + +- @Override + public void mouseClicked(MouseEvent e) {} + + //------------------------------------------------------------------ +@@ -722,16 +707,13 @@ + * This bug was only noticed when acting as a button, but may be generally + * present. If so, remove the if() block + */ +- @Override + public void popupMenuCanceled(PopupMenuEvent e) { + if (shouldActLikeButton() || pressedWhenPopupVisible) { + comboBox.repaint(); + } + } + +- @Override + public void popupMenuWillBecomeVisible(PopupMenuEvent e) {} +- @Override + public void popupMenuWillBecomeInvisible(PopupMenuEvent e) {} + } + +diff -Nru openjdk.orig/jdk/src/share/classes/javax/swing/plaf/synth/SynthLookAndFeel.java openjdk/jdk/src/share/classes/javax/swing/plaf/synth/SynthLookAndFeel.java +--- openjdk-ecj.orig/jdk/src/share/classes/javax/swing/plaf/synth/SynthLookAndFeel.java 2009-12-09 16:38:59.000000000 +0000 ++++ openjdk-ecj/jdk/src/share/classes/javax/swing/plaf/synth/SynthLookAndFeel.java 2009-12-09 16:38:39.000000000 +0000 +@@ -832,7 +832,6 @@ + tk.addPropertyChangeListener(key, this); + } + +- @Override + public void propertyChange(PropertyChangeEvent pce) { + UIDefaults defaults = UIManager.getLookAndFeelDefaults(); + if (defaults.getBoolean("Synth.doNotSetTextAA")) { +@@ -901,7 +900,6 @@ + if (!isUpdatePending()) { + setUpdatePending(true); + Runnable uiUpdater = new Runnable() { +- @Override + public void run() { + updateAllUIs(); + setUpdatePending(false); +@@ -918,7 +916,6 @@ + } + + private class Handler implements PropertyChangeListener { +- @Override + public void propertyChange(PropertyChangeEvent evt) { + String propertyName = evt.getPropertyName(); + Object newValue = evt.getNewValue(); +diff -Nru openjdk.orig/jdk/src/share/classes/javax/swing/plaf/synth/SynthTreeUI.java openjdk/jdk/src/share/classes/javax/swing/plaf/synth/SynthTreeUI.java +--- openjdk-ecj.orig/jdk/src/share/classes/javax/swing/plaf/synth/SynthTreeUI.java 2009-12-15 00:31:41.000000000 +0000 ++++ openjdk-ecj/jdk/src/share/classes/javax/swing/plaf/synth/SynthTreeUI.java 2009-12-15 00:32:03.000000000 +0000 +@@ -154,7 +154,6 @@ + tree.addPropertyChangeListener(this); + } + +- @Override + public SynthContext getContext(JComponent c) { + return getContext(c, getComponentState(c)); + } +diff -Nru openjdk.orig/jdk/src/share/classes/sun/swing/plaf/synth/SynthFileChooserUIImpl.java openjdk/jdk/src/share/classes/sun/swing/plaf/synth/SynthFileChooserUIImpl.java +--- openjdk-ecj.orig/jdk/src/share/classes/sun/swing/plaf/synth/SynthFileChooserUIImpl.java 2009-12-15 00:44:58.000000000 +0000 ++++ openjdk-ecj/jdk/src/share/classes/sun/swing/plaf/synth/SynthFileChooserUIImpl.java 2009-12-15 00:45:15.000000000 +0000 +@@ -701,7 +701,6 @@ + this.delegate = delegate; + } + +- @Override + public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { + Component c = delegate.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); + +diff -Nru openjdk.orig/jdk/src/share/classes/sun/security/provider/certpath/OCSPResponse.java openjdk/jdk/src/share/classes/sun/security/provider/certpath/OCSPResponse.java +--- openjdk-ecj.orig/jdk/src/share/classes/sun/security/provider/certpath/OCSPResponse.java 2010-01-16 03:11:22.000000000 +0000 ++++ openjdk-ecj/jdk/src/share/classes/sun/security/provider/certpath/OCSPResponse.java 2010-01-16 03:11:57.000000000 +0000 +@@ -572,7 +572,7 @@ + /* + * Return the certificate's revocation status code + */ +- @Override public CertStatus getCertStatus() { ++ public CertStatus getCertStatus() { + return certStatus; + } + +@@ -580,11 +580,11 @@ + return certId; + } + +- @Override public Date getRevocationTime() { ++ public Date getRevocationTime() { + return (Date) revocationTime.clone(); + } + +- @Override public Reason getRevocationReason() { ++ public Reason getRevocationReason() { + return revocationReason; + } + diff -r 1bbce8b0b0a1 -r 44393698a7c0 patches/icedtea-override.patch --- a/patches/icedtea-override.patch Tue Mar 16 15:39:34 2010 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,198 +0,0 @@ -diff -Nru openjdk.orig/jdk/src/share/classes/javax/swing/plaf/synth/SynthComboBoxUI.java openjdk/jdk/src/share/classes/javax/swing/plaf/synth/SynthComboBoxUI.java ---- openjdk.orig/jdk/src/share/classes/javax/swing/plaf/synth/SynthComboBoxUI.java 2009-12-15 00:04:14.000000000 +0000 -+++ openjdk/jdk/src/share/classes/javax/swing/plaf/synth/SynthComboBoxUI.java 2009-12-15 00:09:04.000000000 +0000 -@@ -200,7 +200,6 @@ - super.uninstallListeners(); - } - -- @Override - public SynthContext getContext(JComponent c) { - return getContext(c, getComponentState(c)); - } -@@ -273,7 +272,6 @@ - // end UI Initialization - //====================== - -- @Override - public void propertyChange(PropertyChangeEvent e) { - if (SynthLookAndFeel.shouldUpdateStyle(e)) { - updateStyle(comboBox); -@@ -318,7 +316,6 @@ - } - } - -- @Override - public void paintBorder(SynthContext context, Graphics g, int x, - int y, int w, int h) { - context.getPainter().paintComboBoxBorder(context, g, x, y, w, h); -@@ -424,7 +421,6 @@ - setText(" "); - } - -- @Override - public Component getListCellRendererComponent(JList list, Object value, - int index, boolean isSelected, boolean cellHasFocus) { - setName("ComboBox.listRenderer"); -@@ -491,7 +487,6 @@ - editor.setName("ComboBox.textField"); - } - -- @Override - public Component getEditorComponent() { - return editor; - } -@@ -501,7 +496,6 @@ - * - * @param anObject the displayed value of the editor - */ -- @Override - public void setItem(Object anObject) { - String text; - -@@ -517,7 +511,6 @@ - } - } - -- @Override - public Object getItem() { - Object newValue = editor.getText(); - -@@ -540,18 +533,15 @@ - return newValue; - } - -- @Override - public void selectAll() { - editor.selectAll(); - editor.requestFocus(); - } - -- @Override - public void addActionListener(ActionListener l) { - editor.addActionListener(l); - } - -- @Override - public void removeActionListener(ActionListener l) { - editor.removeActionListener(l); - } -@@ -685,27 +675,22 @@ - // MouseListener/MouseMotionListener Methods - //------------------------------------------------------------------ - -- @Override - public void mouseEntered(MouseEvent mouseEvent) { - updateOver(true); - } - -- @Override - public void mouseExited(MouseEvent mouseEvent) { - updateOver(false); - } - -- @Override - public void mousePressed(MouseEvent mouseEvent) { - updatePressed(true); - } - -- @Override - public void mouseReleased(MouseEvent mouseEvent) { - updatePressed(false); - } - -- @Override - public void mouseClicked(MouseEvent e) {} - - //------------------------------------------------------------------ -@@ -722,16 +707,13 @@ - * This bug was only noticed when acting as a button, but may be generally - * present. If so, remove the if() block - */ -- @Override - public void popupMenuCanceled(PopupMenuEvent e) { - if (shouldActLikeButton() || pressedWhenPopupVisible) { - comboBox.repaint(); - } - } - -- @Override - public void popupMenuWillBecomeVisible(PopupMenuEvent e) {} -- @Override - public void popupMenuWillBecomeInvisible(PopupMenuEvent e) {} - } - -diff -Nru openjdk.orig/jdk/src/share/classes/javax/swing/plaf/synth/SynthLookAndFeel.java openjdk/jdk/src/share/classes/javax/swing/plaf/synth/SynthLookAndFeel.java ---- openjdk.orig/jdk/src/share/classes/javax/swing/plaf/synth/SynthLookAndFeel.java 2009-12-09 16:38:59.000000000 +0000 -+++ openjdk/jdk/src/share/classes/javax/swing/plaf/synth/SynthLookAndFeel.java 2009-12-09 16:38:39.000000000 +0000 -@@ -832,7 +832,6 @@ - tk.addPropertyChangeListener(key, this); - } - -- @Override - public void propertyChange(PropertyChangeEvent pce) { - UIDefaults defaults = UIManager.getLookAndFeelDefaults(); - if (defaults.getBoolean("Synth.doNotSetTextAA")) { -@@ -901,7 +900,6 @@ - if (!isUpdatePending()) { - setUpdatePending(true); - Runnable uiUpdater = new Runnable() { -- @Override - public void run() { - updateAllUIs(); - setUpdatePending(false); -@@ -918,7 +916,6 @@ - } - - private class Handler implements PropertyChangeListener { -- @Override - public void propertyChange(PropertyChangeEvent evt) { - String propertyName = evt.getPropertyName(); - Object newValue = evt.getNewValue(); -diff -Nru openjdk.orig/jdk/src/share/classes/javax/swing/plaf/synth/SynthTreeUI.java openjdk/jdk/src/share/classes/javax/swing/plaf/synth/SynthTreeUI.java ---- openjdk.orig/jdk/src/share/classes/javax/swing/plaf/synth/SynthTreeUI.java 2009-12-15 00:31:41.000000000 +0000 -+++ openjdk/jdk/src/share/classes/javax/swing/plaf/synth/SynthTreeUI.java 2009-12-15 00:32:03.000000000 +0000 -@@ -154,7 +154,6 @@ - tree.addPropertyChangeListener(this); - } - -- @Override - public SynthContext getContext(JComponent c) { - return getContext(c, getComponentState(c)); - } -diff -Nru openjdk.orig/jdk/src/share/classes/sun/swing/plaf/synth/SynthFileChooserUIImpl.java openjdk/jdk/src/share/classes/sun/swing/plaf/synth/SynthFileChooserUIImpl.java ---- openjdk.orig/jdk/src/share/classes/sun/swing/plaf/synth/SynthFileChooserUIImpl.java 2009-12-15 00:44:58.000000000 +0000 -+++ openjdk/jdk/src/share/classes/sun/swing/plaf/synth/SynthFileChooserUIImpl.java 2009-12-15 00:45:15.000000000 +0000 -@@ -701,7 +701,6 @@ - this.delegate = delegate; - } - -- @Override - public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { - Component c = delegate.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); - -diff -Nru openjdk.orig/jdk/src/share/classes/sun/security/provider/certpath/OCSPResponse.java openjdk/jdk/src/share/classes/sun/security/provider/certpath/OCSPResponse.java ---- openjdk.orig/jdk/src/share/classes/sun/security/provider/certpath/OCSPResponse.java 2010-01-16 03:11:22.000000000 +0000 -+++ openjdk/jdk/src/share/classes/sun/security/provider/certpath/OCSPResponse.java 2010-01-16 03:11:57.000000000 +0000 -@@ -572,7 +572,7 @@ - /* - * Return the certificate's revocation status code - */ -- @Override public CertStatus getCertStatus() { -+ public CertStatus getCertStatus() { - return certStatus; - } - -@@ -580,11 +580,11 @@ - return certId; - } - -- @Override public Date getRevocationTime() { -+ public Date getRevocationTime() { - return (Date) revocationTime.clone(); - } - -- @Override public Reason getRevocationReason() { -+ public Reason getRevocationReason() { - return revocationReason; - } - From doko at ubuntu.com Tue Mar 16 10:03:54 2010 From: doko at ubuntu.com (Matthias Klose) Date: Tue, 16 Mar 2010 18:03:54 +0100 Subject: preparing an IcedTea6-1.8 release In-Reply-To: <17c6771e1003160957i2cad8fa9q24f9471130196140@mail.gmail.com> References: <4B9687B8.4020604@ubuntu.com> <17c6771e1003090944l47d28842g336782a1b188ad71@mail.gmail.com> <4B9FB6A3.9080904@ubuntu.com> <17c6771e1003160957i2cad8fa9q24f9471130196140@mail.gmail.com> Message-ID: <4B9FB9FA.10705@ubuntu.com> On 16.03.2010 17:57, Andrew John Hughes wrote: > On 16 March 2010 16:49, Matthias Klose wrote: >> On 09.03.2010 18:44, Andrew John Hughes wrote: >>> >>> On 9 March 2010 17:39, Matthias Klose wrote: >>>> >>>> Hi, >>>> >>>> I would like to prepare an IcedTea6-1.8 release, which I would like to >>>> include into the coming Debian and Ubuntu releases. The build failures >>>> introduced with the 6b18 import are now fixed, not seeing any more build >>>> failures. Would be reasonable to do this before switching to 6b19, and >>>> preparing a prerelease for mid/end of next week, and the final release >>>> for >>>> the end of March? >>>> >>>> Matthias >>>> >>>> >>> >>> We definitely need a release prior to importing b19, but that's not >>> imminent just yet (Zero needs upstreaming for one thing). It would >>> also be good to get Nimbus out in a release, so the plan sounds good >>> to me. >> >> I would like to create the branch on Thu, Mar 18 22:00 UTC. the plugin/netx >> reorganization looks finished. Are there any other changes which should go >> into the release? >> > > I'd like to get rid of the old plugin but that should be done by tomorrow. > I have plenty of pending build work but it's not needed for 1.8. > >> I'm planning to prepare the release on Mar 25/26, and releasing after the >> weekend. >> > > I'm assuming that gets delayed if issues are found, right? I'm sure > we all want a quality release, not one rushed out for a deadline. sure, if this one isn't good enough, then we should delay the release for one week and try again. I like April 1st releases =) Matthias From mjw at redhat.com Tue Mar 16 12:18:05 2010 From: mjw at redhat.com (Mark Wielaard) Date: Tue, 16 Mar 2010 20:18:05 +0100 Subject: [NEW RFC] Re: RFC: Test set for systemtap instrumentation In-Reply-To: <1303137905.3594801267817388940.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> References: <1303137905.3594801267817388940.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Message-ID: <1268767085.2524.29.camel@hermans.wildebeest.org> Hi Jon, On Fri, 2010-03-05 at 14:29 -0500, jon.vanalten at redhat.com wrote: > As promised, updated patch for review. > +2010-03-05 Jon VanAlten > + * Makefile.am: > + Add target to run tapset tests. It would be nice to have the log file in the same directory as the other check targets. test/check-stap.log The current setup won't work for builddir != srcdir though (see below). > + * tapset/hotspot_jni.stp.in: > + Add notes regarding required JVM option to GetField > + family of probe aliases. Thanks for these notes. I haven't seen that requirement documented anywhere else. We should discuss it also with the hotspot-devs to see if that is an oversight or intentional. > + * test/tapset/ClassUnloadedProbeTester.java: > + Part of test coverage for hotspot.stp and hotspot_jni.stp tapsets. > + * test/tapset/JNIStapTest.c: > + Likewise. > + * test/tapset/JNITestClass.c: > + Likewise. > + * test/tapset/JNITestClass.h: > + Likewise. > + * test/tapset/JNITestClass.java: > + Likewise. > + * test/tapset/RunWrapper.java: > + Likewise. > + * test/tapset/StapJNIClassLoader.java: > + Likewise. > + * test/tapset/StapURLClassLoader.java: > + Likewise. > + * test/tapset/SystemtapTester.java: > + Likewise. > + * test/tapset/TestingRunner.java: > + Likewise. Nice, impressively thorough test setup. > + * test/tapset/jstaptest.pl: > + Wrapper script, compiles and runs tests for tapsets. Nice script, but to make it work for all build setups builddir == srcdir and/or builddir != srcdir it needs to no hard code the dependency on the current working directory. Ideally it would have a -S (sourcedir) and -O (output/builddir) argument (possibly named differently). So you could write the make target as: tapsetcheck: mkdir -p test/tapset $(abs_top_srcdir)/test/tapset/jstaptest.pl \ -S $(abs_top_srcdir)/test/tapset \ -O test/tapset \ -J $(abs_top_builddir)/$(BUILD_OUTPUT_DIR) \ -A $(BUILD_ARCH_DIR) -o test/check-stap.log That would run the compilers with arguments based on $(abs_top_srcdir)/test/tapset source files, writes out objects/classes to test/tapset and runs the java runtime either inside the output dir or with the classpath set to that directory. Cheers, Mark From andrew at icedtea.classpath.org Tue Mar 16 15:33:34 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 16 Mar 2010 22:33:34 +0000 Subject: /hg/icedtea6: Remove the old plugin. Message-ID: changeset d05a84d98805 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=d05a84d98805 author: Andrew John Hughes date: Tue Mar 16 22:33:10 2010 +0000 Remove the old plugin. 2010-03-16 Andrew John Hughes * IcedTeaPlugin.cc, * plugin/icedtea/netscape/javascript/JSException.java, * plugin/icedtea/netscape/javascript/JSObject.java, * plugin/icedtea/netscape/javascript/JSObjectCreatePermission.java, * plugin/icedtea/netscape/javascript/JSProxy.java, * plugin/icedtea/netscape/javascript/JSRunnable.java, * plugin/icedtea/netscape/javascript/JSUtil.java, * plugin/icedtea/sun/applet/AppletSecurityContextManager.java, * plugin/icedtea/sun/applet/GetMemberPluginCallRequest.java, * plugin/icedtea/sun/applet/GetWindowPluginCallRequest.java, * plugin/icedtea/sun/applet/JavaConsole.java, * plugin/icedtea/sun/applet/PasswordAuthenticationDialog.java, * plugin/icedtea/sun/applet/PluginAppletSecurityContext.java, * plugin/icedtea/sun/applet/PluginAppletViewer.java, * plugin/icedtea/sun/applet/PluginCallRequest.java, * plugin/icedtea/sun/applet/PluginCallRequestFactory.java, * plugin/icedtea/sun/applet/PluginClassLoader.java, * plugin/icedtea/sun/applet/PluginCookieInfoRequest.java, * plugin/icedtea/sun/applet/PluginCookieManager.java, * plugin/icedtea/sun/applet/PluginDebug.java, * plugin/icedtea/sun/applet/PluginException.java, * plugin/icedtea/sun/applet/PluginMain.java, * plugin/icedtea/sun/applet/PluginMessageConsumer.java, * plugin/icedtea/sun/applet/PluginMessageHandlerWorker.java, * plugin/icedtea/sun/applet/PluginObjectStore.java, * plugin/icedtea/sun/applet/PluginProxyInfoRequest.java, * plugin/icedtea/sun/applet/PluginProxySelector.java, * plugin/icedtea/sun/applet/PluginStreamHandler.java, * plugin/icedtea/sun/applet/RequestQueue.java, * plugin/icedtea/sun/applet/TestEnv.java, * plugin/icedtea/sun/applet/VoidPluginCallRequest.java: Remove old plugin code. * Makefile.am: Drop ENABLE_PLUGIN blocks. Rename ENABLE_NPPLUGIN to ENABLE_PLUGIN and IcedTeaNPPlugin to IcedTeaPlugin. (LIVECONNECT_DIR): Use just names of directories. (EXTRA_DIST): Drop IcedTeaPlugin.cc. (.PHONY): Drop clean-plugs, ICEDTEANPPLUGIN_CLEAN. (clean- patch): Drop old commands to revert plugin code copying. (icedtea.stamp): Remove old plugin references. Change NPPlugin references to reference Plugin. (icedtea-debug.stamp): Likewise. (PLUGIN_SRC): Renamed from NPPLUGIN_SRC. (PLUGIN_OBJECTS): Renamed from NPPLUGIN_OBJECTS. ($(PLUGIN_DIR)/%.o): Change from NPPLUGIN to PLUGIN. ($(PLUGIN_DIR)/IcedTeaPlugin.so): Changed from IcedTeaNPPlugin. (clean-IcedTeaPlugin): Moved from clean- IcedTeaNPPlugin. (IcedTeaPlugin.o): Removed. (IcedTeaPlugin.so): Removed. (clean-IcedTeaPlugin): Removed. (plugin.stamp): Remove old plugin dependency. (clean- plugin): Likewise. (liveconnect.stamp): Use LIVECONNECT_DIR rather than hardcoding directory names. (rt.stamp): Drop LIVECONNECT_DIR. (plugs): Drop dead alias. * acinclude.m4: (IT_CHECK_PLUGIN): Renamed from IT_CHECK_OLD_PLUGIN. (IT_CHECK_NEW_PLUGIN): Removed. (IT_CHECK_PLUGIN_DEPENDENCIES): No longer require IT_CHECK_OLD_PLUGIN and IT_CHECK_NEW_PLUGIN. Require IT_CHECK_PLUGIN. Remove enable_npplugin tests as now assumed, being the only plugin. (IT_CHECK_XULRUNNER_VERSION): Drop enable_npplugin test. * plugin/icedteanp/IcedTeaJavaRequestProcessor.h: Fix references to IcedTeaNPPlugin.h. * plugin/icedteanp/IcedTeaPlugin.cc: Renamed from IcedTeaNPPlugin.cc. * plugin/icedteanp/IcedTeaPlugin.h: Renamed from IcedTeaNPPlugin.h. * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc, * plugin/icedteanp/IcedTeaPluginUtils.cc, * plugin/icedteanp/IcedTeaPluginUtils.h, * plugin/icedteanp/IcedTeaScriptablePluginObject.h: Fix references to IcedTeaNPPlugin.h. diffstat: 43 files changed, 2553 insertions(+), 15622 deletions(-) ChangeLog | 80 IcedTeaPlugin.cc | 6009 ---------- Makefile.am | 129 acinclude.m4 | 44 plugin/icedtea/netscape/javascript/JSException.java | 140 plugin/icedtea/netscape/javascript/JSObject.java | 290 plugin/icedtea/netscape/javascript/JSObjectCreatePermission.java | 47 plugin/icedtea/netscape/javascript/JSProxy.java | 58 plugin/icedtea/netscape/javascript/JSRunnable.java | 72 plugin/icedtea/netscape/javascript/JSUtil.java | 59 plugin/icedtea/sun/applet/AppletSecurityContextManager.java | 71 plugin/icedtea/sun/applet/GetMemberPluginCallRequest.java | 76 plugin/icedtea/sun/applet/GetWindowPluginCallRequest.java | 75 plugin/icedtea/sun/applet/JavaConsole.java | 365 plugin/icedtea/sun/applet/PasswordAuthenticationDialog.java | 241 plugin/icedtea/sun/applet/PluginAppletSecurityContext.java | 1311 -- plugin/icedtea/sun/applet/PluginAppletViewer.java | 2004 --- plugin/icedtea/sun/applet/PluginCallRequest.java | 85 plugin/icedtea/sun/applet/PluginCallRequestFactory.java | 62 plugin/icedtea/sun/applet/PluginClassLoader.java | 51 plugin/icedtea/sun/applet/PluginCookieInfoRequest.java | 82 plugin/icedtea/sun/applet/PluginCookieManager.java | 88 plugin/icedtea/sun/applet/PluginDebug.java | 51 plugin/icedtea/sun/applet/PluginException.java | 53 plugin/icedtea/sun/applet/PluginMain.java | 319 plugin/icedtea/sun/applet/PluginMessageConsumer.java | 119 plugin/icedtea/sun/applet/PluginMessageHandlerWorker.java | 121 plugin/icedtea/sun/applet/PluginObjectStore.java | 132 plugin/icedtea/sun/applet/PluginProxyInfoRequest.java | 85 plugin/icedtea/sun/applet/PluginProxySelector.java | 195 plugin/icedtea/sun/applet/PluginStreamHandler.java | 479 plugin/icedtea/sun/applet/RequestQueue.java | 77 plugin/icedtea/sun/applet/TestEnv.java | 172 plugin/icedtea/sun/applet/VoidPluginCallRequest.java | 67 plugin/icedteanp/IcedTeaJavaRequestProcessor.h | 2 plugin/icedteanp/IcedTeaNPPlugin.cc | 2294 --- plugin/icedteanp/IcedTeaNPPlugin.h | 134 plugin/icedteanp/IcedTeaPlugin.cc | 2294 +++ plugin/icedteanp/IcedTeaPlugin.h | 134 plugin/icedteanp/IcedTeaPluginRequestProcessor.cc | 2 plugin/icedteanp/IcedTeaPluginUtils.cc | 2 plugin/icedteanp/IcedTeaPluginUtils.h | 2 plugin/icedteanp/IcedTeaScriptablePluginObject.h | 2 diffs (truncated from 18525 to 500 lines): diff -r 44393698a7c0 -r d05a84d98805 ChangeLog --- a/ChangeLog Tue Mar 16 17:00:56 2010 +0000 +++ b/ChangeLog Tue Mar 16 22:33:10 2010 +0000 @@ -1,3 +1,83 @@ 2010-03-16 Andrew John Hughes + + * IcedTeaPlugin.cc, + * plugin/icedtea/netscape/javascript/JSException.java, + * plugin/icedtea/netscape/javascript/JSObject.java, + * plugin/icedtea/netscape/javascript/JSObjectCreatePermission.java, + * plugin/icedtea/netscape/javascript/JSProxy.java, + * plugin/icedtea/netscape/javascript/JSRunnable.java, + * plugin/icedtea/netscape/javascript/JSUtil.java, + * plugin/icedtea/sun/applet/AppletSecurityContextManager.java, + * plugin/icedtea/sun/applet/GetMemberPluginCallRequest.java, + * plugin/icedtea/sun/applet/GetWindowPluginCallRequest.java, + * plugin/icedtea/sun/applet/JavaConsole.java, + * plugin/icedtea/sun/applet/PasswordAuthenticationDialog.java, + * plugin/icedtea/sun/applet/PluginAppletSecurityContext.java, + * plugin/icedtea/sun/applet/PluginAppletViewer.java, + * plugin/icedtea/sun/applet/PluginCallRequest.java, + * plugin/icedtea/sun/applet/PluginCallRequestFactory.java, + * plugin/icedtea/sun/applet/PluginClassLoader.java, + * plugin/icedtea/sun/applet/PluginCookieInfoRequest.java, + * plugin/icedtea/sun/applet/PluginCookieManager.java, + * plugin/icedtea/sun/applet/PluginDebug.java, + * plugin/icedtea/sun/applet/PluginException.java, + * plugin/icedtea/sun/applet/PluginMain.java, + * plugin/icedtea/sun/applet/PluginMessageConsumer.java, + * plugin/icedtea/sun/applet/PluginMessageHandlerWorker.java, + * plugin/icedtea/sun/applet/PluginObjectStore.java, + * plugin/icedtea/sun/applet/PluginProxyInfoRequest.java, + * plugin/icedtea/sun/applet/PluginProxySelector.java, + * plugin/icedtea/sun/applet/PluginStreamHandler.java, + * plugin/icedtea/sun/applet/RequestQueue.java, + * plugin/icedtea/sun/applet/TestEnv.java, + * plugin/icedtea/sun/applet/VoidPluginCallRequest.java: + Remove old plugin code. + * Makefile.am: + Drop ENABLE_PLUGIN blocks. Rename ENABLE_NPPLUGIN + to ENABLE_PLUGIN and IcedTeaNPPlugin to IcedTeaPlugin. + (LIVECONNECT_DIR): Use just names of directories. + (EXTRA_DIST): Drop IcedTeaPlugin.cc. + (.PHONY): Drop clean-plugs, ICEDTEANPPLUGIN_CLEAN. + (clean-patch): Drop old commands to revert plugin code + copying. + (icedtea.stamp): Remove old plugin references. Change NPPlugin + references to reference Plugin. + (icedtea-debug.stamp): Likewise. + (PLUGIN_SRC): Renamed from NPPLUGIN_SRC. + (PLUGIN_OBJECTS): Renamed from NPPLUGIN_OBJECTS. + ($(PLUGIN_DIR)/%.o): Change from NPPLUGIN to PLUGIN. + ($(PLUGIN_DIR)/IcedTeaPlugin.so): Changed from + IcedTeaNPPlugin. + (clean-IcedTeaPlugin): Moved from clean-IcedTeaNPPlugin. + (IcedTeaPlugin.o): Removed. + (IcedTeaPlugin.so): Removed. + (clean-IcedTeaPlugin): Removed. + (plugin.stamp): Remove old plugin dependency. + (clean-plugin): Likewise. + (liveconnect.stamp): Use LIVECONNECT_DIR rather than + hardcoding directory names. + (rt.stamp): Drop LIVECONNECT_DIR. + (plugs): Drop dead alias. + * acinclude.m4: + (IT_CHECK_PLUGIN): Renamed from IT_CHECK_OLD_PLUGIN. + (IT_CHECK_NEW_PLUGIN): Removed. + (IT_CHECK_PLUGIN_DEPENDENCIES): No longer require + IT_CHECK_OLD_PLUGIN and IT_CHECK_NEW_PLUGIN. Require + IT_CHECK_PLUGIN. Remove enable_npplugin tests as now + assumed, being the only plugin. + (IT_CHECK_XULRUNNER_VERSION): Drop enable_npplugin test. + * plugin/icedteanp/IcedTeaJavaRequestProcessor.h: + Fix references to IcedTeaNPPlugin.h. + * plugin/icedteanp/IcedTeaPlugin.cc: Renamed from + IcedTeaNPPlugin.cc. + * plugin/icedteanp/IcedTeaPlugin.h: Renamed from + IcedTeaNPPlugin.h. + * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc, + * plugin/icedteanp/IcedTeaPluginUtils.cc, + * plugin/icedteanp/IcedTeaPluginUtils.h, + * plugin/icedteanp/IcedTeaScriptablePluginObject.h: + Fix references to IcedTeaNPPlugin.h. + 2010-03-16 Andrew John Hughes * patches/icedtea-override.patch: diff -r 44393698a7c0 -r d05a84d98805 IcedTeaPlugin.cc --- a/IcedTeaPlugin.cc Tue Mar 16 17:00:56 2010 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,6009 +0,0 @@ -/* IcedTeaPlugin -- implement OJI - Copyright (C) 2008 Red Hat - -This file is part of IcedTea. - -IcedTea is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -IcedTea is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with IcedTea; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - -#include - -PRThread* current_thread (); - -#if PR_BYTES_PER_LONG == 8 -#define PLUGIN_JAVASCRIPT_TYPE jlong -#define PLUGIN_INITIALIZE_JAVASCRIPT_ARGUMENT(args, obj) args[0].j = obj -#define PLUGIN_JAVASCRIPT_SIGNATURE "(J)V" -#else -#define PLUGIN_JAVASCRIPT_TYPE jint -#define PLUGIN_INITIALIZE_JAVASCRIPT_ARGUMENT(args, obj) args[0].i = obj -#define PLUGIN_JAVASCRIPT_SIGNATURE "(I)V" -#endif - -// System includes. -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// GLib includes. -#include -#include - -// GTK includes. -#include - -// FIXME: Look into this: -// #0 nsACString_internal (this=0xbff3016c) at ../../../dist/include/string/nsTSubstring.h:522 -// #1 0x007117c9 in nsDependentCSubstring (this=0xbff3016c, str=@0xab20d00, startPos=0, length=0) at ../../dist/include/string/nsTDependentSubstring.h:68 -// #2 0x0076a9d9 in Substring (str=@0xab20d00, startPos=0, length=0) at ../../dist/include/string/nsTDependentSubstring.h:103 -// #3 0x008333a7 in nsStandardURL::Hostport (this=0xab20ce8) at nsStandardURL.h:338 -// #4 0x008299b8 in nsStandardURL::GetHostPort (this=0xab20ce8, result=@0xbff30210) at nsStandardURL.cpp:1003 -// #5 0x0095b9dc in nsPrincipal::GetOrigin (this=0xab114e0, aOrigin=0xbff30320) at nsPrincipal.cpp:195 -// #6 0x0154232c in nsCSecurityContext::GetOrigin (this=0xab8f410, buf=0xbff30390 "\004", buflen=256) at nsCSecurityContext.cpp:126 -// #7 0x04db377e in CNSAdapter_SecurityContextPeer::GetOrigin () from /opt/jdk1.6.0_03/jre/plugin/i386/ns7/libjavaplugin_oji.so -// #8 0x05acd59f in getAndPackSecurityInfo () from /opt/jdk1.6.0_03/jre/lib/i386/libjavaplugin_nscp.so -// #9 0x05acc77f in jni_SecureCallMethod () from /opt/jdk1.6.0_03/jre/lib/i386/libjavaplugin_nscp.so -// #10 0x05aba88d in CSecureJNIEnv::CallMethod () from /opt/jdk1.6.0_03/jre/lib/i386/libjavaplugin_nscp.so -// #11 0x04db1be7 in CNSAdapter_SecureJNIEnv::CallMethod () from /opt/jdk1.6.0_03/jre/plugin/i386/ns7/libjavaplugin_oji.so -// #12 0x0153e62f in ProxyJNIEnv::InvokeMethod (env=0xa8b8040, obj=0x9dad690, method=0xa0ed070, args=0x0) at ProxyJNI.cpp:571 -// #13 0x0153f91c in ProxyJNIEnv::InvokeMethod (env=0xa8b8040, obj=0x9dad690, method=0xa0ed070, args=0xbff3065c "\235\225$") at ProxyJNI.cpp:580 -// #14 0x0153fdbf in ProxyJNIEnv::CallObjectMethod (env=0xa8b8040, obj=0x9dad690, methodID=0xa0ed070) at ProxyJNI.cpp:641 - -// timeout (in seconds) for various calls to java side -#define TIMEOUT 180 - -#define NOT_IMPLEMENTED() \ - PLUGIN_DEBUG_1ARG ("NOT IMPLEMENTED: %s\n", __PRETTY_FUNCTION__) - -#define ID(object) \ - (object == NULL ? (PRUint32) 0 : reinterpret_cast (object)->identifier) - -static int plugin_debug = 0; - -#if 1 -// Debugging macros. - -#define PLUGIN_DEBUG_0ARG(str) \ - do \ - { \ - if (plugin_debug) \ - { \ - fprintf (stderr, str); \ - } \ - } while (0) - -#define PLUGIN_DEBUG_1ARG(str, arg1) \ - do \ - { \ - if (plugin_debug) \ - { \ - fprintf (stderr, str, arg1); \ - } \ - } while (0) - -#define PLUGIN_DEBUG_2ARG(str, arg1, arg2) \ - do \ - { \ - if (plugin_debug) \ - { \ - fprintf (stderr, str, arg1, arg2); \ - } \ - } while (0) - -#define PLUGIN_DEBUG_3ARG(str, arg1, arg2, arg3) \ - do \ - { \ - if (plugin_debug) \ - { \ - fprintf (stderr, str, arg1, arg2, arg3); \ - } \ - } while (0) - -#define PLUGIN_DEBUG_4ARG(str, arg1, arg2, arg3, arg4) \ - do \ - { \ - if (plugin_debug) \ - { \ - fprintf (stderr, str, arg1, arg2, arg3, arg4); \ - } \ - } while (0) - -#define PLUGIN_DEBUG(message) \ - PLUGIN_DEBUG_1ARG ("ICEDTEA PLUGIN: %s\n", message) - -#define PLUGIN_DEBUG_TWO(first, second) \ - PLUGIN_DEBUG_2ARG ("ICEDTEA PLUGIN: %s %s\n", \ - first, second) - -// Tracing. -class Trace -{ -public: - Trace (char const* name, char const* function) - { - Trace::name = name; - Trace::function = function; - PLUGIN_DEBUG_2ARG ("ICEDTEA PLUGIN: %s%s\n", - name, function); - } - - ~Trace () - { - PLUGIN_DEBUG_3ARG ("ICEDTEA PLUGIN: %s%s %s\n", - name, function, "return"); - } -private: - char const* name; - char const* function; -}; - -// Testing macro. -#define PLUGIN_TEST(expression, message) \ - do \ - { \ - if (!(expression)) \ - printf ("FAIL: %d: %s\n", __LINE__, \ - message); \ - } \ - while (0); - -#include -#include - -inline suseconds_t get_time_in_ms() -{ - struct timeval tv; - struct timezone tz; - gettimeofday(&tv, &tz); - - return tv.tv_usec; -} - - -inline long get_time_in_s() -{ - time_t t; - return time(&t); -} - -// __func__ is a variable, not a string literal, so it cannot be -// concatenated by the preprocessor. -#define PLUGIN_TRACE_JNIENV() Trace _trace ("JNIEnv::", __func__) -#define PLUGIN_TRACE_FACTORY() Trace _trace ("Factory::", __func__) -#define PLUGIN_TRACE_INSTANCE() Trace _trace ("Instance::", __func__) -#define PLUGIN_TRACE_EVENTSINK() Trace _trace ("EventSink::", __func__) -#define PLUGIN_TRACE_LISTENER() Trace _trace ("Listener::", __func__) -//#define PLUGIN_TRACE_RC() Trace _trace ("ResultContainer::", __func__) -#define PLUGIN_TRACE_RC() - -// Error reporting macros. -#define PLUGIN_ERROR(message) \ - fprintf (stderr, "%s:%d: Error: %s\n", __FILE__, __LINE__, \ - message) - -#define PLUGIN_ERROR_TWO(first, second) \ - fprintf (stderr, "%s:%d: Error: %s: %s\n", __FILE__, __LINE__, \ - first, second) - -#define PLUGIN_ERROR_THREE(first, second, third) \ - fprintf (stderr, "%s:%d: Error: %s: %s: %s\n", __FILE__, \ - __LINE__, first, second, third) - -#define PLUGIN_CHECK_RETURN(message, result) \ - if (NS_SUCCEEDED (result)) \ - { \ - PLUGIN_DEBUG (message); \ - } \ - else \ - { \ - PLUGIN_ERROR (message); \ - return result; \ - } - -#define PLUGIN_CHECK(message, result) \ - if (NS_SUCCEEDED (result)) \ - { \ - PLUGIN_DEBUG (message); \ - } else \ - { \ - PLUGIN_ERROR (message); \ - } - -#else - -// Debugging macros. -#define PLUGIN_DEBUG(message) -#define PLUGIN_DEBUG_TWO(first, second) - -// Testing macros. -#define PLUGIN_TEST(expression, message) -#define PLUGIN_TRACE_JNIENV() -#define PLUGIN_TRACE_FACTORY() Trace _trace ("Factory::", __func__) -//#define PLUGIN_TRACE_FACTORY() -#define PLUGIN_TRACE_INSTANCE() -#define PLUGIN_TRACE_EVENTSINK() -#define PLUGIN_TRACE_LISTENER() - -// Error reporting macros. -#define PLUGIN_ERROR(message) \ - fprintf (stderr, "%s:%d: Error: %s\n", __FILE__, __LINE__, \ - message) - -#define PLUGIN_ERROR_TWO(first, second) \ - fprintf (stderr, "%s:%d: Error: %s: %s\n", __FILE__, __LINE__, \ - first, second) - -#define PLUGIN_ERROR_THREE(first, second, third) \ - fprintf (stderr, "%s:%d: Error: %s: %s: %s\n", __FILE__, \ - __LINE__, first, second, third) -#define PLUGIN_CHECK_RETURN(message, result) -#define PLUGIN_CHECK(message, result) -#endif - -#define PLUGIN_NAME "IcedTea Java Web Browser Plugin (using " PLUGIN_VERSION ")" -#define PLUGIN_DESCRIPTION "The " PLUGIN_NAME " executes Java applets." -#define PLUGIN_MIME_DESC \ - "application/x-java-vm:class,jar:IcedTea;" \ - "application/x-java-applet:class,jar:IcedTea;" \ - "application/x-java-applet;version=1.1:class,jar:IcedTea;" \ - "application/x-java-applet;version=1.1.1:class,jar:IcedTea;" \ - "application/x-java-applet;version=1.1.2:class,jar:IcedTea;" \ - "application/x-java-applet;version=1.1.3:class,jar:IcedTea;" \ - "application/x-java-applet;version=1.2:class,jar:IcedTea;" \ - "application/x-java-applet;version=1.2.1:class,jar:IcedTea;" \ - "application/x-java-applet;version=1.2.2:class,jar:IcedTea;" \ - "application/x-java-applet;version=1.3:class,jar:IcedTea;" \ - "application/x-java-applet;version=1.3.1:class,jar:IcedTea;" \ - "application/x-java-applet;version=1.4:class,jar:IcedTea;" \ - "application/x-java-applet;version=1.4.1:class,jar:IcedTea;" \ - "application/x-java-applet;version=1.4.2:class,jar:IcedTea;" \ - "application/x-java-applet;version=1.5:class,jar:IcedTea;" \ - "application/x-java-applet;version=1.6:class,jar:IcedTea;" \ - "application/x-java-applet;jpi-version=1.6.0_00:class,jar:IcedTea;" \ - "application/x-java-bean:class,jar:IcedTea;" \ - "application/x-java-bean;version=1.1:class,jar:IcedTea;" \ - "application/x-java-bean;version=1.1.1:class,jar:IcedTea;" \ - "application/x-java-bean;version=1.1.2:class,jar:IcedTea;" \ - "application/x-java-bean;version=1.1.3:class,jar:IcedTea;" \ - "application/x-java-bean;version=1.2:class,jar:IcedTea;" \ - "application/x-java-bean;version=1.2.1:class,jar:IcedTea;" \ - "application/x-java-bean;version=1.2.2:class,jar:IcedTea;" \ - "application/x-java-bean;version=1.3:class,jar:IcedTea;" \ - "application/x-java-bean;version=1.3.1:class,jar:IcedTea;" \ - "application/x-java-bean;version=1.4:class,jar:IcedTea;" \ - "application/x-java-bean;version=1.4.1:class,jar:IcedTea;" \ - "application/x-java-bean;version=1.4.2:class,jar:IcedTea;" \ - "application/x-java-bean;version=1.5:class,jar:IcedTea;" \ - "application/x-java-bean;version=1.6:class,jar:IcedTea;" \ - "application/x-java-bean;jpi-version=1.6.0_00:class,jar:IcedTea;" - -#define FAILURE_MESSAGE "IcedTeaPluginFactory error: Failed to run %s." \ - " For more detail rerun \"firefox -g\" in a terminal window." - -// Global instance counter. -// A global variable for reporting GLib errors. This must be free'd -// and set to NULL after each use. -static GError* channel_error = NULL; -// Fully-qualified appletviewer executable. -gchar* data_directory = NULL; -static char* appletviewer_executable = NULL; -static char* libjvm_so = NULL; - -class IcedTeaPluginFactory; - -static PRBool factory_created = PR_FALSE; -static IcedTeaPluginFactory* factory = NULL; - -static PRBool jvm_attached = PR_FALSE; - -// Applet viewer input channel (needs to be static because it is used in plugin_in_pipe_callback) -GIOChannel* in_from_appletviewer = NULL; - -// Callback used to monitor input pipe status. -static gboolean plugin_in_pipe_callback (GIOChannel* source, - GIOCondition condition, - gpointer plugin_data); - -#include -#include -#include -#include -#include - -PRMonitor *jvmMsgQueuePRMonitor; -std::queue jvmMsgQueue; -nsCOMPtr processThread; - -// IcedTeaJNIEnv helpers. -class JNIReference -{ -public: - JNIReference (PRUint32 identifier); - ~JNIReference (); - PRUint32 identifier; - PRUint32 count; -}; - -JNIReference::JNIReference (PRUint32 identifier) - : identifier (identifier), - count (0) -{ - PLUGIN_DEBUG_2ARG ("JNIReference CONSTRUCT: %d %p\n", identifier, this); -} - -JNIReference::~JNIReference () -{ - PLUGIN_DEBUG_2ARG ("JNIReference DECONSTRUCT: %d %p\n", identifier, this); -} - -class JNIID : public JNIReference -{ -public: - JNIID (PRUint32 identifier, char const* signature); - ~JNIID (); - char const* signature; -}; - -JNIID::JNIID (PRUint32 identifier, char const* signature) - : JNIReference (identifier), - signature (strdup (signature)) -{ - PLUGIN_DEBUG_2ARG ("JNIID CONSTRUCT: %d %p\n", identifier, this); -} - -JNIID::~JNIID () -{ - PLUGIN_DEBUG_2ARG ("JNIID DECONSTRUCT: %d %p\n", identifier, this); -} - -char const* TYPES[10] = { "Object", - "boolean", - "byte", - "char", - "short", - "int", - "long", - "float", - "double", - "void" }; - - -// FIXME: create index from security context. -#define MESSAGE_CREATE() \ - nsCString message ("context "); \ - message.AppendInt (0); \ From mjw at redhat.com Wed Mar 17 05:21:22 2010 From: mjw at redhat.com (Mark Wielaard) Date: Wed, 17 Mar 2010 13:21:22 +0100 Subject: tracing jni GetTypeFields calls Message-ID: <1268828482.6022.41.camel@springer.wildebeest.org> Hi hotspot runtime devs, Jon VanAlten wrote an extensive testsuite for using the static dtrace markers with systemtap (see the icedtea distro-pkg-dev mailinglist) and we found out that the JNI GetField probes only trigger when disabling the UseFastJNIAccessors. This makes sense when looking through the code. So we added documentation to the systemtap hotspot_jni.stp tapset to document this fact. Some questions: - Should this be documented anywhere else? - Would it make sense to enable -XX:-UseFastJNIAccessors when -XX:+ExtendedDTraceProbes is given? - quicken_jni_functions() is only called once and so only checks preconditions for enabling them once at startup. I couldn't immediately see how one would deoptimize these when an enable/disable flag was dynamically toggled. Is there, or should there be such a mechanism? Thanks, Mark From doko at icedtea.classpath.org Wed Mar 17 05:36:16 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Wed, 17 Mar 2010 12:36:16 +0000 Subject: /hg/icedtea6: Update NEWS for 1.8. Message-ID: changeset fc2b07c22fa2 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=fc2b07c22fa2 author: doko at ubuntu.com date: Wed Mar 17 11:42:01 2010 +0100 Update NEWS for 1.8. 2010-03-17 Matthias Klose * NEWS: Add 1.7.1, update for 1.8. diffstat: 2 files changed, 35 insertions(+), 1 deletion(-) ChangeLog | 4 ++++ NEWS | 32 +++++++++++++++++++++++++++++++- diffs (51 lines): diff -r d05a84d98805 -r fc2b07c22fa2 ChangeLog --- a/ChangeLog Tue Mar 16 22:33:10 2010 +0000 +++ b/ChangeLog Wed Mar 17 11:42:01 2010 +0100 @@ -1,3 +1,7 @@ 2010-03-16 Andrew John Hughes + + * NEWS: Add 1.7.1, update for 1.8. + 2010-03-16 Andrew John Hughes * IcedTeaPlugin.cc, diff -r d05a84d98805 -r fc2b07c22fa2 NEWS --- a/NEWS Tue Mar 16 22:33:10 2010 +0000 +++ b/NEWS Wed Mar 17 11:42:01 2010 +0100 @@ -1,5 +1,35 @@ New in release 1.8 (XXXX-XX-XX): -New in release 1.8 (XXXX-XX-XX): +New in release 1.8 (2010-XX-XX): +- Updated to OpenJDK6 b18. + +New in release 1.7.1 (2010-02-26): + +Bug fixes +- PR179: Rhino bootclasspath issue +- Add missing .c file to PulseAudio build +Zero/Shark +- Formatting changes and other fixes to match upstream +- PR428: Shark on ARM precompiled header incls +- Update Shark for LLVM r95390 API change. +- S6927165: Zero S/390 fixes (from upstream) +- Implemented Shark host CPU feature autotuner using LLVM 2.7 APIs. +- Add s390 support to TCK setup helper script +- Strip stupid options that llvm-config supplies +- Update Shark for LLVM r94686 API change. +- S6914622, S6909153, S6913869 upstream Zero fixes. +NPPlugin fixes +- PR446: Use JDK_UPDATE_VERSION to set the jpi version. +- Re-designed frame embedding code so that the applet is dynamically + packed into given handle. This increases stability and breaks + reliance on the assumption that the browser will always provide a + handle in a certain sequence. +- Encode new lines, carriage returns, and other special characters + before sending them to Java side (de-coding code is already in + effect on Java side). +- Centralised and increased timeouts to give slow-loading applets + enough time to load. +- Fix security permissions related to get/set property, based on + specifications. New in release 1.7 (2010-01-27): From doko at icedtea.classpath.org Wed Mar 17 07:00:11 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Wed, 17 Mar 2010 14:00:11 +0000 Subject: /hg/icedtea6: Updates for Hitachi SH Message-ID: changeset 6140e5b242ab in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=6140e5b242ab author: doko at ubuntu.com date: Wed Mar 17 14:39:47 2010 +0100 Updates for Hitachi SH 2010-03-17 Nobuhiro Iwamatsu * acinclude.m4 (IT_SET_ARCH_SETTINGS): Define architecture as sh for all sh* variants. * patches/icedtea-sh4-support.patch: Likewise. diffstat: 3 files changed, 133 insertions(+) ChangeLog | 6 + acinclude.m4 | 6 + patches/icedtea-sh4-support.patch | 121 +++++++++++++++++++++++++++++++++++++ diffs (157 lines): diff -r fc2b07c22fa2 -r 6140e5b242ab ChangeLog --- a/ChangeLog Wed Mar 17 11:42:01 2010 +0100 +++ b/ChangeLog Wed Mar 17 14:39:47 2010 +0100 @@ -1,3 +1,9 @@ 2010-03-17 Matthias Klose + + * acinclude.m4 (IT_SET_ARCH_SETTINGS): Define architecture as sh + for all sh* variants. + * patches/icedtea-sh4-support.patch: Likewise. + 2010-03-17 Matthias Klose * NEWS: Add 1.7.1, update for 1.8. diff -r fc2b07c22fa2 -r 6140e5b242ab acinclude.m4 --- a/acinclude.m4 Wed Mar 17 11:42:01 2010 +0100 +++ b/acinclude.m4 Wed Mar 17 14:39:47 2010 +0100 @@ -85,6 +85,12 @@ AC_DEFUN([IT_SET_ARCH_SETTINGS], CROSS_TARGET_ARCH=s390x ARCHFLAG="-m64" ;; + sh*-*-*) + BUILD_ARCH_DIR=sh + INSTALL_ARCH_DIR=sh + JRE_ARCH_DIR=sh + CROSS_TARGET_ARCH=sh + ;; *) BUILD_ARCH_DIR=`uname -m` INSTALL_ARCH_DIR=$BUILD_ARCH_DIR diff -r fc2b07c22fa2 -r 6140e5b242ab patches/icedtea-sh4-support.patch --- a/patches/icedtea-sh4-support.patch Wed Mar 17 11:42:01 2010 +0100 +++ b/patches/icedtea-sh4-support.patch Wed Mar 17 14:39:47 2010 +0100 @@ -61,3 +61,124 @@ endif endif +--- openjdk/corba/make/common/shared/Platform.gmk 2010-01-18 22:27:21.000000000 +0900 ++++ openjdk/corba/make/common/shared/Platform.gmk 2010-01-18 22:28:50.000000000 +0900 +@@ -205,6 +205,9 @@ + arm*) \ + echo arm \ + ;; \ ++ sh*) \ ++ echo sh \ ++ ;; \ + *) \ + echo $(mach) \ + ;; \ +--- openjdk/jdk/make/common/shared/Platform.gmk 2010-01-18 22:39:35.000000000 +0900 ++++ openjdk/jdk/make/common/shared/Platform.gmk 2010-01-19 09:39:26.000000000 +0900 +@@ -214,6 +214,9 @@ + arm*) \ + echo arm \ + ;; \ ++ sh*) \ ++ echo sh \ ++ ;; \ + *) \ + echo $(mach) \ + ;; \ +@@ -272,6 +275,9 @@ + ifeq ($(ARCH), s390x) + ARCH_DATA_MODEL=64 + endif ++ ifeq ($(ARCH), sh) ++ ARCH_DATA_MODEL=32 ++ endif + endif + endif + +--- openjdk/jdk/make/jdk_generic_profile.sh 2010-01-19 09:49:57.000000000 +0900 ++++ openjdk/jdk/make/jdk_generic_profile.sh 2010-01-19 21:43:22.000000000 +0900 +@@ -350,13 +350,14 @@ + i?86) ZERO_LIBARCH=i386 ;; + sparc64) ZERO_LIBARCH=sparcv9 ;; + arm*) ZERO_LIBARCH=arm ;; ++ sh*) ZERO_LIBARCH=sh ;; + *) ZERO_LIBARCH="$(arch)" + esac + export ZERO_LIBARCH + + # ARCH_DATA_MODEL is the number of bits in a pointer + case "${ZERO_LIBARCH}" in +- i386|ppc|s390|sparc|arm) ++ i386|ppc|s390|sparc|arm|sh) + ARCH_DATA_MODEL=32 + ;; + amd64|ppc64|s390x|sparcv9|ia64|alpha) +--- openjdk/jdk/make/jdk_generic_profile.sh 2010-01-19 09:49:57.000000000 +0900 ++++ openjdk/jdk/make/jdk_generic_profile.sh 2010-01-19 21:44:30.000000000 +0900 +@@ -350,13 +350,14 @@ + i?86) ZERO_LIBARCH=i386 ;; + sparc64) ZERO_LIBARCH=sparcv9 ;; + arm*) ZERO_LIBARCH=arm ;; ++ sh*) ZERO_LIBARCH=sh ;; + *) ZERO_LIBARCH="$(arch)" + esac + export ZERO_LIBARCH + + # ARCH_DATA_MODEL is the number of bits in a pointer + case "${ZERO_LIBARCH}" in +- i386|ppc|s390|sparc|arm) ++ i386|ppc|s390|sparc|arm|sh) + ARCH_DATA_MODEL=32 + ;; + amd64|ppc64|s390x|sparcv9|ia64|alpha) +--- openjdk/jdk/make/javax/sound/SoundDefs.gmk 2010-01-19 22:35:25.000000000 +0900 ++++ openjdk/jdk/make/javax/sound/SoundDefs.gmk 2010-01-20 11:42:28.000000000 +0900 +@@ -113,6 +113,10 @@ + ifeq ($(ARCH), sparcv9) + CPPFLAGS += -DX_ARCH=X_SPARCV9 + endif # ARCH sparcv9 ++ ++ ifeq ($(ARCH), sh) ++ CPPFLAGS += -DX_ARCH=X_SH ++ endif # ARCH Renesas SuperH(sh) + endif + + +--- openjdk/jdk/make/common/Defs-linux.gmk 2010-01-21 13:27:43.000000000 +0900 ++++ openjdk/jdk/make/common/Defs-linux.gmk 2010-01-21 13:28:50.000000000 +0900 +@@ -119,6 +119,7 @@ + LDFLAGS_COMMON_sparcv9 += -m64 -mcpu=v9 + CFLAGS_REQUIRED_sparc += -m32 -mcpu=v9 + LDFLAGS_COMMON_sparc += -m32 -mcpu=v9 ++CFLAGS_REQUIRED_sh += -mieee + ifeq ($(ZERO_BUILD), true) + CFLAGS_REQUIRED = $(ZERO_ARCHFLAG) + ifeq ($(ZERO_ENDIANNESS), little) +@@ -202,7 +203,7 @@ + CXXFLAGS_DBG += $(CC_LOWER_OPT) + endif + +-CPPFLAGS_COMMON = -D_$(ARCH)_ $(if $(filter $(ARCH),alpha),,-D$(ARCH)) \ ++CPPFLAGS_COMMON = -D_$(ARCH)_ $(if $(filter $(ARCH),alpha sh),,-D$(ARCH)) \ + -DARCH='"$(ARCH)"' -DLINUX $(VERSION_DEFINES) \ + -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -D_REENTRANT + +--- openjdk/corba/make/common/Defs-linux.gmk 2010-01-21 13:29:49.000000000 +0900 ++++ openjdk/corba/make/common/Defs-linux.gmk 2010-01-21 13:30:58.000000000 +0900 +@@ -109,6 +109,7 @@ + LDFLAGS_COMMON_sparcv9 += -m64 -mcpu=v9 + CFLAGS_REQUIRED_sparc += -m32 -mcpu=v9 + LDFLAGS_COMMON_sparc += -m32 -mcpu=v9 ++CFLAGS_REQUIRED_sh += -mieee + ifeq ($(ZERO_BUILD), true) + CFLAGS_REQUIRED = $(ZERO_ARCHFLAG) + ifeq ($(ZERO_ENDIANNESS), little) +@@ -186,7 +187,7 @@ + CXXFLAGS_DBG += $(CC_LOWER_OPT) + endif + +-CPPFLAGS_COMMON = -D_$(ARCH)_ $(if $(filter $(ARCH),alpha),,-D$(ARCH)) \ ++CPPFLAGS_COMMON = -D_$(ARCH)_ $(if $(filter $(ARCH),alpha sh),,-D$(ARCH)) \ + -DARCH='"$(ARCH)"' -DLINUX $(VERSION_DEFINES) \ + -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -D_REENTRANT + From xerxes at zafena.se Wed Mar 17 07:01:03 2010 From: xerxes at zafena.se (=?ISO-8859-1?Q?Xerxes_R=E5nby?=) Date: Wed, 17 Mar 2010 15:01:03 +0100 Subject: RTC Thumb2 JIT enhancements In-Reply-To: <201003111123.o2BBNT7J010860@mint.camswl.com> References: <201003111123.o2BBNT7J010860@mint.camswl.com> Message-ID: <4BA0E09F.8030003@zafena.se> Hi! On 2010-03-11 12:23, ed at camswl.com wrote: > Hi folks, > > The following are some enhancements I have made to the T2JIT over the past > month. > > I have tested the changes with various benchmarks, with Think Free Office, > and with the hotspot and lang portions of JTreg which all pass. The jdk > portion is still running. > > Unfortunately the diffs are quite large so I am submitting the diffs to > the list as 4 separate sets of diffs. > > Has the b18 release been split off yet? I would prefer these changes not > to go into the b18 release as they have not had sufficient testing yet. > > A bit strange to have them left in limbo.. surely they are designed and tested to work with the openjdk used in 1.7.x but they are also too new to be included in that release branch since icedtea6 1.7.x only accepts bugfixes and no new features.... The new icedtea6 1.8 release using openjdk b18 that will branch any time now from icedtea6 trunk do already contain the first implementation of the t2jit and does also full bootstrap compile and runs with these four new patches applied when I tested it. If we do not include these new t2 fixes for the 1.8 branch then we have to play catchup with the upcoming openjdk b19 and potentially with a new hotspot hs17. Both icedtea6 1.7.x and icedtea6 1.8 uses the same hotspot, hs16, so they should both be ok I think. With all this said I think the patches looks great, they apply build and run using icedtea6 trunk, and I am in favour for them to go in so that they can be included in the next 1.8 release. Cheers Xerxes > Regards, > Ed. > > - Support for frameless compilation > > Local variables and interpreter state are now addressed from Java SP > rather than separate 'istate' (R8) register. R8 now free for register > allocation giving 6 allocatable registers instead of 5. > > - Support for compilation of methods containing monitorenter / monitorexit > > monitorenter / monitorexit moved from asm to C so they can be called > by JIT code compilation of monitorenter / monitorexit containinng > methods uses frame adressing because stack can expand dynamically to > accomodate monitors. > > - Interpreter caches 'thread' in a register > > Interpreter reworked to cache 'thread' in a register. Involved > removal of one 'tmp' register in interpreter to make room for > 'thread' register. Interpreter and JIT are now consistent in register > usage. > > - Compression of JIT 'header' > > Removed the OSR entry from the JIT header. Previously, each JITted > method had an individual piece of code in the header to load the > appropriate registers from locals and the jump to the OSR entry > point. This is changed so the the OSR caller (the interpreter), uses > the 'regusage' array in the JIT header to load the correct registers > and then just jumps directly to the entry point in the method. > Saving is 24 bytes per method. > > - Backwards branch targets now doubleword aligned. > > Pads with no ops before a backwards branch target to ensure backwards > branch target is 64 bit aligned. Small performance benefit. > > - Addition of OSPACE flag > > Setting environment variable T2_OSPACE will cause the JIT to optimise > for space as opposed to time. OSPACE does the following. > > o Tweaks the register allocation to allocate register based on space > o Enables tailing of returns. IE does a branch to the return. > o Disables doubleword alignment of backwards branch targets > o Disables inlining invoke virtual/static/special wrappers > > OSPACE has a small performance effect on benchmarks (~10% on ECM) but > has no noticeable effect on large applications. > > Default is compile for time (OSPACE disabled) > > - Removed a pass from the compiler > > The JIT had an additional pass to detect 'zombie' code (ie code which > could be, but has never been called). Zombie code removal was > disabled in prior versions because it was unreliable, however the > additional pass was still there. > > - Removed vestigal and debug code > > Removed #if 0 code and debug code which was no longer functional > From doko at icedtea.classpath.org Wed Mar 17 07:07:56 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Wed, 17 Mar 2010 14:07:56 +0000 Subject: /hg/icedtea6: More NEWS ... Message-ID: changeset 675790fd9029 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=675790fd9029 author: doko at ubuntu.com date: Wed Mar 17 14:47:18 2010 +0100 More NEWS ... diffstat: 1 file changed, 5 insertions(+) NEWS | 5 +++++ diffs (15 lines): diff -r 6140e5b242ab -r 675790fd9029 NEWS --- a/NEWS Wed Mar 17 14:39:47 2010 +0100 +++ b/NEWS Wed Mar 17 14:47:18 2010 +0100 @@ -1,6 +1,11 @@ New in release 1.8 (2010-XX-XX): New in release 1.8 (2010-XX-XX): - Updated to OpenJDK6 b18. +- Removed the Plugin, replaced by the NPPlugin. +Zero/Shark +- Shark is now able to build itself. +- For ARM, add Thumb2 JIT. +- Fixed Shark sharkCompiler mattr memory corruption bug when using llvm 2.7. New in release 1.7.1 (2010-02-26): From xerxes at zafena.se Wed Mar 17 07:28:52 2010 From: xerxes at zafena.se (=?ISO-8859-1?Q?Xerxes_R=E5nby?=) Date: Wed, 17 Mar 2010 15:28:52 +0100 Subject: RTC Thumb2 JIT enhancements In-Reply-To: <4BA0E09F.8030003@zafena.se> References: <201003111123.o2BBNT7J010860@mint.camswl.com> <4BA0E09F.8030003@zafena.se> Message-ID: <4BA0E724.7030600@zafena.se> On 2010-03-17 15:01, Xerxes R?nby wrote: > Hi! > > On 2010-03-11 12:23, ed at camswl.com wrote: > >> Hi folks, >> >> The following are some enhancements I have made to the T2JIT over the past >> month. >> >> I have tested the changes with various benchmarks, with Think Free Office, >> and with the hotspot and lang portions of JTreg which all pass. The jdk >> portion is still running. >> >> Unfortunately the diffs are quite large so I am submitting the diffs to >> the list as 4 separate sets of diffs. >> >> Has the b18 release been split off yet? I would prefer these changes not >> to go into the b18 release as they have not had sufficient testing yet. >> >> >> > A bit strange to have them left in limbo.. surely they are designed and > tested to work with the openjdk used in 1.7.x but they are also too new > to be included in that release branch since icedtea6 1.7.x only accepts > bugfixes and no new features.... > The new icedtea6 1.8 release using openjdk b18 that will branch any time > now from icedtea6 trunk do already contain the first implementation of > the t2jit and does also full bootstrap compile and runs with these four > new patches applied when I tested it. > > If we do not include these new t2 fixes for the 1.8 branch then we have > to play catchup with the upcoming openjdk b19 and potentially with a new > hotspot hs17. > > Both icedtea6 1.7.x and icedtea6 1.8 uses the same hotspot, hs16, so > they should both be ok I think. > Correction: both uses the same hotspot *hs14-b16* with an option to build with hs16-b13 (--with-hotspot-build=hs16) sorry for this confusion. cheers Xerxes > With all this said I think the patches looks great, they apply build and > run using icedtea6 trunk, and I am in favour for them to go in so that > they can be included in the next 1.8 release. > > Cheers > Xerxes > > >> Regards, >> Ed. >> >> - Support for frameless compilation >> >> Local variables and interpreter state are now addressed from Java SP >> rather than separate 'istate' (R8) register. R8 now free for register >> allocation giving 6 allocatable registers instead of 5. >> >> - Support for compilation of methods containing monitorenter / monitorexit >> >> monitorenter / monitorexit moved from asm to C so they can be called >> by JIT code compilation of monitorenter / monitorexit containinng >> methods uses frame adressing because stack can expand dynamically to >> accomodate monitors. >> >> - Interpreter caches 'thread' in a register >> >> Interpreter reworked to cache 'thread' in a register. Involved >> removal of one 'tmp' register in interpreter to make room for >> 'thread' register. Interpreter and JIT are now consistent in register >> usage. >> >> - Compression of JIT 'header' >> >> Removed the OSR entry from the JIT header. Previously, each JITted >> method had an individual piece of code in the header to load the >> appropriate registers from locals and the jump to the OSR entry >> point. This is changed so the the OSR caller (the interpreter), uses >> the 'regusage' array in the JIT header to load the correct registers >> and then just jumps directly to the entry point in the method. >> Saving is 24 bytes per method. >> >> - Backwards branch targets now doubleword aligned. >> >> Pads with no ops before a backwards branch target to ensure backwards >> branch target is 64 bit aligned. Small performance benefit. >> >> - Addition of OSPACE flag >> >> Setting environment variable T2_OSPACE will cause the JIT to optimise >> for space as opposed to time. OSPACE does the following. >> >> o Tweaks the register allocation to allocate register based on space >> o Enables tailing of returns. IE does a branch to the return. >> o Disables doubleword alignment of backwards branch targets >> o Disables inlining invoke virtual/static/special wrappers >> >> OSPACE has a small performance effect on benchmarks (~10% on ECM) but >> has no noticeable effect on large applications. >> >> Default is compile for time (OSPACE disabled) >> >> - Removed a pass from the compiler >> >> The JIT had an additional pass to detect 'zombie' code (ie code which >> could be, but has never been called). Zombie code removal was >> disabled in prior versions because it was unreliable, however the >> additional pass was still there. >> >> - Removed vestigal and debug code >> >> Removed #if 0 code and debug code which was no longer functional >> >> > From ahughes at redhat.com Wed Mar 17 07:49:32 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Wed, 17 Mar 2010 14:49:32 +0000 Subject: RTC Thumb2 JIT enhancements In-Reply-To: <4BA0E09F.8030003@zafena.se> References: <201003111123.o2BBNT7J010860@mint.camswl.com> <4BA0E09F.8030003@zafena.se> Message-ID: <17c6771e1003170749rdb72e1ayc317f59da5cfc548@mail.gmail.com> On 17 March 2010 14:01, Xerxes R?nby wrote: > Hi! > > On 2010-03-11 12:23, ed at camswl.com wrote: >> Hi folks, >> >> The following are some enhancements I have made to the T2JIT over the past >> month. >> >> I have tested the changes with various benchmarks, with Think Free Office, >> and with the hotspot and lang portions of JTreg which all pass. The jdk >> portion is still running. >> >> Unfortunately the diffs are quite large so I am submitting the diffs to >> the list as 4 separate sets of diffs. >> >> Has the b18 release been split off yet? I would prefer these changes not >> to go into the b18 release as they have not had sufficient testing yet. >> >> > > A bit strange to have them left in limbo.. surely they are designed and > tested to work with the openjdk used in 1.7.x but they are also too new > to be included in that release branch since icedtea6 1.7.x only accepts > bugfixes and no new features.... > The new icedtea6 1.8 release using openjdk b18 that will branch any time > now from icedtea6 trunk do already contain the first implementation of > the t2jit and does also full bootstrap compile and runs with these four > new patches applied when I tested it. > > If we do not include these new t2 fixes for the 1.8 branch then we have > to play catchup with the upcoming openjdk b19 and potentially with a new > hotspot hs17. > No, b19 will be hs16, which is already available in IcedTea6 1.7 and 1.8 but not by default; --with-hotspot-build=hs16 We'll make it default once 1.8 branches, ahead of the b19 import. > Both icedtea6 1.7.x and icedtea6 1.8 uses the same hotspot, hs16, so > they should both be ok I think. > No, they both use hs14. I realise it's confusing because our revision of hs14 is b16... $ /usr/lib/jvm/icedtea6/bin/java -version java version "1.6.0_17" OpenJDK Runtime Environment (IcedTea6 1.7.1) (Gentoo build 1.6.0_17-b17) OpenJDK 64-Bit Server VM (build 16.0-b13, mixed mode) That's hs16, which as you can see, can be built from 1.7.1. Just saw your correction; thanks :-) > With all this said I think the patches looks great, they apply build and > run using icedtea6 trunk, and I am in favour for them to go in so that > they can be included in the next 1.8 release. > I guess this is Ed's call, but I think it makes sense to get them in 1.8 and perhaps stabilise them in that branch rather than shipping them with hs16. > Cheers > Xerxes > >> Regards, >> Ed. >> >> - Support for frameless compilation >> >> ? ? ? Local variables and interpreter state are now addressed from Java SP >> ? ? ? rather than separate 'istate' (R8) register. R8 now free for register >> ? ? ? allocation giving 6 allocatable registers instead of 5. >> >> - Support for compilation of methods containing monitorenter / monitorexit >> >> ? ? ? monitorenter / monitorexit moved from asm to C so they can be called >> ? ? ? by JIT code compilation of monitorenter / monitorexit containinng >> ? ? ? methods uses frame adressing because stack can expand dynamically to >> ? ? ? accomodate monitors. >> >> - Interpreter caches 'thread' in a register >> >> ? ? ? Interpreter reworked to cache 'thread' in a register. Involved >> ? ? ? removal of one 'tmp' register in interpreter to make room for >> ? ? ? 'thread' register. Interpreter and JIT are now consistent in register >> ? ? ? usage. >> >> - Compression of JIT 'header' >> >> ? ? ? Removed the OSR entry from the JIT header. Previously, each JITted >> ? ? ? method had an individual piece of code in the header to load the >> ? ? ? appropriate registers from locals and the jump to the OSR entry >> ? ? ? point. This is changed so the the OSR caller (the interpreter), uses >> ? ? ? the 'regusage' array in the JIT header to load the correct registers >> ? ? ? and then just jumps directly to the entry point in the method. >> ? ? ? Saving is 24 bytes per method. >> >> - Backwards branch targets now doubleword aligned. >> >> ? ? ? Pads with no ops before a backwards branch target to ensure backwards >> ? ? ? branch target is 64 bit aligned. Small performance benefit. >> >> - Addition of OSPACE flag >> >> ? ? ? Setting environment variable T2_OSPACE will cause the JIT to optimise >> ? ? ? for space as opposed to time. OSPACE does the following. >> >> ? ? ? o Tweaks the register allocation to allocate register based on space >> ? ? ? o Enables tailing of returns. IE does a branch to the return. >> ? ? ? o Disables doubleword alignment of backwards branch targets >> ? ? ? o Disables inlining invoke virtual/static/special wrappers >> >> ? ? ? OSPACE has a small performance effect on benchmarks (~10% on ECM) but >> ? ? ? has no noticeable effect on large applications. >> >> ? ? ? Default is compile for time (OSPACE disabled) >> >> - Removed a pass from the compiler >> >> ? ? ? The JIT had an additional pass to detect 'zombie' code (ie code which >> ? ? ? could be, but has never been called). Zombie code removal was >> ? ? ? disabled in prior versions because it was unreliable, however the >> ? ? ? additional pass was still there. >> >> - Removed vestigal and debug code >> >> ? ? ? Removed #if 0 code and debug code which was no longer functional >> > > -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From ed at camswl.com Wed Mar 17 07:54:53 2010 From: ed at camswl.com (Edward Nevill) Date: Wed, 17 Mar 2010 14:54:53 +0000 Subject: RTC Thumb2 JIT enhancements In-Reply-To: <4BA0E09F.8030003@zafena.se> References: <201003111123.o2BBNT7J010860@mint.camswl.com> <4BA0E09F.8030003@zafena.se> Message-ID: <1268837693.3260.5.camel@mint> Hi Xerxes, Unfortunately, the patches are not ready for inclusion. On further testing I have found that it does not build itself and I am unwilling to push anything which does not build itself. Regards, Ed. On Wed, 2010-03-17 at 15:01 +0100, Xerxes R?nby wrote: > A bit strange to have them left in limbo.. surely they are designed and > tested to work with the openjdk used in 1.7.x but they are also too new > to be included in that release branch since icedtea6 1.7.x only accepts > bugfixes and no new features.... > The new icedtea6 1.8 release using openjdk b18 that will branch any time > now from icedtea6 trunk do already contain the first implementation of > the t2jit and does also full bootstrap compile and runs with these four > new patches applied when I tested it. > > If we do not include these new t2 fixes for the 1.8 branch then we have > to play catchup with the upcoming openjdk b19 and potentially with a new > hotspot hs17. > > Both icedtea6 1.7.x and icedtea6 1.8 uses the same hotspot, hs16, so > they should both be ok I think. > > With all this said I think the patches looks great, they apply build and > run using icedtea6 trunk, and I am in favour for them to go in so that > they can be included in the next 1.8 release. > > Cheers > Xerxes From ahughes at redhat.com Wed Mar 17 08:31:29 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Wed, 17 Mar 2010 15:31:29 +0000 Subject: New 1.6 release imminent: 1.6.3 Message-ID: <17c6771e1003170831g4f999ceam62f5e1b84f4739bf@mail.gmail.com> There are some changesets on the 1.6 branch that have not yet been released (including aph's debuginfo patch and a backport of the issue with ReentrantReadWrite locks). I'm going to do a quick build test, then tag and release this as 1.6.3. Any objections? -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From doko at ubuntu.com Wed Mar 17 08:56:25 2010 From: doko at ubuntu.com (Matthias Klose) Date: Wed, 17 Mar 2010 16:56:25 +0100 Subject: New 1.6 release imminent: 1.6.3 In-Reply-To: <17c6771e1003170831g4f999ceam62f5e1b84f4739bf@mail.gmail.com> References: <17c6771e1003170831g4f999ceam62f5e1b84f4739bf@mail.gmail.com> Message-ID: <4BA0FBA9.3030406@ubuntu.com> On 17.03.2010 16:31, Andrew John Hughes wrote: > There are some changesets on the 1.6 branch that have not yet been > released (including aph's debuginfo patch and a backport of the issue > with ReentrantReadWrite locks). I'm going to do a quick build test, > then tag and release this as 1.6.3. > > Any objections? No, just update the NEWS file; 1.6.2 didn't have any news Matthias From ahughes at redhat.com Wed Mar 17 09:13:39 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Wed, 17 Mar 2010 16:13:39 +0000 Subject: New 1.6 release imminent: 1.6.3 In-Reply-To: <4BA0FBA9.3030406@ubuntu.com> References: <17c6771e1003170831g4f999ceam62f5e1b84f4739bf@mail.gmail.com> <4BA0FBA9.3030406@ubuntu.com> Message-ID: <17c6771e1003170913v772e7091xf81b843a140e1e31@mail.gmail.com> On 17 March 2010 15:56, Matthias Klose wrote: > On 17.03.2010 16:31, Andrew John Hughes wrote: >> >> There are some changesets on the 1.6 branch that have not yet been >> released (including aph's debuginfo patch and a backport of the issue >> with ReentrantReadWrite locks). ?I'm going to do a quick build test, >> then tag and release this as 1.6.3. >> >> Any objections? > > No, just update the NEWS file; 1.6.2 didn't have any news > > ?Matthias > Ok. Should be out tomorrow. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From bugzilla-daemon at icedtea.classpath.org Wed Mar 17 14:55:08 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 17 Mar 2010 21:55:08 +0000 Subject: [Bug 453] New: OpenJDK does not resolve permissions correctly Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=453 Summary: OpenJDK does not resolve permissions correctly Product: IcedTea Version: unspecified Platform: all OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: IcedTea6 AssignedTo: unassigned at icedtea.classpath.org ReportedBy: dbhole at redhat.com This is an upstream bug, adding it here as a placeholder. The attached code when run with Sun VM vs OpenJDK yields different results. With Sun, it reports that files in java.ext.dirs have AllPermission (correct). With OpenJDK, it says that the files in java.ext.dirs do not have AllPermission (incorrect). The issue is in the way permission implications are checked. Sun's code appears to ignore/strip away the "jar:" we don't, causing PolicyFile::addPermissions() to think the given cs and the cs from policy are different when they are not. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Mar 17 14:56:40 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 17 Mar 2010 21:56:40 +0000 Subject: [Bug 453] OpenJDK does not resolve permissions correctly Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=453 ------- Comment #1 from dbhole at redhat.com 2010-03-17 21:56 ------- Created an attachment (id=308) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=308&action=view) Standalone reproducible test case Attaching standalone reproducible test case -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Mar 17 15:00:32 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 17 Mar 2010 22:00:32 +0000 Subject: [Bug 453] OpenJDK does not resolve permissions correctly Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=453 ------- Comment #2 from gnu_andrew at member.fsf.org 2010-03-17 22:00 ------- 'we don't'? Which part of this do we implement? I thought this was an OpenJDK issue? -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From ahughes at redhat.com Wed Mar 17 15:22:13 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Wed, 17 Mar 2010 22:22:13 +0000 Subject: New 1.6 release imminent: 1.6.3 In-Reply-To: <17c6771e1003170913v772e7091xf81b843a140e1e31@mail.gmail.com> References: <17c6771e1003170831g4f999ceam62f5e1b84f4739bf@mail.gmail.com> <4BA0FBA9.3030406@ubuntu.com> <17c6771e1003170913v772e7091xf81b843a140e1e31@mail.gmail.com> Message-ID: <17c6771e1003171522p41dbf150j8c84366d052af567@mail.gmail.com> On 17 March 2010 16:13, Andrew John Hughes wrote: > On 17 March 2010 15:56, Matthias Klose wrote: >> On 17.03.2010 16:31, Andrew John Hughes wrote: >>> >>> There are some changesets on the 1.6 branch that have not yet been >>> released (including aph's debuginfo patch and a backport of the issue >>> with ReentrantReadWrite locks). ?I'm going to do a quick build test, >>> then tag and release this as 1.6.3. >>> >>> Any objections? >> >> No, just update the NEWS file; 1.6.2 didn't have any news >> >> ?Matthias >> > > Ok. ?Should be out tomorrow. > -- > Andrew :-) > > Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > Support Free Java! > Contribute to GNU Classpath and the OpenJDK > http://www.gnu.org/software/classpath > http://openjdk.java.net > > PGP Key: 94EFD9D8 (http://subkeys.pgp.net) > Fingerprint: F8EF F1EA 401E 2E60 15FA ?7927 142C 2591 94EF D9D8 > I'll be backporting the following in addition to what's already in the 1.6 tree: SystemTap backports mjw did to 1.5: http://icedtea.classpath.org/hg/release/icedtea6-1.5/rev/58b7ae54c4de http://icedtea.classpath.org/hg/release/icedtea6-1.5/rev/397c2dcd4a51 http://icedtea.classpath.org/hg/release/icedtea6-1.5/rev/6bb9237570f2 http://icedtea.classpath.org/hg/release/icedtea6-1.5/rev/292aecacc3f7 http://icedtea.classpath.org/hg/release/icedtea6-1.5/rev/31398144ad0b http://icedtea.classpath.org/hg/release/icedtea6-1.5/rev/ff13d97de406 Rhino fix from 1.7: http://icedtea.classpath.org/hg/release/icedtea6-1.7/rev/6c9f8be2112d http://icedtea.classpath.org/hg/release/icedtea6-1.7/rev/1d8cf45a1b92 http://icedtea.classpath.org/hg/release/icedtea6-1.7/rev/82a1b4fa752e http://icedtea.classpath.org/hg/release/icedtea6-1.7/rev/688aa682ce06 http://icedtea.classpath.org/hg/release/icedtea6-1.7/rev/240dae063336 PulseAudio fixes: http://icedtea.classpath.org/hg/release/icedtea6-1.7/rev/f4d6e5d2be10 http://icedtea.classpath.org/hg/release/icedtea6-1.7/rev/77c3e685bd80 Addition of THANKYOU: http://icedtea.classpath.org/hg/release/icedtea6-1.7/rev/d6610428db7d Stack marking fix: http://icedtea.classpath.org/hg/release/icedtea6-1.5/rev/60f5ceb2ad2e With these and the previously mentioned fixes, it should be a fairly worthwhile release. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From bugzilla-daemon at icedtea.classpath.org Wed Mar 17 15:23:33 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 17 Mar 2010 22:23:33 +0000 Subject: [Bug 453] OpenJDK does not resolve permissions correctly Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=453 dbhole at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at icedtea.classpath|dbhole at redhat.com |.org | ------- Comment #3 from dbhole at redhat.com 2010-03-17 22:23 ------- (In reply to comment #2) > 'we don't'? Which part of this do we implement? I thought this was an OpenJDK > issue? > There is no problem within IcedTea. I don't have an upstream account (hence the comment that it is an upstream bug and that this is a placeholder). I am still waiting for a confirmation of registration from upstream. Once I have filed it there, I will link this to that. Depending on how long it takes to fix upstream, we may have to temporarily patch it in IcedTea first. Assigning to myself for now. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. You are the assignee for the bug, or are watching the assignee. From ahughes at redhat.com Thu Mar 18 07:50:48 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Thu, 18 Mar 2010 14:50:48 +0000 Subject: /hg/icedtea6: Updates for Hitachi SH In-Reply-To: References: Message-ID: <17c6771e1003180750p163be3a3h5c102c563df87739@mail.gmail.com> On 17 March 2010 14:00, wrote: > changeset 6140e5b242ab in /hg/icedtea6 > details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=6140e5b242ab > author: doko at ubuntu.com > date: Wed Mar 17 14:39:47 2010 +0100 > > ? ? ? ?Updates for Hitachi SH > > ? ? ? ?2010-03-17 Nobuhiro Iwamatsu > > ? ? ? ? * acinclude.m4 (IT_SET_ARCH_SETTINGS): Define architecture > ? ? ? ?as sh for all sh* variants. > ? ? ? ? ? ? ? ?* patches/icedtea-sh4-support.patch: Likewise. > Please make sure new patches are documented on http://icedtea.classpath.org/wiki/IcedTea_JDK6_Patches. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From andrew at icedtea.classpath.org Thu Mar 18 08:01:26 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 18 Mar 2010 15:01:26 +0000 Subject: /hg/release/icedtea6-1.6: 16 new changesets Message-ID: changeset d7a1543dcb1e in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=d7a1543dcb1e author: Andrew John Hughes date: Wed Mar 17 16:48:26 2010 +0000 Update NEWS and bump version to 1.6.3. 2010-03-17 Andrew John Hughes * NEWS: Update for 1.6.3. * configure.ac: Bump to 1.6.3. changeset bd932bfc5a03 in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=bd932bfc5a03 author: doko at ubuntu.com date: Thu Aug 27 17:48:27 2009 +0200 2009-08-27 Kees Cook * patches/hotspot/default/icedtea-gcc-stack-markings.patch: New. Adding stack markings to the x86 assembly for not using executable stack. changeset f734c3dcd1a0 in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=f734c3dcd1a0 author: Andrew John Hughes date: Wed Mar 17 22:12:42 2010 +0000 Remove unnecessary use of $(abs_top_builddir)/rt in rt-source- files.txt. 2010-03-17 Andrew John Hughes * Makefile.am: (rt-source-files.txt): Don't search $(abs_top_builddir)/rt; this is only ever going to either do nothing (due to srcdir=builddir or not builddir/rt as is the usual case) or produce duplicates. changeset 5cfd9324c1b7 in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=5cfd9324c1b7 author: Mark Wielaard date: Wed Oct 14 15:42:32 2009 +0200 Enable systemtap JNI tracing. 2009-10-14 Mark Wielaard * configure.ac: When enabling systemtap support check sys/sdt.h and g++ are recent enough to allow probes in class constructors and destructors. * patches/icedtea-systemtap.patch: Enable compiling probes in jni.cpp. Rewrite SetField and SetStaticField macros to use DTRACE_PROBE interface directly instead of generating dtrace implementation calls. Clean up dtrace.hpp. * tapset/hotspot.stp.in: Enable hotspot.monitor_notify. Fix up comments. changeset 4ed9452515ba in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=4ed9452515ba author: Mark Wielaard date: Mon Oct 19 21:23:00 2009 +0200 JNI GetObjectArrayElement mark probe ret value shadowed. 2009-10-19 Mark Wielaard * patches/icedtea-systemtap.patch: Add fix for GetObjectArrayElement return probe ret value. changeset 3786ee25cc7b in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=3786ee25cc7b author: Mark Wielaard date: Mon Oct 19 21:49:33 2009 +0200 Fix JNI DEFINE_NEWSCALARARRAY usage of DT_RETURN_MARK_DECL_FOR. 2009-10-19 Mark Wielaard * patches/icedtea-systemtap.patch: Add fix for JNI DEFINE_NEWSCALARARRAY uses DT_RETURN_MARK_DECL_FOR. changeset c399646ec5d7 in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=c399646ec5d7 author: Andrew John Hughes date: Thu Mar 18 14:33:23 2010 +0000 Add hotspot_jni tapset. 2009-10-19 Mark Wielaard * tapset/hotspot_jni.stp.in: New tapset. * scripts/jni_create_stap.c: New file. * scripts/jni_desc: Likewise. * configure.ac (AC_CONFIG_FILES): Add tapset/hotspot_jni.stp. * Makefile.am (EXTRA_DIST): Add tapsets and scripts. (stamps/icedtea.stamp): Handle tapset/hotspot_jni.stp.in. (stamps/icedtea-debug.stamp): Likewise. changeset a0add50b9ca9 in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=a0add50b9ca9 author: Mark Wielaard date: Tue Oct 13 11:13:46 2009 +0200 tapsets/hotspot.stp.in (hotspot.gc_end): Match gc__end, not begin. changeset 969edf771286 in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=969edf771286 author: Mark Wielaard date: Sun Dec 13 22:32:25 2009 +0100 Add systemtap jstack support. * Makefile.am (stamps/icedtea.stamp): Install jstack.stp. (stamps /icedtea-debug.stamp): Likewise. * configure.ac (AC_CONFIG_FILES): Add tapset/jstack.stp. * tapset/jstack.stp.in: New tapset. changeset 52fd6360b0ef in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=52fd6360b0ef author: Andrew John Hughes date: Thu Mar 18 14:50:14 2010 +0000 Corrected Pulse Audio library build on PPC32 and PPC64 2010-03-10 Pavel Tisnovsky * Makefile.am: Corrected Pulse Audio library build on PPC32 and PPC64 changeset 5d2b941b522e in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=5d2b941b522e author: Andrew John Hughes date: Mon Feb 15 17:25:12 2010 +0000 Add class file rewriter which will be used to solve the Rhino issue: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=179 once hooked into the build. 2010-02-15 Andrew John Hughes * rewriter/agpl-3.0.txt, * rewriter/com/redhat/rewriter/ClassRewriter.java: Add class rewriter for fixing Rhino classes to use the com.sun.org.mozilla namespace, along with corresponding license. changeset 9ad8a3d44a67 in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=9ad8a3d44a67 author: Andrew John Hughes date: Thu Mar 18 14:56:35 2010 +0000 Fix a number of issues and enable the Rhino rewriter in the build. 2010-02-17 Andrew John Hughes PR icedtea/179 * ChangeLog: Remove rogue whitespace highlighted by emacs. * Makefile.am: (REWRITER_SRCS): Sources for class file rewriter. Only set RHINO_JAR when WITH_RHINO is set. Point to rewritten JAR file in build directory. Add rewriter and license to EXTRA_DIST. Make icedtea, icedtea-debug and icedtea-ecj depend on rewrite-rhino.stamp. (stamps/rewriter.stamp): Build the class file rewriter. (stamps/rewrite-rhino.stamp): Rewrite the system Rhino JAR file to use the sun.org.mozilla namespace to avoid conflicts. (rewriter): New alias for stamps/rewriter.stamp. (rewrite- rhino): Likewise for stamps/rewrite-rhino.stamp. * patches/icedtea-rhino.patch: Copy rather than symlink the JAR file. Only drop the internal suffix on the javascript package names. * rewriter/com/redhat/rewriter/ClassRewriter.java: (executor): Use a single threaded executor when debugging is enabled. (tasks): Store the Futures returned by the executor for later checking. (main(String[])): Log what happens when processFile returns and handle any exceptions using Futures. (call()): Ensure srcDir/destDir replacement always matches with a trailing slash to avoid odd rewrites. Loop directory creation to avoid possible race issues. Increase logging and fix a number of issues with the rewrite: * Fix off-by-one loop bug so final entry is inspected. * Handle double entries which occur with 8-byte entries (doubles and longs): http://java.sun.com/docs/books/jvms/sec ond_edition/html/ClassFile.doc.html#16628 changeset 0fe3a89b2dfb in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=0fe3a89b2dfb author: Andrew John Hughes date: Fri Feb 19 14:19:25 2010 +0000 Make sure the RHINO_JAR variable always refers to a valid file. 2010-02-19 Andrew John Hughes * acinclude.m4: (FIND_RHINO_JAR): Clear RHINO_JAR variable if it still contains "no" at the end of the macro. changeset 017e76a6cef2 in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=017e76a6cef2 author: Andrew John Hughes date: Wed Feb 24 20:56:59 2010 +0000 Use full path to jar application when rewriting Rhino files. 2010-02-24 Andrew John Hughes * Makefile.am: (rewrite-rhino.stamp): Use full path to jar application to avoid relying on the one on the path. changeset 065f8d5c9ce8 in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=065f8d5c9ce8 author: Andrew John Hughes date: Wed Feb 24 23:30:18 2010 +0000 Ensure THANKYOU is distributed in the tarball. Remove duplicate AUTHORS file. 2010-02-24 Andrew John Hughes * Makefile.am: Add THANKYOU to EXTRA_DIST. * pulseaudio/AUTHORS: Removed; duplicates top-level file. changeset 47a2b1b5ef65 in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=47a2b1b5ef65 author: Andrew John Hughes date: Mon Mar 01 15:26:06 2010 +0000 Explicitly create destination directory for Rhino as Sun's javac doesn't. 2010-02-17 Andrew John Hughes * Makefile.am: (rewriter.stamp): Explicitly create destination directory as Sun's javac doesn't. diffstat: 16 files changed, 10876 insertions(+), 64 deletions(-) ChangeLog | 139 Makefile.am | 106 NEWS | 8 acinclude.m4 | 4 configure.ac | 41 patches/hotspot/default/icedtea-gcc-stack-markings.patch | 14 patches/icedtea-rhino.patch | 20 patches/icedtea-systemtap.patch | 90 pulseaudio/AUTHORS | 5 rewriter/agpl-3.0.txt | 661 + rewriter/com/redhat/rewriter/ClassRewriter.java | 293 scripts/jni_create_stap.c | 190 scripts/jni_desc | 1471 ++ tapset/hotspot.stp.in | 11 tapset/hotspot_jni.stp.in | 7384 ++++++++++++++ tapset/jstack.stp.in | 503 diffs (truncated from 11302 to 500 lines): diff -r 833ee1f40cf8 -r 47a2b1b5ef65 ChangeLog --- a/ChangeLog Thu Mar 11 23:34:09 2010 +0000 +++ b/ChangeLog Mon Mar 01 15:26:06 2010 +0000 @@ -1,3 +1,142 @@ 2010-03-11 Andrew John Hughes + + * Makefile.am: + (rewriter.stamp): Explicitly create destination + directory as Sun's javac doesn't. + +2010-02-24 Andrew John Hughes + + * Makefile.am: Add THANKYOU to + EXTRA_DIST. + * pulseaudio/AUTHORS: Removed; duplicates + top-level file. + +2010-02-24 Andrew John Hughes + + * Makefile.am: + (rewrite-rhino.stamp): Use full path to + jar application to avoid relying on the one + on the path. + +2010-02-19 Andrew John Hughes + + * acinclude.m4: + (FIND_RHINO_JAR): Clear RHINO_JAR variable + if it still contains "no" at the end of the + macro. + +2010-02-17 Andrew John Hughes + + PR icedtea/179 + * ChangeLog: Remove rogue whitespace highlighted + by emacs. + * Makefile.am: + (REWRITER_SRCS): Sources for class file rewriter. + Only set RHINO_JAR when WITH_RHINO is set. Point + to rewritten JAR file in build directory. Add + rewriter and license to EXTRA_DIST. Make icedtea, + icedtea-debug and icedtea-ecj depend on rewrite-rhino.stamp. + (stamps/rewriter.stamp): Build the class file rewriter. + (stamps/rewrite-rhino.stamp): Rewrite the system Rhino JAR + file to use the sun.org.mozilla namespace to avoid conflicts. + (rewriter): New alias for stamps/rewriter.stamp. + (rewrite-rhino): Likewise for stamps/rewrite-rhino.stamp. + * patches/icedtea-rhino.patch: + Copy rather than symlink the JAR file. Only drop the + internal suffix on the javascript package names. + * rewriter/com/redhat/rewriter/ClassRewriter.java: + (executor): Use a single threaded executor when + debugging is enabled. + (tasks): Store the Futures returned by the executor + for later checking. + (main(String[])): Log what happens when processFile + returns and handle any exceptions using Futures. + (call()): Ensure srcDir/destDir replacement always + matches with a trailing slash to avoid odd rewrites. + Loop directory creation to avoid possible race issues. + Increase logging and fix a number of issues with the rewrite: + * Fix off-by-one loop bug so final entry is inspected. + * Handle double entries which occur with 8-byte entries + (doubles and longs): + http://java.sun.com/docs/books/jvms/second_edition/html/ClassFile.doc.html#16628 + +2010-02-15 Andrew John Hughes + + * rewriter/agpl-3.0.txt, + * rewriter/com/redhat/rewriter/ClassRewriter.java: + Add class rewriter for fixing Rhino classes + to use the com.sun.org.mozilla namespace, + along with corresponding license. + +2010-03-10 Pavel Tisnovsky + + * Makefile.am: Corrected Pulse Audio + library build on PPC32 and PPC64 + +2010-03-17 Andrew John Hughes + + * Makefile.am: + (rt-source-files.txt): Don't search + $(abs_top_builddir)/rt; this is only + ever going to either do nothing (due + to srcdir=builddir or not builddir/rt + as is the usual case) or produce + duplicates. + +2009-08-27 Kees Cook + + * patches/hotspot/default/icedtea-gcc-stack-markings.patch: New. + Adding stack markings to the x86 assembly for not using executable + stack. + +2009-10-14 Mark Wielaard + + * configure.ac: When enabling systemtap support check sys/sdt.h + and g++ are recent enough to allow probes in class constructors + and destructors. + * patches/icedtea-systemtap.patch: Enable compiling probes in + jni.cpp. Rewrite SetField and SetStaticField macros + to use DTRACE_PROBE interface directly instead of generating + dtrace implementation calls. Clean up dtrace.hpp. + * tapset/hotspot.stp.in: Enable hotspot.monitor_notify. Fix up + comments. + +2009-12-13 Mark Wielaard + + * Makefile.am (stamps/icedtea.stamp): Install jstack.stp. + (stamps/icedtea-debug.stamp): Likewise. + * configure.ac (AC_CONFIG_FILES): Add tapset/jstack.stp. + * tapset/jstack.stp.in: New tapset. + +2009-10-13 Mark Wielaard + + * tapsets/hotspot.stp.in (hotspot.gc_end): Match gc__end, not begin. + +2009-10-19 Mark Wielaard + + * tapset/hotspot_jni.stp.in: New tapset. + * scripts/jni_create_stap.c: New file. + * scripts/jni_desc: Likewise. + * configure.ac (AC_CONFIG_FILES): Add tapset/hotspot_jni.stp. + * Makefile.am (EXTRA_DIST): Add tapsets and scripts. + (stamps/icedtea.stamp): Handle tapset/hotspot_jni.stp.in. + (stamps/icedtea-debug.stamp): Likewise. + +2009-10-19 Mark Wielaard + + * patches/icedtea-systemtap.patch: Add fix for JNI + DEFINE_NEWSCALARARRAY uses DT_RETURN_MARK_DECL_FOR. + +2009-10-19 Mark Wielaard + + * patches/icedtea-systemtap.patch: Add fix for GetObjectArrayElement + return probe ret value. + +2010-03-17 Andrew John Hughes + + * NEWS: Update for 1.6.3. + * configure.ac: Bump to 1.6.3. + 2010-03-11 Andrew John Hughes * acinclude.m4: diff -r 833ee1f40cf8 -r 47a2b1b5ef65 Makefile.am --- a/Makefile.am Thu Mar 11 23:34:09 2010 +0000 +++ b/Makefile.am Mon Mar 01 15:26:06 2010 +0000 @@ -112,7 +112,14 @@ EXTRA_DIST = rt generated \ plugin \ hotspot.map \ autogen.sh \ - mkbc.c + mkbc.c \ + tapset/hotspot.stp.in \ + tapset/hotspot_jni.stp.in \ + scripts/jni_create_stap.c \ + scripts/jni_desc \ + rewriter/agpl-3.0.txt \ + $(REWRITER_SRCS) \ + THANKYOU # The Binary plugs directory is called jdk1.7.0 for historical reasons. The # name is completely irrelevant; only contains the plugs to build IcedTea. @@ -186,7 +193,6 @@ ICEDTEA_ENV = \ ALT_PARALLEL_COMPILE_JOBS="$(PARALLEL_JOBS)" \ HOTSPOT_BUILD_JOBS="$(PARALLEL_JOBS)" \ JAVAC="" \ - RHINO_JAR="$(RHINO_JAR)" \ DISTRIBUTION_ID="$(DIST_ID)" if WITH_CACAO @@ -219,6 +225,11 @@ env: env: @echo 'unset JAVA_HOME' @echo 'export $(ICEDTEA_ENV)' + +if WITH_RHINO +ICEDTEA_ENV += \ + RHINO_JAR="$(abs_top_builddir)/rhino/rhino.jar" +endif # OpenJDK ecj build environment. ICEDTEA_BUILD_DIR_ECJ = \ @@ -267,7 +278,6 @@ ICEDTEA_ENV_ECJ = \ ALT_PARALLEL_COMPILE_JOBS="$(PARALLEL_JOBS)" \ HOTSPOT_BUILD_JOBS="$(PARALLEL_JOBS)" \ JAVAC="" \ - RHINO_JAR="$(RHINO_JAR)" \ JAR_KNOWS_ATFILE="$(JAR_KNOWS_ATFILE)" \ JAR_KNOWS_J_OPTIONS="$(JAR_KNOWS_J_OPTIONS)" \ JAR_ACCEPTS_STDIN_LIST="$(JAR_ACCEPTS_STDIN_LIST)" @@ -292,6 +302,11 @@ ICEDTEA_ENV_ECJ += \ ICEDTEA_ENV_ECJ += \ CROSS_COMPILATION="true" \ CROSS_TARGET_ARCH="$(CROSS_TARGET_ARCH)" +endif + +if WITH_RHINO +ICEDTEA_ENV_ECJ += \ + RHINO_JAR="$(abs_top_builddir)/rhino/rhino.jar" endif env-ecj: @@ -729,6 +744,7 @@ ICEDTEA_PATCHES += \ patches/hotspot/$(HSBUILD)/icedtea-explicit-target-arch.patch \ patches/openjdk/6648816.patch \ patches/openjdk/oj100103-debugger-socket-overflow.patch \ + patches/hotspot/$(HSBUILD)/icedtea-gcc-stack-markings.patch \ $(DISTRIBUTION_PATCHES) stamps/extract.stamp: stamps/download.stamp @@ -1157,7 +1173,8 @@ stamps/icedtea.stamp: stamps/bootstrap-d stamps/ports.stamp stamps/patch.stamp stamps/overlay.stamp \ $(ICEDTEAPLUGIN_TARGET) $(ICEDTEANPPLUGIN_TARGET) \ extra-lib/about.jar stamps/cacao.stamp stamps/visualvm.stamp \ - stamps/pulse-java.stamp $(ZERO_ASM_BC_ASM_COND) + stamps/pulse-java.stamp $(ZERO_ASM_BC_ASM_COND) \ + stamps/rewrite-rhino.stamp $(ARCH_PREFIX) $(MAKE) \ $(ICEDTEA_ENV) \ -C openjdk \ @@ -1228,10 +1245,17 @@ if ENABLE_SYSTEMTAP sed -e '/\/client\/libjvm.so/d' \ < $(abs_top_builddir)/tapset/hotspot.stp \ > $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot.stp; \ + sed -e '/\/client\/libjvm.so/d' \ + < $(abs_top_builddir)/tapset/hotspot_jni.stp \ + > $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot_jni.stp; \ else \ cp $(abs_top_builddir)/tapset/hotspot.stp \ $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot.stp; \ - fi + cp $(abs_top_builddir)/tapset/hotspot_jni.stp \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot_jni.stp; \ + fi; \ + cp $(abs_top_builddir)/tapset/jstack.stp \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset/jstack.stp endif @echo "IcedTea is served:" $(BUILD_OUTPUT_DIR) mkdir -p stamps @@ -1242,7 +1266,8 @@ stamps/icedtea-debug.stamp: stamps/boots stamps/ports.stamp stamps/patch.stamp stamps/overlay.stamp \ $(ICEDTEAPLUGIN_TARGET) $(ICEDTEANPPLUGIN_TARGET) \ extra-lib/about.jar stamps/cacao.stamp stamps/visualvm.stamp \ - stamps/pulse-java.stamp $(ZERO_ASM_BC_ASM_COND) + stamps/pulse-java.stamp $(ZERO_ASM_BC_ASM_COND) \ + stamps/rewrite-rhino.stamp $(ARCH_PREFIX) $(MAKE) \ $(ICEDTEA_ENV) \ -C openjdk \ @@ -1313,10 +1338,17 @@ if ENABLE_SYSTEMTAP sed -e '/\/client\/libjvm.so/d' \ < $(abs_top_builddir)/tapset/hotspot.stp \ > $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot.stp; \ + sed -e '/\/client\/libjvm.so/d' \ + < $(abs_top_builddir)/tapset/hotspot_jni.stp \ + > $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot_jni.stp; \ else \ cp $(abs_top_builddir)/tapset/hotspot.stp \ $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot.stp; \ - fi + cp $(abs_top_builddir)/tapset/hotspot_jni.stp \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot_jni.stp; \ + fi; \ + cp $(abs_top_builddir)/tapset/jstack.stp \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset/jstack.stp endif @echo "IcedTea (debug build) is served:" \ $(BUILD_OUTPUT_DIR)-debug @@ -1355,7 +1387,7 @@ stamps/icedtea-ecj.stamp: stamps/bootstr stamps/icedtea-ecj.stamp: stamps/bootstrap-directory-symlink-ecj.stamp \ stamps/hotspot-tools.stamp stamps/plugs.stamp \ stamps/ports-ecj.stamp stamps/patch-ecj.stamp stamps/cacao.stamp \ - $(ZERO_ASM_BC_ASM_COND) + $(ZERO_ASM_BC_ASM_COND) stamps/rewrite-rhino.stamp $(ARCH_PREFIX) $(MAKE) \ $(ICEDTEA_ENV_ECJ) \ -C openjdk-ecj/ \ @@ -1555,7 +1587,7 @@ bootstrap/jdk1.7.0/jre/lib/tools.jar: st # rt-closed.jar class files. rt-source-files.txt: stamps/replace-hotspot.stamp stamps/copy-source-files.stamp - find $(abs_top_srcdir)/rt $(abs_top_builddir)/rt $(LIVECONNECT_SRCS) -name '*.java' \ + find $(abs_top_srcdir)/rt $(LIVECONNECT_SRCS) -name '*.java' \ | sort -u > $@ stamps/rt-class-files.stamp: rt-source-files.txt @@ -1744,13 +1776,13 @@ endif stamps/pulse-java.stamp: stamps/pulse-java-jar.stamp stamps/pulse-java-headers.stamp if ENABLE_PULSE_JAVA - $(CC) $(CFLAGS) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include $(PULSE_JAVA_NATIVE_SRCDIR)/jni-common.c - $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_EventLoop.c - $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_Operation.c - $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_Stream.c - $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_PulseAudioSourcePort.c - $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_PulseAudioTargetPort.c - $(CC) $(LDFLAGS) -shared org_*pulseaudio*.o jni-common.o $(LIBPULSE_LIBS) -o libpulse-java.so + $(CC) $(CFLAGS) $(ZERO_ARCHFLAG) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include $(PULSE_JAVA_NATIVE_SRCDIR)/jni-common.c + $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) $(ZERO_ARCHFLAG) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_EventLoop.c + $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) $(ZERO_ARCHFLAG) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_Operation.c + $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) $(ZERO_ARCHFLAG) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_Stream.c + $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) $(ZERO_ARCHFLAG) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_PulseAudioSourcePort.c + $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) $(ZERO_ARCHFLAG) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_PulseAudioTargetPort.c + $(CC) $(LDFLAGS) $(ZERO_ARCHFLAG) -shared org_*pulseaudio*.o jni-common.o $(LIBPULSE_LIBS) -o libpulse-java.so mv org_classpath_icedtea_pulseaudio_*.o $(PULSE_JAVA_CLASS_DIR) mv jni-common.o $(PULSE_JAVA_CLASS_DIR) endif @@ -2025,6 +2057,41 @@ jtregcheck: jtreg check-hotspot check-la check-local: jtregcheck +# Rhino support + +stamps/rewriter.stamp: $(INITIAL_BOOTSTRAP_LINK_STAMP) +if WITH_RHINO + mkdir -p $(abs_top_builddir)/rewriter + (cd $(abs_top_srcdir)/rewriter ; \ + $(ICEDTEA_BOOT_DIR)/bin/javac -g \ + -d $(abs_top_builddir)/rewriter $(REWRITER_SRCS) \ + ) +endif + mkdir -p stamps + touch stamps/rewriter.stamp + +stamps/rewrite-rhino.stamp: stamps/rewriter.stamp $(RHINO_JAR) +if WITH_RHINO + mkdir -p rhino/rhino.{old,new} + (cd rhino/rhino.old ; jar xf $(RHINO_JAR)) + $(ICEDTEA_BOOT_DIR)/bin/java -cp $(abs_top_builddir)/rewriter \ + com.redhat.rewriter.ClassRewriter \ + $(abs_top_builddir)/rhino/rhino.old $(abs_top_builddir)/rhino/rhino.new \ + org.mozilla sun.org.mozilla + (cd rhino/rhino.old ; \ + for files in `find -type f -not -name '*.class'` ; do \ + new_file=../rhino.new/`echo $$files|sed -e 's#org#sun/org#'` ; \ + mkdir -p `dirname $$new_file` ; \ + cp -v $$files $$new_file ; \ + sed -ie 's#org\.mozilla#sun.org.mozilla#g' $$new_file ; \ + done \ + ) + (cd rhino/rhino.new ; \ + $(ICEDTEA_BOOT_DIR)/bin/jar cfm ../rhino.jar META-INF/MANIFEST.MF sun ) +endif + mkdir -p stamps + touch stamps/rewrite-rhino.stamp + # VisualVM stamps/visualvm.stamp: $(BOOTSTRAP_DIRECTORY_STAMP) stamps/download.stamp \ @@ -2084,6 +2151,9 @@ dist-openjdk-fsg: stamps/patch-fsg.stamp dist-openjdk-fsg: stamps/patch-fsg.stamp $(ZIP) -r openjdk-fsg-$(OPENJDK_VERSION) openjdk/ +REWRITER_SRCS = $(abs_top_srcdir)/rewriter/com/redhat/rewriter/ClassRewriter.java + + # Target Aliases # =============== @@ -2127,6 +2197,10 @@ patch-fsg: stamps/patch-fsg.stamp overlay: stamps/overlay.stamp +rewriter: stamps/rewriter.stamp + +rewrite-rhino: stamps/rewrite-rhino.stamp + plugs: stamps/plugs.stamp rt-class-files: stamps/rt-class-files.stamp diff -r 833ee1f40cf8 -r 47a2b1b5ef65 NEWS --- a/NEWS Thu Mar 11 23:34:09 2010 +0000 +++ b/NEWS Mon Mar 01 15:26:06 2010 +0000 @@ -1,3 +1,11 @@ New in release 1.6.2 (2009-11-09) +New in release 1.6.3 (2010-03-XX) +- Enable debuginfo for saproc and jsig +- Add missing mkbc.c +- Backport of 6822370: + ReentrantReadWriteLock: threads hung when there are no threads holding onto the lock +- Increase ThreadStackSize by 512kb on 32-bit Zero platforms +- Make the original HotSpot build work for normal builds and disable Zero/Shark builds with it + New in release 1.6.2 (2009-11-09) - Latest security updates: - (CVE-2009-3728) ICC_Profile file existence detection information leak (6631533) diff -r 833ee1f40cf8 -r 47a2b1b5ef65 acinclude.m4 --- a/acinclude.m4 Thu Mar 11 23:34:09 2010 +0000 +++ b/acinclude.m4 Mon Mar 01 15:26:06 2010 +0000 @@ -639,6 +639,10 @@ AC_DEFUN([FIND_RHINO_JAR], fi AC_MSG_RESULT(${RHINO_JAR}) AM_CONDITIONAL(WITH_RHINO, test x"${RHINO_JAR}" != "xno") +dnl Clear RHINO_JAR if it doesn't contain a valid filename + if test x"${RHINO_JAR}" = "xno"; then + RHINO_JAR= + fi AC_SUBST(RHINO_JAR) ]) diff -r 833ee1f40cf8 -r 47a2b1b5ef65 configure.ac --- a/configure.ac Thu Mar 11 23:34:09 2010 +0000 +++ b/configure.ac Mon Mar 01 15:26:06 2010 +0000 @@ -1,4 +1,4 @@ AC_INIT([icedtea6], [1.6.2], [distro-pkg -AC_INIT([icedtea6], [1.6.2], [distro-pkg-dev at openjdk.java.net]) +AC_INIT([icedtea6], [1.6.3], [distro-pkg-dev at openjdk.java.net]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) AC_CONFIG_FILES([Makefile]) @@ -326,6 +326,43 @@ AC_CHECK_HEADER([sys/sdt.h], [SDT_H_FOUN [SDT_H_FOUND='no'; AC_MSG_ERROR([systemtap support needs sys/sdt.h header])]) + AC_MSG_CHECKING([working sys/sdt.h and g++ support]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_LINK_IFELSE([AC_LANG_PROGRAM([[ +#include +class ProbeClass +{ +private: + int& ref; + const char *name; + +public: + ProbeClass(int& v, const char *n) : ref(v), name(n) + { + DTRACE_PROBE2(_test_, cons, name, ref); + } + + void method(int min) + { + DTRACE_PROBE3(_test_, meth, name, ref, min); + ref -= min; + } + + ~ProbeClass() + { + DTRACE_PROBE2(_test_, dest, name, ref); + } +}; +]], +[[ + int i = 64; + DTRACE_PROBE1(_test_, call, i); + ProbeClass inst = ProbeClass(i, "call"); + inst.method(24); +]])], [AC_MSG_RESULT([yes])], [AC_MSG_ERROR([systemtap sdt.h or g++ too old])]) + AC_LANG_RESTORE + AC_MSG_CHECKING([for absolute java home install dir]) AC_ARG_WITH([abs-install-dir], [AS_HELP_STRING([--with-abs-install-dir], @@ -342,6 +379,8 @@ AC_CHECK_HEADER([sys/sdt.h], [SDT_H_FOUN AC_SUBST(ABS_CLIENT_LIBJVM_SO) AC_SUBST(ABS_SERVER_LIBJVM_SO) AC_CONFIG_FILES([tapset/hotspot.stp]) + AC_CONFIG_FILES([tapset/hotspot_jni.stp]) + AC_CONFIG_FILES([tapset/jstack.stp]) fi dnl Check for libpng headers and libraries. diff -r 833ee1f40cf8 -r 47a2b1b5ef65 patches/hotspot/default/icedtea-gcc-stack-markings.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/default/icedtea-gcc-stack-markings.patch Mon Mar 01 15:26:06 2010 +0000 @@ -0,0 +1,14 @@ +--- openjdk/hotspot/src/os_cpu/linux_x86/vm/linux_x86_32.s~ 2009-08-06 01:08:57.000000000 -0700 ++++ openjdk/hotspot/src/os_cpu/linux_x86/vm/linux_x86_32.s 2009-08-06 01:09:27.000000000 -0700 +@@ -650,3 +650,4 @@ _Atomic_cmpxchg_long: + popl %ebx + ret + ++.section .note.GNU-stack, "", @progbits +--- openjdk/hotspot/src/os_cpu/linux_x86/vm/linux_x86_64.s~ 2009-08-06 01:08:57.000000000 -0700 ++++ openjdk/hotspot/src/os_cpu/linux_x86/vm/linux_x86_64.s 2009-08-06 01:09:27.000000000 -0700 +@@ -400,3 +400,4 @@ _Atomic_cmpxchg_long: + addq $4,%rdx + jg 4b + ret ++.section .note.GNU-stack, "", @progbits diff -r 833ee1f40cf8 -r 47a2b1b5ef65 patches/icedtea-rhino.patch --- a/patches/icedtea-rhino.patch Thu Mar 11 23:34:09 2010 +0000 +++ b/patches/icedtea-rhino.patch Mon Mar 01 15:26:06 2010 +0000 @@ -44,7 +44,7 @@ $(CP) $(RT_JAR) $(JRE_IMAGE_DIR)/lib/rt.jar $(CP) $(RESOURCES_JAR) $(JRE_IMAGE_DIR)/lib/resources.jar $(CP) $(JSSE_JAR) $(JRE_IMAGE_DIR)/lib/jsse.jar -+ $(LN) -sf $(RHINO_JAR) $(JRE_IMAGE_DIR)/lib/rhino.jar ++ $(CP) $(RHINO_JAR) $(JRE_IMAGE_DIR)/lib/rhino.jar @# Generate meta-index to make boot and extension class loaders lazier $(CD) $(JRE_IMAGE_DIR)/lib && \ $(BOOT_JAVA_CMD) -jar $(BUILDMETAINDEX_JARFILE) \ @@ -55,7 +55,7 @@ package com.sun.script.javascript; -import sun.org.mozilla.javascript.internal.*; -+import org.mozilla.javascript.*; ++import sun.org.mozilla.javascript.*; From ptisnovs at redhat.com Thu Mar 18 10:25:25 2010 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Thu, 18 Mar 2010 18:25:25 +0100 Subject: /hg/icedtea6: Updates for Hitachi SH In-Reply-To: <17c6771e1003180750p163be3a3h5c102c563df87739@mail.gmail.com> References: <17c6771e1003180750p163be3a3h5c102c563df87739@mail.gmail.com> Message-ID: <4BA26205.4000206@redhat.com> Andrew John Hughes wrote: > On 17 March 2010 14:00, wrote: >> changeset 6140e5b242ab in /hg/icedtea6 >> details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=6140e5b242ab >> author: doko at ubuntu.com >> date: Wed Mar 17 14:39:47 2010 +0100 >> >> Updates for Hitachi SH >> >> 2010-03-17 Nobuhiro Iwamatsu >> >> * acinclude.m4 (IT_SET_ARCH_SETTINGS): Define architecture >> as sh for all sh* variants. >> * patches/icedtea-sh4-support.patch: Likewise. >> > > Please make sure new patches are documented on > http://icedtea.classpath.org/wiki/IcedTea_JDK6_Patches. Hi, It seems that script openjdk/jdk/make/jdk_generic_profile.sh is patched twice (the same region, the same changes) by icedtea-sh4-support.patch which makes "patch" tool unhappy ;-) May I correct it? Cheers Pavel From ahughes at redhat.com Thu Mar 18 09:27:32 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Thu, 18 Mar 2010 16:27:32 +0000 Subject: /hg/icedtea6: Updates for Hitachi SH In-Reply-To: <4BA26205.4000206@redhat.com> References: <17c6771e1003180750p163be3a3h5c102c563df87739@mail.gmail.com> <4BA26205.4000206@redhat.com> Message-ID: <17c6771e1003180927y1695f76ax4b872bddefba514b@mail.gmail.com> On 18 March 2010 17:25, Pavel Tisnovsky wrote: > Andrew John Hughes wrote: >> >> On 17 March 2010 14:00, ? wrote: >>> >>> changeset 6140e5b242ab in /hg/icedtea6 >>> details: >>> http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=6140e5b242ab >>> author: doko at ubuntu.com >>> date: Wed Mar 17 14:39:47 2010 +0100 >>> >>> ? ? ? Updates for Hitachi SH >>> >>> ? ? ? 2010-03-17 Nobuhiro Iwamatsu >>> >>> ? ? ? ?* acinclude.m4 (IT_SET_ARCH_SETTINGS): Define architecture >>> ? ? ? as sh for all sh* variants. >>> ? ? ? ? ? ? ? * patches/icedtea-sh4-support.patch: Likewise. >>> >> >> Please make sure new patches are documented on >> http://icedtea.classpath.org/wiki/IcedTea_JDK6_Patches. > > Hi, > > It seems that script openjdk/jdk/make/jdk_generic_profile.sh is patched > twice (the same region, the same changes) by icedtea-sh4-support.patch which > makes "patch" tool unhappy ;-) > > May I correct it? > > Cheers > Pavel > Feel free. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From gbenson at icedtea.classpath.org Thu Mar 18 09:40:36 2010 From: gbenson at icedtea.classpath.org (gbenson at icedtea.classpath.org) Date: Thu, 18 Mar 2010 16:40:36 +0000 Subject: /hg/icedtea6: Fix an issue with lost asynchronous exceptions Message-ID: changeset f98b3c5d3511 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=f98b3c5d3511 author: Gary Benson date: Thu Mar 18 16:40:26 2010 +0000 Fix an issue with lost asynchronous exceptions diffstat: 2 files changed, 7 insertions(+), 2 deletions(-) ChangeLog | 7 +++++++ ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp | 2 -- diffs (33 lines): diff -r 675790fd9029 -r f98b3c5d3511 ChangeLog --- a/ChangeLog Wed Mar 17 14:47:18 2010 +0100 +++ b/ChangeLog Thu Mar 18 16:40:26 2010 +0000 @@ -1,3 +1,10 @@ 2010-03-17 Nobuhiro Iwamatsu + + * ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp + (CppInterpreter::native_entry): Remove unnecessary calls to + JavaThread::set_do_not_unlock and JavaThread::clr_do_not_unlock, + fixing an issue that caused asynchronous exceptions to be lost. + 2010-03-17 Nobuhiro Iwamatsu * acinclude.m4 (IT_SET_ARCH_SETTINGS): Define architecture as sh diff -r 675790fd9029 -r f98b3c5d3511 ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp --- a/ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp Wed Mar 17 14:47:18 2010 +0100 +++ b/ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp Thu Mar 18 16:40:26 2010 +0000 @@ -206,7 +206,6 @@ void CppInterpreter::native_entry(method // Update the invocation counter if ((UseCompiler || CountCompiledCalls) && !method->is_synchronized()) { - thread->set_do_not_unlock(); InvocationCounter *counter = method->invocation_counter(); counter->increment(); if (counter->reached_InvocationLimit()) { @@ -215,7 +214,6 @@ void CppInterpreter::native_entry(method if (HAS_PENDING_EXCEPTION) goto unwind_and_return; } - thread->clr_do_not_unlock(); } // Lock if necessary From ptisnovs at redhat.com Thu Mar 18 11:00:49 2010 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Thu, 18 Mar 2010 19:00:49 +0100 Subject: New regression test for IcedTea Message-ID: <4BA26A51.6080400@redhat.com> Hi, is it possible to push this patch to IcedTea6 repository? It's new regression test which check if cacert file is created correctly. I think this patch should be backported also to icedtea6-1.6 and icedtea6-1.7 because it is unlikely it break anything :-) and it is quite important. Cheers Pavel Tisnovsky -------------- next part -------------- A non-text attachment was scrubbed... Name: icedtea-jtreg-httpTest.patch Type: text/x-patch Size: 1473 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100318/2f035647/icedtea-jtreg-httpTest.patch From ahughes at redhat.com Thu Mar 18 10:08:51 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Thu, 18 Mar 2010 17:08:51 +0000 Subject: New regression test for IcedTea In-Reply-To: <4BA26A51.6080400@redhat.com> References: <4BA26A51.6080400@redhat.com> Message-ID: <17c6771e1003181008n7e4f8cbfhead69c400a1bb5b2@mail.gmail.com> On 18 March 2010 18:00, Pavel Tisnovsky wrote: > Hi, > > is it possible to push this patch to IcedTea6 repository? It's new > regression test which check if cacert file is created correctly. > > I think this patch should be backported also to icedtea6-1.6 and > icedtea6-1.7 because it is unlikely it break anything :-) and it is quite > important. > > Cheers > Pavel Tisnovsky > You'll need to actually apply it in the Makefile.am. But otherwise fine. I'll backport it to 1.6 and 1.7. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From ptisnovs at icedtea.classpath.org Thu Mar 18 10:28:31 2010 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 18 Mar 2010 17:28:31 +0000 Subject: /hg/icedtea6: Added new regression test to check if the cacerts ... Message-ID: changeset 5a761c257361 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=5a761c257361 author: Pavel Tisnovsky date: Thu Mar 18 19:27:35 2010 +0100 Added new regression test to check if the cacerts keytool database is configured and created properly and if SSL is really working. diffstat: 3 files changed, 45 insertions(+), 1 deletion(-) ChangeLog | 6 +++++ Makefile.am | 3 +- patches/icedtea-jtreg-httpTest.patch | 37 ++++++++++++++++++++++++++++++++++ diffs (67 lines): diff -r f98b3c5d3511 -r 5a761c257361 ChangeLog --- a/ChangeLog Thu Mar 18 16:40:26 2010 +0000 +++ b/ChangeLog Thu Mar 18 19:27:35 2010 +0100 @@ -1,3 +1,9 @@ 2010-03-18 Gary Benson + + * patches/icedtea-jtreg-httpTest.patch: new regression test + to check if the cacerts keytool database is configured and + created properly and if SSL is really working. + 2010-03-18 Gary Benson * ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp diff -r f98b3c5d3511 -r 5a761c257361 Makefile.am --- a/Makefile.am Thu Mar 18 16:40:26 2010 +0000 +++ b/Makefile.am Thu Mar 18 19:27:35 2010 +0100 @@ -298,7 +298,8 @@ ICEDTEA_PATCHES = \ patches/libpng.patch \ patches/extensions/netx.patch \ patches/extensions/netx-dist.patch \ - patches/extensions/netx-umask.patch + patches/extensions/netx-umask.patch \ + patches/icedtea-jtreg-httpTest.patch if WITH_RHINO ICEDTEA_PATCHES += \ diff -r f98b3c5d3511 -r 5a761c257361 patches/icedtea-jtreg-httpTest.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-jtreg-httpTest.patch Thu Mar 18 19:27:35 2010 +0100 @@ -0,0 +1,37 @@ +--- /dev/null 2010-03-18 17:24:04.000000000 +0100 ++++ openjdk/jdk/test/java/net/URL/TestHttps.java 2010-03-18 17:24:04.000000000 +0100 +@@ -0,0 +1,34 @@ ++/* ++ * Copyright 2010 Red Hat, Inc. 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 ++ * under the terms of the GNU General Public License version 2 only, as ++ * published by the Free Software Foundation. ++ * ++ * This code is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ++ * version 2 for more details (a copy is included in the LICENSE file that ++ * accompanied this code). ++ * ++ * You should have received a copy of the GNU General Public License version ++ * 2 along with this work; if not, write to the Free Software Foundation, ++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. ++ */ ++ ++ ++/* @test ++ * @summary This test check if the cacerts keytool database is configured properly and SSL is really working. The test should not fail if SSL is working. ++ */ ++ ++import java.io.IOException; ++ ++import java.net.URL; ++import java.net.URLConnection; ++ ++public class TestHttps { ++ public static void main(String[] args) throws IOException { ++ new URL("https://www.verisign.com/").openConnection().connect(); ++ } ++} From andrew at icedtea.classpath.org Thu Mar 18 11:39:13 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 18 Mar 2010 18:39:13 +0000 Subject: /hg/release/icedtea6-1.6: Unset JAVA_HOME and JDK_HOME to avoid ... Message-ID: changeset e6adbe29b4c4 in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=e6adbe29b4c4 author: Andrew John Hughes date: Thu Mar 18 18:38:59 2010 +0000 Unset JAVA_HOME and JDK_HOME to avoid build failures. 2009-08-25 Andrew John Hughes * Makefile.am: Unset JAVA_HOME and JDK_HOME before building. diffstat: 2 files changed, 9 insertions(+) ChangeLog | 5 +++++ Makefile.am | 4 ++++ diffs (33 lines): diff -r 47a2b1b5ef65 -r e6adbe29b4c4 ChangeLog --- a/ChangeLog Mon Mar 01 15:26:06 2010 +0000 +++ b/ChangeLog Thu Mar 18 18:38:59 2010 +0000 @@ -1,3 +1,8 @@ 2010-02-17 Andrew John Hughes + + * Makefile.am: + Unset JAVA_HOME and JDK_HOME before building. + 2010-02-17 Andrew John Hughes * Makefile.am: diff -r 47a2b1b5ef65 -r e6adbe29b4c4 Makefile.am --- a/Makefile.am Mon Mar 01 15:26:06 2010 +0000 +++ b/Makefile.am Thu Mar 18 18:38:59 2010 +0000 @@ -193,6 +193,8 @@ ICEDTEA_ENV = \ ALT_PARALLEL_COMPILE_JOBS="$(PARALLEL_JOBS)" \ HOTSPOT_BUILD_JOBS="$(PARALLEL_JOBS)" \ JAVAC="" \ + JAVA_HOME="" \ + JDK_HOME="" \ DISTRIBUTION_ID="$(DIST_ID)" if WITH_CACAO @@ -278,6 +280,8 @@ ICEDTEA_ENV_ECJ = \ ALT_PARALLEL_COMPILE_JOBS="$(PARALLEL_JOBS)" \ HOTSPOT_BUILD_JOBS="$(PARALLEL_JOBS)" \ JAVAC="" \ + JAVA_HOME="" \ + JDK_HOME="" \ JAR_KNOWS_ATFILE="$(JAR_KNOWS_ATFILE)" \ JAR_KNOWS_J_OPTIONS="$(JAR_KNOWS_J_OPTIONS)" \ JAR_ACCEPTS_STDIN_LIST="$(JAR_ACCEPTS_STDIN_LIST)" From andrew at icedtea.classpath.org Thu Mar 18 11:41:13 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 18 Mar 2010 18:41:13 +0000 Subject: /hg/release/icedtea6-1.6: Added new regression test to check if ... Message-ID: changeset 924928f21072 in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=924928f21072 author: Andrew John Hughes date: Thu Mar 18 18:41:04 2010 +0000 Added new regression test to check if the cacerts keytool database is configured and created properly and if SSL is really working. 2010-03-18 Pavel Tisnovsky * patches/icedtea-jtreg-httpTest.patch: new regression test to check if the cacerts keytool database is configured and created properly and if SSL is really working. diffstat: 3 files changed, 44 insertions(+) ChangeLog | 6 +++++ Makefile.am | 1 patches/icedtea-jtreg-httpTest.patch | 37 ++++++++++++++++++++++++++++++++++ diffs (65 lines): diff -r e6adbe29b4c4 -r 924928f21072 ChangeLog --- a/ChangeLog Thu Mar 18 18:38:59 2010 +0000 +++ b/ChangeLog Thu Mar 18 18:41:04 2010 +0000 @@ -1,3 +1,9 @@ 2009-08-25 Andrew John Hughes + + * patches/icedtea-jtreg-httpTest.patch: new regression test + to check if the cacerts keytool database is configured and + created properly and if SSL is really working. + 2009-08-25 Andrew John Hughes * Makefile.am: diff -r e6adbe29b4c4 -r 924928f21072 Makefile.am --- a/Makefile.am Thu Mar 18 18:38:59 2010 +0000 +++ b/Makefile.am Thu Mar 18 18:41:04 2010 +0000 @@ -749,6 +749,7 @@ ICEDTEA_PATCHES += \ patches/openjdk/6648816.patch \ patches/openjdk/oj100103-debugger-socket-overflow.patch \ patches/hotspot/$(HSBUILD)/icedtea-gcc-stack-markings.patch \ + patches/icedtea-jtreg-httpTest.patch \ $(DISTRIBUTION_PATCHES) stamps/extract.stamp: stamps/download.stamp diff -r e6adbe29b4c4 -r 924928f21072 patches/icedtea-jtreg-httpTest.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-jtreg-httpTest.patch Thu Mar 18 18:41:04 2010 +0000 @@ -0,0 +1,37 @@ +--- /dev/null 2010-03-18 17:24:04.000000000 +0100 ++++ openjdk/jdk/test/java/net/URL/TestHttps.java 2010-03-18 17:24:04.000000000 +0100 +@@ -0,0 +1,34 @@ ++/* ++ * Copyright 2010 Red Hat, Inc. 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 ++ * under the terms of the GNU General Public License version 2 only, as ++ * published by the Free Software Foundation. ++ * ++ * This code is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ++ * version 2 for more details (a copy is included in the LICENSE file that ++ * accompanied this code). ++ * ++ * You should have received a copy of the GNU General Public License version ++ * 2 along with this work; if not, write to the Free Software Foundation, ++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. ++ */ ++ ++ ++/* @test ++ * @summary This test check if the cacerts keytool database is configured properly and SSL is really working. The test should not fail if SSL is working. ++ */ ++ ++import java.io.IOException; ++ ++import java.net.URL; ++import java.net.URLConnection; ++ ++public class TestHttps { ++ public static void main(String[] args) throws IOException { ++ new URL("https://www.verisign.com/").openConnection().connect(); ++ } ++} From andrew at icedtea.classpath.org Thu Mar 18 11:43:11 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 18 Mar 2010 18:43:11 +0000 Subject: /hg/release/icedtea6-1.7: New regression test to check if the ca... Message-ID: changeset 6bd87ceec77a in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=6bd87ceec77a author: Andrew John Hughes date: Thu Mar 18 18:43:01 2010 +0000 New regression test to check if the cacerts keytool database is configured and created properly and if SSL is really working. 2010-03-18 Pavel Tisnovsky * patches/icedtea-jtreg-httpTest.patch: new regression test to check if the cacerts keytool database is configured and created properly and if SSL is really working. diffstat: 3 files changed, 45 insertions(+), 1 deletion(-) ChangeLog | 6 +++++ Makefile.am | 3 +- patches/icedtea-jtreg-httpTest.patch | 37 ++++++++++++++++++++++++++++++++++ diffs (67 lines): diff -r 14faa83266a3 -r 6bd87ceec77a ChangeLog --- a/ChangeLog Thu Mar 11 12:20:10 2010 +0000 +++ b/ChangeLog Thu Mar 18 18:43:01 2010 +0000 @@ -1,3 +1,9 @@ 2010-03-11 Gary Benson + + * patches/icedtea-jtreg-httpTest.patch: new regression test + to check if the cacerts keytool database is configured and + created properly and if SSL is really working. + 2010-03-11 Gary Benson * ports/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp diff -r 14faa83266a3 -r 6bd87ceec77a Makefile.am --- a/Makefile.am Thu Mar 11 12:20:10 2010 +0000 +++ b/Makefile.am Thu Mar 18 18:43:01 2010 +0000 @@ -309,7 +309,8 @@ ICEDTEA_PATCHES = \ patches/icedtea-linux-separate-debuginfo.patch \ patches/icedtea-parisc.patch \ patches/icedtea-sh4-support.patch \ - patches/libpng.patch + patches/libpng.patch \ + patches/icedtea-jtreg-httpTest.patch if WITH_RHINO ICEDTEA_PATCHES += \ diff -r 14faa83266a3 -r 6bd87ceec77a patches/icedtea-jtreg-httpTest.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-jtreg-httpTest.patch Thu Mar 18 18:43:01 2010 +0000 @@ -0,0 +1,37 @@ +--- /dev/null 2010-03-18 17:24:04.000000000 +0100 ++++ openjdk/jdk/test/java/net/URL/TestHttps.java 2010-03-18 17:24:04.000000000 +0100 +@@ -0,0 +1,34 @@ ++/* ++ * Copyright 2010 Red Hat, Inc. 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 ++ * under the terms of the GNU General Public License version 2 only, as ++ * published by the Free Software Foundation. ++ * ++ * This code is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ++ * version 2 for more details (a copy is included in the LICENSE file that ++ * accompanied this code). ++ * ++ * You should have received a copy of the GNU General Public License version ++ * 2 along with this work; if not, write to the Free Software Foundation, ++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. ++ */ ++ ++ ++/* @test ++ * @summary This test check if the cacerts keytool database is configured properly and SSL is really working. The test should not fail if SSL is working. ++ */ ++ ++import java.io.IOException; ++ ++import java.net.URL; ++import java.net.URLConnection; ++ ++public class TestHttps { ++ public static void main(String[] args) throws IOException { ++ new URL("https://www.verisign.com/").openConnection().connect(); ++ } ++} From bugzilla-daemon at icedtea.classpath.org Thu Mar 18 23:05:57 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 19 Mar 2010 06:05:57 +0000 Subject: [Bug 454] New: Jetty running on shark fails in HttpURI.getDecodedPath() Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=454 Summary: Jetty running on shark fails in HttpURI.getDecodedPath() Product: IcedTea Version: 6-hg Platform: ppc OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: Shark AssignedTo: unassigned at icedtea.classpath.org ReportedBy: interface at bitoffice.at Shark fails to jit jetty's org.eclipse.jetty.http.HttpURI.getDecodedPath(). IcedTea6-1.7.1 with shark and llvm-2.6 patched (See icedtea bug 399). Eclipse Jetty 7.0.1 20091125 A workaround is to exclude this method from hotspot compilation. Everything else seems to work fine. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Mar 18 23:06:48 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 19 Mar 2010 06:06:48 +0000 Subject: [Bug 454] Jetty running on shark fails in HttpURI.getDecodedPath() Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=454 ------- Comment #1 from interface at bitoffice.at 2010-03-19 06:06 ------- Created an attachment (id=309) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=309&action=view) fail #1 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Mar 18 23:07:09 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 19 Mar 2010 06:07:09 +0000 Subject: [Bug 454] Jetty running on shark fails in HttpURI.getDecodedPath() Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=454 ------- Comment #2 from interface at bitoffice.at 2010-03-19 06:07 ------- Created an attachment (id=310) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=310&action=view) fail #2 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Mar 18 23:07:45 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 19 Mar 2010 06:07:45 +0000 Subject: [Bug 454] Jetty running on shark fails in HttpURI.getDecodedPath() Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=454 ------- Comment #3 from interface at bitoffice.at 2010-03-19 06:07 ------- Created an attachment (id=311) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=311&action=view) The failing class - classfile -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Mar 18 23:08:56 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 19 Mar 2010 06:08:56 +0000 Subject: [Bug 454] Jetty running on shark fails in HttpURI.getDecodedPath() Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=454 ------- Comment #4 from interface at bitoffice.at 2010-03-19 06:08 ------- The sources for the attached class from eclipse jetty can be found online at http://grepcode.com/file/repo1.maven.org/maven2/org.eclipse.jetty/jetty-http/7.0.1.v20091125/org/eclipse/jetty/http/HttpURI.java#HttpURI.getDecodedPath%28%29 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From ptisnovs at icedtea.classpath.org Fri Mar 19 01:14:35 2010 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 19 Mar 2010 08:14:35 +0000 Subject: /hg/icedtea6: patches/icedtea-sh4-support.patch: removed duplicated Message-ID: changeset 2bf01e9fe8b0 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=2bf01e9fe8b0 author: Pavel Tisnovsky date: Fri Mar 19 10:13:31 2010 +0100 patches/icedtea-sh4-support.patch: removed duplicated lines causing warning message when this patch is applied diffstat: 2 files changed, 5 insertions(+), 18 deletions(-) ChangeLog | 5 +++++ patches/icedtea-sh4-support.patch | 18 ------------------ diffs (40 lines): diff -r 5a761c257361 -r 2bf01e9fe8b0 ChangeLog --- a/ChangeLog Thu Mar 18 19:27:35 2010 +0100 +++ b/ChangeLog Fri Mar 19 10:13:31 2010 +0100 @@ -1,3 +1,8 @@ 2010-03-18 Pavel Tisnovsky + + * patches/icedtea-sh4-support.patch: removed duplicated + lines causing warning message when this patch is applied + 2010-03-18 Pavel Tisnovsky * patches/icedtea-jtreg-httpTest.patch: new regression test diff -r 5a761c257361 -r 2bf01e9fe8b0 patches/icedtea-sh4-support.patch --- a/patches/icedtea-sh4-support.patch Thu Mar 18 19:27:35 2010 +0100 +++ b/patches/icedtea-sh4-support.patch Fri Mar 19 10:13:31 2010 +0100 @@ -96,24 +96,6 @@ endif --- openjdk/jdk/make/jdk_generic_profile.sh 2010-01-19 09:49:57.000000000 +0900 -+++ openjdk/jdk/make/jdk_generic_profile.sh 2010-01-19 21:43:22.000000000 +0900 -@@ -350,13 +350,14 @@ - i?86) ZERO_LIBARCH=i386 ;; - sparc64) ZERO_LIBARCH=sparcv9 ;; - arm*) ZERO_LIBARCH=arm ;; -+ sh*) ZERO_LIBARCH=sh ;; - *) ZERO_LIBARCH="$(arch)" - esac - export ZERO_LIBARCH - - # ARCH_DATA_MODEL is the number of bits in a pointer - case "${ZERO_LIBARCH}" in -- i386|ppc|s390|sparc|arm) -+ i386|ppc|s390|sparc|arm|sh) - ARCH_DATA_MODEL=32 - ;; - amd64|ppc64|s390x|sparcv9|ia64|alpha) ---- openjdk/jdk/make/jdk_generic_profile.sh 2010-01-19 09:49:57.000000000 +0900 +++ openjdk/jdk/make/jdk_generic_profile.sh 2010-01-19 21:44:30.000000000 +0900 @@ -350,13 +350,14 @@ i?86) ZERO_LIBARCH=i386 ;; From bugzilla-daemon at icedtea.classpath.org Fri Mar 19 04:13:07 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 19 Mar 2010 11:13:07 +0000 Subject: [Bug 449] Shark generates bogus phi instruction LLVM IR for java.lang.Shutdown::shutdown Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=449 ------- Comment #2 from gbenson at redhat.com 2010-03-19 11:13 ------- Try this please: http://icedtea.classpath.org/hg/shark/hotspot/rev/bd107babcb0a -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Mar 19 04:46:08 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 19 Mar 2010 11:46:08 +0000 Subject: [Bug 449] Shark generates bogus phi instruction LLVM IR for java.lang.Shutdown::shutdown Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=449 ------- Comment #3 from xerxes at zafena.se 2010-03-19 11:46 ------- Shark runs fine with the patch applied, great! ./java -XX:+PrintCompilation -XX:CompileThreshold=1 -Xbatch -version ... 106 !b java.lang.Shutdown::shutdown (68 bytes) 107 !b java.lang.Shutdown::sequence (57 bytes) 108 !b java.lang.Shutdown::runHooks (54 bytes) ... $ echo $? 0 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Mar 19 04:54:00 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 19 Mar 2010 11:54:00 +0000 Subject: [Bug 449] Shark generates bogus phi instruction LLVM IR for java.lang.Shutdown::shutdown Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=449 ------- Comment #4 from gbenson at redhat.com 2010-03-19 11:53 ------- Awesome. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From andrew at icedtea.classpath.org Fri Mar 19 07:47:25 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 19 Mar 2010 14:47:25 +0000 Subject: /hg/icedtea6: 2 new changesets Message-ID: changeset 2ce1a2c119bb in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=2ce1a2c119bb author: Andrew John Hughes date: Thu Mar 18 21:10:55 2010 +0000 Update NEWS with OpenJDK6 b18 details and plugin/NetX build changes. 2010-03-18 Andrew John Hughes * NEWS: Update for 1.8. List OpenJDK6 b18 features and add further details of plugin/NetX build changes. changeset 3fa0b8d84878 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=3fa0b8d84878 author: Andrew John Hughes date: Fri Mar 19 14:47:16 2010 +0000 Merge diffstat: 3 files changed, 28 insertions(+), 23 deletions(-) ChangeLog | 12 ++++++++++++ NEWS | 21 ++++++++++++++++----- patches/icedtea-sh4-support.patch | 18 ------------------ diffs (78 lines): diff -r 5a761c257361 -r 3fa0b8d84878 ChangeLog --- a/ChangeLog Thu Mar 18 19:27:35 2010 +0100 +++ b/ChangeLog Fri Mar 19 14:47:16 2010 +0000 @@ -1,3 +1,15 @@ 2010-03-18 Pavel Tisnovsky + + * patches/icedtea-sh4-support.patch: removed duplicated + lines causing warning message when this patch is applied + +2010-03-18 Andrew John Hughes + + * NEWS: + Update for 1.8. List OpenJDK6 b18 features + and add further details of plugin/NetX build + changes. + 2010-03-18 Pavel Tisnovsky * patches/icedtea-jtreg-httpTest.patch: new regression test diff -r 5a761c257361 -r 3fa0b8d84878 NEWS --- a/NEWS Thu Mar 18 19:27:35 2010 +0100 +++ b/NEWS Fri Mar 19 14:47:16 2010 +0000 @@ -1,11 +1,22 @@ New in release 1.8 (2010-XX-XX): New in release 1.8 (2010-XX-XX): - Updated to OpenJDK6 b18. -- Removed the Plugin, replaced by the NPPlugin. -Zero/Shark -- Shark is now able to build itself. -- For ARM, add Thumb2 JIT. -- Fixed Shark sharkCompiler mattr memory corruption bug when using llvm 2.7. + - Nimbus Look 'n' Feel backported from OpenJDK7. + - JAXP and JAXWS now external dependencies rather than being in-tree. + - Updated timezone data + - Addition of security updates applied in IcedTea6 1.6.2. + - Many bug fixes: + http://blogs.sun.com/darcy/resource/OpenJDK_6/openjdk6-b18-changes-summary.html +- Old plugin removed; NPPlugin is now the default and is controlled by + --enable/disable-plugin. As with the old plugin, it produces a + IcedTeaPlugin.so library rather than IcedTeaNPPlugin.so. +- Dependence on the binary plugs mechanism removed. The plugin and NetX + code is now imported into the JDK build in the same manner as langtools, + CORBA, JAXP and JAXWS. +- Zero/Shark + - Shark is now able to build itself. + - For ARM, add Thumb2 JIT. + - Fixed Shark sharkCompiler mattr memory corruption bug when using llvm 2.7. New in release 1.7.1 (2010-02-26): diff -r 5a761c257361 -r 3fa0b8d84878 patches/icedtea-sh4-support.patch --- a/patches/icedtea-sh4-support.patch Thu Mar 18 19:27:35 2010 +0100 +++ b/patches/icedtea-sh4-support.patch Fri Mar 19 14:47:16 2010 +0000 @@ -96,24 +96,6 @@ endif --- openjdk/jdk/make/jdk_generic_profile.sh 2010-01-19 09:49:57.000000000 +0900 -+++ openjdk/jdk/make/jdk_generic_profile.sh 2010-01-19 21:43:22.000000000 +0900 -@@ -350,13 +350,14 @@ - i?86) ZERO_LIBARCH=i386 ;; - sparc64) ZERO_LIBARCH=sparcv9 ;; - arm*) ZERO_LIBARCH=arm ;; -+ sh*) ZERO_LIBARCH=sh ;; - *) ZERO_LIBARCH="$(arch)" - esac - export ZERO_LIBARCH - - # ARCH_DATA_MODEL is the number of bits in a pointer - case "${ZERO_LIBARCH}" in -- i386|ppc|s390|sparc|arm) -+ i386|ppc|s390|sparc|arm|sh) - ARCH_DATA_MODEL=32 - ;; - amd64|ppc64|s390x|sparcv9|ia64|alpha) ---- openjdk/jdk/make/jdk_generic_profile.sh 2010-01-19 09:49:57.000000000 +0900 +++ openjdk/jdk/make/jdk_generic_profile.sh 2010-01-19 21:44:30.000000000 +0900 @@ -350,13 +350,14 @@ i?86) ZERO_LIBARCH=i386 ;; From dbhole at icedtea.classpath.org Fri Mar 19 08:31:23 2010 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Fri, 19 Mar 2010 15:31:23 +0000 Subject: /hg/icedtea6: Renamed IcedTeaPlugin.{cc,h} back to IcedTeaNPPlug... Message-ID: changeset d8b7563f3f3d in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=d8b7563f3f3d author: Deepak Bhole date: Fri Mar 19 11:31:17 2010 -0400 Renamed IcedTeaPlugin.{cc,h} back to IcedTeaNPPlugin.{cc,h} Updated copyright dates. diffstat: 16 files changed, 2467 insertions(+), 2444 deletions(-) ChangeLog | 23 Makefile.am | 2 plugin/icedteanp/IcedTeaJavaRequestProcessor.cc | 2 plugin/icedteanp/IcedTeaJavaRequestProcessor.h | 4 plugin/icedteanp/IcedTeaNPPlugin.cc | 2294 +++++++++++++++++++++ plugin/icedteanp/IcedTeaNPPlugin.h | 134 + plugin/icedteanp/IcedTeaPlugin.cc | 2294 --------------------- plugin/icedteanp/IcedTeaPlugin.h | 134 - plugin/icedteanp/IcedTeaPluginRequestProcessor.cc | 4 plugin/icedteanp/IcedTeaPluginRequestProcessor.h | 2 plugin/icedteanp/IcedTeaPluginUtils.cc | 4 plugin/icedteanp/IcedTeaPluginUtils.h | 4 plugin/icedteanp/IcedTeaRunnable.cc | 2 plugin/icedteanp/IcedTeaRunnable.h | 2 plugin/icedteanp/IcedTeaScriptablePluginObject.cc | 2 plugin/icedteanp/IcedTeaScriptablePluginObject.h | 4 diffs (truncated from 5069 to 500 lines): diff -r 3fa0b8d84878 -r d8b7563f3f3d ChangeLog --- a/ChangeLog Fri Mar 19 14:47:16 2010 +0000 +++ b/ChangeLog Fri Mar 19 11:31:17 2010 -0400 @@ -1,3 +1,26 @@ 2010-03-19 Pavel Tisnovsky + + * Makefile.am: Updated to use the renamed IcedTeaNPPlugin.cc file. + * plugin/icedteanp/IcedTeaJavaRequestProcessor.cc: Updated copyright. + * plugin/icedteanp/IcedTeaJavaRequestProcessor.h: Update to include + IcedTeaNPPlugin.h instead of IcedTeaPlugin.h. Updated copyright. + * plugin/icedteanp/IcedTeaNPPlugin.cc: Renamed from IcedTeaPlugin.cc. + Updated copyright. + * plugin/icedteanp/IcedTeaNPPlugin.h: Renamed from IcedTeaPlugin.h. + Updated copyright. + * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc: Updated copyright. + * plugin/icedteanp/IcedTeaPluginRequestProcessor.h: Update to include + IcedTeaNPPlugin.h instead of IcedTeaPlugin.h. Updated copyright. + * plugin/icedteanp/IcedTeaPluginUtils.cc: Updated copyright. + * plugin/icedteanp/IcedTeaPluginUtils.h: Update to include + IcedTeaNPPlugin.h instead of IcedTeaPlugin.h. Updated copyright. + * plugin/icedteanp/IcedTeaRunnable.cc: Updated copyright. + * plugin/icedteanp/IcedTeaRunnable.h: Update to include + IcedTeaNPPlugin.h instead of IcedTeaPlugin.h. Updated copyright. + * plugin/icedteanp/IcedTeaScriptablePluginObject.cc: Updated copyright. + * plugin/icedteanp/IcedTeaScriptablePluginObject.h: Update to include + IcedTeaNPPlugin.h instead of IcedTeaPlugin.h. Updated copyright. + 2010-03-19 Pavel Tisnovsky * patches/icedtea-sh4-support.patch: removed duplicated diff -r 3fa0b8d84878 -r d8b7563f3f3d Makefile.am --- a/Makefile.am Fri Mar 19 14:47:16 2010 +0000 +++ b/Makefile.am Fri Mar 19 11:31:17 2010 -0400 @@ -1570,7 +1570,7 @@ if ENABLE_PLUGIN # is listed before -l options. See: # http://developer.mozilla.org/en/docs/XPCOM_Glue -PLUGIN_SRC=IcedTeaPlugin.cc IcedTeaScriptablePluginObject.cc \ +PLUGIN_SRC=IcedTeaNPPlugin.cc IcedTeaScriptablePluginObject.cc \ IcedTeaJavaRequestProcessor.cc IcedTeaPluginRequestProcessor.cc \ IcedTeaPluginUtils.cc diff -r 3fa0b8d84878 -r d8b7563f3f3d plugin/icedteanp/IcedTeaJavaRequestProcessor.cc --- a/plugin/icedteanp/IcedTeaJavaRequestProcessor.cc Fri Mar 19 14:47:16 2010 +0000 +++ b/plugin/icedteanp/IcedTeaJavaRequestProcessor.cc Fri Mar 19 11:31:17 2010 -0400 @@ -1,6 +1,6 @@ /* IcedTeaJavaRequestProcessor.cc - Copyright (C) 2009 Red Hat + Copyright (C) 2009, 2010 Red Hat This file is part of IcedTea. diff -r 3fa0b8d84878 -r d8b7563f3f3d plugin/icedteanp/IcedTeaJavaRequestProcessor.h --- a/plugin/icedteanp/IcedTeaJavaRequestProcessor.h Fri Mar 19 14:47:16 2010 +0000 +++ b/plugin/icedteanp/IcedTeaJavaRequestProcessor.h Fri Mar 19 11:31:17 2010 -0400 @@ -1,6 +1,6 @@ /* IcedTeaJavaRequestProcessor.h - Copyright (C) 2009 Red Hat + Copyright (C) 2009, 2010 Red Hat This file is part of IcedTea. @@ -43,7 +43,7 @@ exception statement from your version. * #include #include -#include "IcedTeaPlugin.h" +#include "IcedTeaNPPlugin.h" #include "IcedTeaPluginUtils.h" #define REQUESTTIMEOUT 120 diff -r 3fa0b8d84878 -r d8b7563f3f3d plugin/icedteanp/IcedTeaNPPlugin.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Fri Mar 19 11:31:17 2010 -0400 @@ -0,0 +1,2294 @@ +/* IcedTeaPlugin.cc -- web browser plugin to execute Java applets + Copyright (C) 2003, 2004, 2006, 2007 Free Software Foundation, Inc. + Copyright (C) 2009, 2010 Red Hat + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + +// System includes. +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// Liveconnect extension +#include "IcedTeaScriptablePluginObject.h" +#include "IcedTeaNPPlugin.h" + +#if MOZILLA_VERSION_COLLAPSED < 1090100 +// Documentbase retrieval includes. +#include +#include +#include + +// API's into Mozilla +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#endif + +// Error reporting macros. +#define PLUGIN_ERROR(message) \ + g_printerr ("%s:%d: thread %p: Error: %s\n", __FILE__, __LINE__, \ + g_thread_self (), message) + +#define PLUGIN_ERROR_TWO(first, second) \ + g_printerr ("%s:%d: thread %p: Error: %s: %s\n", __FILE__, __LINE__, \ + g_thread_self (), first, second) + +#define PLUGIN_ERROR_THREE(first, second, third) \ + g_printerr ("%s:%d: thread %p: Error: %s: %s: %s\n", __FILE__, \ + __LINE__, g_thread_self (), first, second, third) + +// Plugin information passed to about:plugins. +#define PLUGIN_NAME "IcedTea NPR Web Browser Plugin (using " PLUGIN_VERSION ")" +#define PLUGIN_DESC "The " PLUGIN_NAME " executes Java applets." + +#define PLUGIN_MIME_DESC \ + "application/x-java-vm:class,jar:IcedTea;" \ + "application/x-java-applet:class,jar:IcedTea;" \ + "application/x-java-applet;version=1.1:class,jar:IcedTea;" \ + "application/x-java-applet;version=1.1.1:class,jar:IcedTea;" \ + "application/x-java-applet;version=1.1.2:class,jar:IcedTea;" \ + "application/x-java-applet;version=1.1.3:class,jar:IcedTea;" \ + "application/x-java-applet;version=1.2:class,jar:IcedTea;" \ + "application/x-java-applet;version=1.2.1:class,jar:IcedTea;" \ + "application/x-java-applet;version=1.2.2:class,jar:IcedTea;" \ + "application/x-java-applet;version=1.3:class,jar:IcedTea;" \ + "application/x-java-applet;version=1.3.1:class,jar:IcedTea;" \ + "application/x-java-applet;version=1.4:class,jar:IcedTea;" \ + "application/x-java-applet;version=1.4.1:class,jar:IcedTea;" \ + "application/x-java-applet;version=1.4.2:class,jar:IcedTea;" \ + "application/x-java-applet;version=1.5:class,jar:IcedTea;" \ + "application/x-java-applet;version=1.6:class,jar:IcedTea;" \ + "application/x-java-applet;jpi-version=1.6.0_" JDK_UPDATE_VERSION ":class,jar:IcedTea;" \ + "application/x-java-bean:class,jar:IcedTea;" \ + "application/x-java-bean;version=1.1:class,jar:IcedTea;" \ + "application/x-java-bean;version=1.1.1:class,jar:IcedTea;" \ + "application/x-java-bean;version=1.1.2:class,jar:IcedTea;" \ + "application/x-java-bean;version=1.1.3:class,jar:IcedTea;" \ + "application/x-java-bean;version=1.2:class,jar:IcedTea;" \ + "application/x-java-bean;version=1.2.1:class,jar:IcedTea;" \ + "application/x-java-bean;version=1.2.2:class,jar:IcedTea;" \ + "application/x-java-bean;version=1.3:class,jar:IcedTea;" \ + "application/x-java-bean;version=1.3.1:class,jar:IcedTea;" \ + "application/x-java-bean;version=1.4:class,jar:IcedTea;" \ + "application/x-java-bean;version=1.4.1:class,jar:IcedTea;" \ + "application/x-java-bean;version=1.4.2:class,jar:IcedTea;" \ + "application/x-java-bean;version=1.5:class,jar:IcedTea;" \ + "application/x-java-bean;version=1.6:class,jar:IcedTea;" \ + "application/x-java-bean;jpi-version=1.6.0_" JDK_UPDATE_VERSION ":class,jar:IcedTea;" \ + "application/x-java-vm-npruntime::IcedTea;" + +#define PLUGIN_URL NS_INLINE_PLUGIN_CONTRACTID_PREFIX NS_JVM_MIME_TYPE +#define PLUGIN_MIME_TYPE "application/x-java-vm" +#define PLUGIN_FILE_EXTS "class,jar,zip" +#define PLUGIN_MIME_COUNT 1 + +#define FAILURE_MESSAGE "gcjwebplugin error: Failed to run %s." \ + " For more detail rerun \"firefox -g\" in a terminal window." + +#if MOZILLA_VERSION_COLLAPSED < 1090100 +// Documentbase retrieval required definition. +static NS_DEFINE_IID (kIPluginTagInfo2IID, NS_IPLUGINTAGINFO2_IID); +#endif + +// Data directory for plugin. +static gchar* data_directory = NULL; + +// Fully-qualified appletviewer executable. +static gchar* appletviewer_executable = NULL; + +// Applet viewer input channel (needs to be static because it is used in plugin_in_pipe_callback) +static GIOChannel* in_from_appletviewer = NULL; + +// Applet viewer input pipe name. +gchar* in_pipe_name; + +// Applet viewer input watch source. +gint in_watch_source; + +// Applet viewer output pipe name. +gchar* out_pipe_name; + +// Applet viewer output watch source. +gint out_watch_source; + +// Applet viewer output channel. +GIOChannel* out_to_appletviewer; + +// Tracks jvm status +gboolean jvm_up = FALSE; + +// Keeps track of initialization. NP_Initialize should only be +// called once. +gboolean initialized = false; + +// browser functions into mozilla +NPNetscapeFuncs browser_functions; + +// Various message buses carrying information to/from Java, and internally +MessageBus* plugin_to_java_bus; +MessageBus* java_to_plugin_bus; +//MessageBus* internal_bus = new MessageBus(); + +// Processor for plugin requests +PluginRequestProcessor* plugin_req_proc; + +// Sends messages to Java over the bus +JavaMessageSender* java_req_proc; + +#if MOZILLA_VERSION_COLLAPSED < 1090100 +// Documentbase retrieval type-punning union. +typedef union +{ + void** void_field; + nsIPluginTagInfo2** info_field; +} info_union; +#endif + +// Static instance helper functions. +// Have the browser allocate a new GCJPluginData structure. +static void plugin_data_new (GCJPluginData** data); +// Retrieve the current document's documentbase. +static gchar* plugin_get_documentbase (NPP instance); +// Notify the user that the appletviewer is not installed correctly. +static void plugin_display_failure_dialog (); +// Callback used to monitor input pipe status. +static gboolean plugin_in_pipe_callback (GIOChannel* source, + GIOCondition condition, + gpointer plugin_data); +// Callback used to monitor output pipe status. +static gboolean plugin_out_pipe_callback (GIOChannel* source, + GIOCondition condition, + gpointer plugin_data); +static NPError plugin_start_appletviewer (GCJPluginData* data); +static gchar* plugin_create_applet_tag (int16_t argc, char* argn[], + char* argv[]); +static void plugin_stop_appletviewer (); +// Uninitialize GCJPluginData structure +static void plugin_data_destroy (NPP instance); + +NPError get_cookie_info(const char* siteAddr, char** cookieString, uint32_t* len); +NPError get_proxy_info(const char* siteAddr, char** proxy, uint32_t* len); +void consume_message(gchar* message); +void start_jvm_if_needed(); +static void appletviewer_monitor(GPid pid, gint status, gpointer data); + +// Global instance counter. +// Mutex to protect plugin_instance_counter. +static GMutex* plugin_instance_mutex = NULL; +// A global variable for reporting GLib errors. This must be free'd +// and set to NULL after each use. +static GError* channel_error = NULL; + +static GHashTable* instance_to_id_map = g_hash_table_new(NULL, NULL); +static GHashTable* id_to_instance_map = g_hash_table_new(NULL, NULL); +static gint instance_counter = 1; +static GPid appletviewer_pid = -1; +static guint appletviewer_watch_id = -1; + +int plugin_debug = getenv ("ICEDTEAPLUGIN_DEBUG") != NULL; + +pthread_cond_t cond_message_available = PTHREAD_COND_INITIALIZER; + +// Functions prefixed by GCJ_ are instance functions. They are called +// by the browser and operate on instances of GCJPluginData. +// Functions prefixed by plugin_ are static helper functions. +// Functions prefixed by NP_ are factory functions. They are called +// by the browser and provide functionality needed to create plugin +// instances. + +// INSTANCE FUNCTIONS + +// Creates a new gcjwebplugin instance. This function creates a +// GCJPluginData* and stores it in instance->pdata. The following +// GCJPluginData fiels are initialized: instance_string, in_pipe_name, +// in_from_appletviewer, in_watch_source, out_pipe_name, +// out_to_appletviewer, out_watch_source, appletviewer_mutex, owner, +// appletviewer_alive. In addition two pipe files are created. All +// of those fields must be properly destroyed, and the pipes deleted, +// by GCJ_Destroy. If an error occurs during initialization then this +// function will free anything that's been allocated so far, set +// instance->pdata to NULL and return an error code. +NPError +GCJ_New (NPMIMEType pluginType, NPP instance, uint16_t mode, + int16_t argc, char* argn[], char* argv[], + NPSavedData* saved) +{ + PLUGIN_DEBUG_0ARG("GCJ_New\n"); + + static NPObject *window_ptr; + NPIdentifier identifier; + NPVariant member_ptr; + browser_functions.getvalue(instance, NPNVWindowNPObject, &window_ptr); + identifier = browser_functions.getstringidentifier("document"); + printf("Looking for %p %p %p (%s)\n", instance, window_ptr, identifier, "document"); + if (!browser_functions.hasproperty(instance, window_ptr, identifier)) + { + printf("%s not found!\n", "document"); + } + browser_functions.getproperty(instance, window_ptr, identifier, &member_ptr); + + PLUGIN_DEBUG_1ARG("Got variant %p\n", &member_ptr); + + + NPError np_error = NPERR_NO_ERROR; + GCJPluginData* data = NULL; + + gchar* documentbase = NULL; + gchar* read_message = NULL; + gchar* applet_tag = NULL; + gchar* tag_message = NULL; + gchar* cookie_info = NULL; + + NPObject* npPluginObj = NULL; + + if (!instance) + { + PLUGIN_ERROR ("Browser-provided instance pointer is NULL."); + np_error = NPERR_INVALID_INSTANCE_ERROR; + goto cleanup_done; + } + + // data + plugin_data_new (&data); + if (data == NULL) + { + PLUGIN_ERROR ("Failed to allocate plugin data."); + np_error = NPERR_OUT_OF_MEMORY_ERROR; + goto cleanup_done; + } + + // start the jvm if needed + start_jvm_if_needed(); + + // Initialize data->instance_string. + // + // instance_string should be unique for this process so we use a + // combination of getpid and plugin_instance_counter. + // + // Critical region. Reference and increment plugin_instance_counter + // global. + g_mutex_lock (plugin_instance_mutex); + + // data->instance_string + data->instance_string = g_strdup_printf ("%d", + instance_counter); + + g_mutex_unlock (plugin_instance_mutex); + + // data->appletviewer_mutex + data->appletviewer_mutex = g_mutex_new (); + + g_mutex_lock (data->appletviewer_mutex); + + // Documentbase retrieval. + documentbase = plugin_get_documentbase (instance); + if (documentbase && argc != 0) + { + // Send applet tag message to appletviewer. + applet_tag = plugin_create_applet_tag (argc, argn, argv); + + tag_message = (gchar*) malloc(strlen(applet_tag)*sizeof(gchar) + strlen(documentbase)*sizeof(gchar) + 32); + g_sprintf(tag_message, "instance %d tag %s %s", instance_counter, documentbase, applet_tag); + + //plugin_send_message_to_appletviewer (data, data->instance_string); + plugin_send_message_to_appletviewer (tag_message); + + data->is_applet_instance = true; + } + + if (argc == 0) + { + data->is_applet_instance = false; + } + + g_mutex_unlock (data->appletviewer_mutex); + + // If initialization succeeded entirely then we store the plugin + // data in the instance structure and return. Otherwise we free the + // data we've allocated so far and set instance->pdata to NULL. + + // Set back-pointer to owner instance. + data->owner = instance; + + // source of this instance + // don't use documentbase, it is cleared later + data->source = plugin_get_documentbase(instance); + + instance->pdata = data; + + goto cleanup_done; + + cleanup_appletviewer_mutex: + g_free (data->appletviewer_mutex); + data->appletviewer_mutex = NULL; + + // cleanup_instance_string: + g_free (data->instance_string); + data->instance_string = NULL; + + // cleanup_data: + // Eliminate back-pointer to plugin instance. + data->owner = NULL; + (*browser_functions.memfree) (data); + data = NULL; + + // Initialization failed so return a NULL pointer for the browser + // data. + instance->pdata = NULL; + + cleanup_done: + g_free (tag_message); + tag_message = NULL; + g_free (applet_tag); + applet_tag = NULL; + g_free (read_message); + read_message = NULL; + g_free (documentbase); + documentbase = NULL; + + // store an identifier for this plugin + PLUGIN_DEBUG_2ARG("Mapping id %d and instance %p\n", instance_counter, instance); + g_hash_table_insert(instance_to_id_map, instance, GINT_TO_POINTER(instance_counter)); + g_hash_table_insert(id_to_instance_map, GINT_TO_POINTER(instance_counter), instance); + instance_counter++; + + PLUGIN_DEBUG_0ARG ("GCJ_New return\n"); + + return np_error; +} + +// Starts the JVM if it is not already running +void start_jvm_if_needed() +{ + + // This is asynchronized function. It must + // have exclusivity when running. + + GMutex *vm_start_mutex = g_mutex_new(); + g_mutex_lock(vm_start_mutex); + + PLUGIN_DEBUG_0ARG("Checking JVM status...\n"); + + // If the jvm is already up, do nothing + if (jvm_up) + { From dbhole at icedtea.classpath.org Fri Mar 19 08:40:11 2010 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Fri, 19 Mar 2010 15:40:11 +0000 Subject: /hg/icedtea6: Fixed Bug# 166: Create FIFO pies in temp dir inste... Message-ID: changeset 27d312b0129c in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=27d312b0129c author: Deepak Bhole date: Fri Mar 19 11:40:06 2010 -0400 Fixed Bug# 166: Create FIFO pies in temp dir instead of ~/.icedteaplugin diffstat: 3 files changed, 52 insertions(+), 21 deletions(-) ChangeLog | 9 +++ plugin/icedteanp/IcedTeaNPPlugin.cc | 58 ++++++++++++++-------- plugin/icedteanp/java/sun/applet/PluginMain.java | 6 +- diffs (158 lines): diff -r d8b7563f3f3d -r 27d312b0129c ChangeLog --- a/ChangeLog Fri Mar 19 11:31:17 2010 -0400 +++ b/ChangeLog Fri Mar 19 11:40:06 2010 -0400 @@ -1,3 +1,12 @@ 2010-03-19 Deepak Bhole + + * plugin/icedteanp/IcedTeaNPPlugin.cc + (start_jvm_if_needed): Create pipes in a temporary dir instead of users + home directory. + (plugin_start_appletviewer): Pass pipe names to PluginMain when initializing Java. + * plugin/icedteanp/java/sun/applet/PluginMain.java: Receive pipe names + during initialization. + 2010-03-19 Deepak Bhole * Makefile.am: Updated to use the renamed IcedTeaNPPlugin.cc file. diff -r d8b7563f3f3d -r 27d312b0129c plugin/icedteanp/IcedTeaNPPlugin.cc --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Fri Mar 19 11:31:17 2010 -0400 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Fri Mar 19 11:40:06 2010 -0400 @@ -434,8 +434,8 @@ void start_jvm_if_needed() // pipe. // in_pipe_name - in_pipe_name = g_strdup_printf ("%s/icedteanp-appletviewer-to-plugin", - data_directory); + in_pipe_name = g_strdup_printf ("%s/%s-icedteanp-appletviewer-to-plugin", + data_directory, getenv ("USER")); if (!in_pipe_name) { PLUGIN_ERROR ("Failed to create input pipe name."); @@ -449,7 +449,7 @@ void start_jvm_if_needed() unlink (in_pipe_name); PLUGIN_DEBUG_1ARG ("GCJ_New: creating input fifo: %s\n", in_pipe_name); - if (mkfifo (in_pipe_name, 0700) == -1 && errno != EEXIST) + if (mkfifo (in_pipe_name, 0600) == -1 && errno != EEXIST) { PLUGIN_ERROR_TWO ("Failed to create input pipe", strerror (errno)); np_error = NPERR_GENERIC_ERROR; @@ -461,8 +461,8 @@ void start_jvm_if_needed() // output pipe. // out_pipe_name - out_pipe_name = g_strdup_printf ("%s/icedteanp-plugin-to-appletviewer", - data_directory); + out_pipe_name = g_strdup_printf ("%s/%s-icedteanp-plugin-to-appletviewer", + data_directory, getenv ("USER")); if (!out_pipe_name) { @@ -475,7 +475,7 @@ void start_jvm_if_needed() unlink (out_pipe_name); PLUGIN_DEBUG_1ARG ("GCJ_New: creating output fifo: %s\n", out_pipe_name); - if (mkfifo (out_pipe_name, 0700) == -1 && errno != EEXIST) + if (mkfifo (out_pipe_name, 0600) == -1 && errno != EEXIST) { PLUGIN_ERROR_TWO ("Failed to create output pipe", strerror (errno)); np_error = NPERR_GENERIC_ERROR; @@ -1461,19 +1461,23 @@ plugin_start_appletviewer (GCJPluginData if (plugin_debug) { - command_line = (gchar**) malloc(sizeof(gchar*)*6); + command_line = (gchar**) malloc(sizeof(gchar*)*8); command_line[0] = g_strdup(appletviewer_executable); command_line[1] = g_strdup("-Xdebug"); command_line[2] = g_strdup("-Xnoagent"); command_line[3] = g_strdup("-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n"); command_line[4] = g_strdup("sun.applet.PluginMain"); - command_line[5] = NULL; + command_line[5] = g_strdup(out_pipe_name); + command_line[6] = g_strdup(in_pipe_name); + command_line[7] = NULL; } else { - command_line = (gchar**) malloc(sizeof(gchar)*3); + command_line = (gchar**) malloc(sizeof(gchar)*5); command_line[0] = g_strdup(appletviewer_executable); command_line[1] = g_strdup("sun.applet.PluginMain"); - command_line[2] = NULL; + command_line[2] = g_strdup(out_pipe_name); + command_line[3] = g_strdup(in_pipe_name); + command_line[4] = NULL; } if (!g_spawn_async (NULL, command_line, NULL, (GSpawnFlags) G_SPAWN_DO_NOT_REAP_CHILD, @@ -1963,7 +1967,7 @@ NP_Initialize (NPNetscapeFuncs* browserT // Make sure the plugin data directory exists, creating it if // necessary. - data_directory = g_strconcat (getenv ("HOME"), "/.icedteaplugin", NULL); + data_directory = g_strconcat (P_tmpdir, NULL); if (!data_directory) { PLUGIN_ERROR ("Failed to create data directory name."); @@ -1971,20 +1975,34 @@ NP_Initialize (NPNetscapeFuncs* browserT } NPError np_error = NPERR_NO_ERROR; gchar* filename = NULL; + + // If P_tmpdir does not exist, try /tmp directly + if (!g_file_test (data_directory, (GFileTest) (G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR))) { int file_error = 0; - file_error = g_mkdir (data_directory, 0700); - if (file_error != 0) - { - PLUGIN_ERROR_THREE ("Failed to create data directory", - data_directory, - strerror (errno)); - np_error = NPERR_GENERIC_ERROR; - goto cleanup_data_directory; - } + data_directory = g_strconcat ("/tmp", NULL); + if (!data_directory) + { + PLUGIN_ERROR ("Failed to create data directory name."); + return NPERR_OUT_OF_MEMORY_ERROR; + } + + } + + // If that doesn't exit, bail + if (!g_file_test (data_directory, + (GFileTest) (G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR))) + { + PLUGIN_ERROR_THREE ("Temp directory does not exist: ", + data_directory, + strerror (errno)); + + np_error = NPERR_GENERIC_ERROR; + goto cleanup_data_directory; + } // Set appletviewer_executable. diff -r d8b7563f3f3d -r 27d312b0129c plugin/icedteanp/java/sun/applet/PluginMain.java --- a/plugin/icedteanp/java/sun/applet/PluginMain.java Fri Mar 19 11:31:17 2010 -0400 +++ b/plugin/icedteanp/java/sun/applet/PluginMain.java Fri Mar 19 11:40:06 2010 -0400 @@ -107,9 +107,13 @@ public class PluginMain public static void main(String args[]) throws IOException { + if (args.length != 2 || !(new File(args[0]).exists()) || !(new File(args[1]).exists())) { + System.err.println("Invalid pipe names provided. Refusing to proceed."); + System.exit(1); + } try { - PluginMain pm = new PluginMain(System.getProperty("user.home") + "/.icedteaplugin/icedteanp-plugin-to-appletviewer", System.getProperty("user.home") + "/.icedteaplugin/icedteanp-appletviewer-to-plugin"); + PluginMain pm = new PluginMain(args[0], args[1]); } catch (Exception e) { e.printStackTrace(); System.err.println("Something very bad happened. I don't know what to do, so I am going to exit :("); From gbenson at icedtea.classpath.org Fri Mar 19 08:51:36 2010 From: gbenson at icedtea.classpath.org (gbenson at icedtea.classpath.org) Date: Fri, 19 Mar 2010 15:51:36 +0000 Subject: /hg/icedtea6: 2 new changesets Message-ID: changeset 9eb6324a42a6 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=9eb6324a42a6 author: Gary Benson date: Fri Mar 19 15:50:36 2010 +0000 Shark updates changeset 20627a528aa1 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=20627a528aa1 author: Gary Benson date: Fri Mar 19 15:51:26 2010 +0000 Merge diffstat: 29 files changed, 2770 insertions(+), 2508 deletions(-) ChangeLog | 91 Makefile.am | 2 plugin/icedteanp/IcedTeaJavaRequestProcessor.cc | 2 plugin/icedteanp/IcedTeaJavaRequestProcessor.h | 4 plugin/icedteanp/IcedTeaNPPlugin.cc | 2312 +++++++++++++++ plugin/icedteanp/IcedTeaNPPlugin.h | 134 plugin/icedteanp/IcedTeaPlugin.cc | 2294 -------------- plugin/icedteanp/IcedTeaPlugin.h | 134 plugin/icedteanp/IcedTeaPluginRequestProcessor.cc | 4 plugin/icedteanp/IcedTeaPluginRequestProcessor.h | 2 plugin/icedteanp/IcedTeaPluginUtils.cc | 4 plugin/icedteanp/IcedTeaPluginUtils.h | 4 plugin/icedteanp/IcedTeaRunnable.cc | 2 plugin/icedteanp/IcedTeaRunnable.h | 2 plugin/icedteanp/IcedTeaScriptablePluginObject.cc | 2 plugin/icedteanp/IcedTeaScriptablePluginObject.h | 4 plugin/icedteanp/java/sun/applet/PluginMain.java | 6 ports/hotspot/src/cpu/zero/vm/disassembler_zero.hpp | 9 ports/hotspot/src/share/vm/shark/sharkBlock.cpp | 12 ports/hotspot/src/share/vm/shark/sharkBuilder.cpp | 22 ports/hotspot/src/share/vm/shark/sharkBuilder.hpp | 6 ports/hotspot/src/share/vm/shark/sharkNativeWrapper.cpp | 4 ports/hotspot/src/share/vm/shark/sharkRuntime.cpp | 18 ports/hotspot/src/share/vm/shark/sharkRuntime.hpp | 6 ports/hotspot/src/share/vm/shark/sharkStack.cpp | 89 ports/hotspot/src/share/vm/shark/sharkStack.hpp | 25 ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp | 65 ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp | 5 ports/hotspot/src/share/vm/shark/shark_globals.hpp | 14 diffs (truncated from 5790 to 500 lines): diff -r 3fa0b8d84878 -r 20627a528aa1 ChangeLog --- a/ChangeLog Fri Mar 19 14:47:16 2010 +0000 +++ b/ChangeLog Fri Mar 19 15:51:26 2010 +0000 @@ -1,3 +1,94 @@ 2010-03-19 Pavel Tisnovsky + + * ports/hotspot/src/cpu/zero/vm/disassembler_zero.hpp + (Disassembler::pd_instruction_alignment): Return a usable default. + (Disassembler::pd_cpu_opts): Likewise. + * ports/hotspot/src/share/vm/shark/sharkBlock.cpp + (SharkBlock::do_field_access): Indentation fixes. + * ports/hotspot/src/share/vm/shark/sharkBuilder.hpp + (SharkBuilder::throw_ArithmeticException): New method. + (SharkBuilder::throw_ClassCastException): Likewise. + (SharkBuilder::frame_address): Likewise. + (SharkBuilder::CreateGetFrameAddress): Likewise. + * ports/hotspot/src/share/vm/shark/sharkBuilder.cpp + (SharkBuilder::throw_ArithmeticException): New method. + (SharkBuilder::throw_ClassCastException): Likewise. + (SharkBuilder::frame_address): Likewise. + (SharkBuilder::CreateGetFrameAddress): Likewise. + (SharkBuilder::CreateMemoryBarrier): Actually do something on x86. + * ports/hotspot/src/share/vm/shark/sharkNativeWrapper.cpp + (SharkNativeWrapper::initialize): Implemented UseMembar code. + * ports/hotspot/src/share/vm/shark/sharkRuntime.hpp + (SharkRuntime::throw_ArithmeticException): New method. + (SharkRuntime::throw_ClassCastException): Likewise. + * ports/hotspot/src/share/vm/shark/sharkRuntime.cpp + (SharkRuntime::throw_ArithmeticException): New method. + (SharkRuntime::throw_ClassCastException): Likewise. + * ports/hotspot/src/share/vm/shark/sharkStack.hpp + (SharkStack::initialize): Added setup_sp_and_method parameter. + (SharkStack::CreateStackOverflowCheck): New method. + (SharkStack::CreateCheckStack): Likewise. + (SharkStack::interpreter_entry_point): Likewise. + (SharkStackWithNormalFrame::interpreter_entry_point): Likewise. + (SharkStackWithNativeFrame::interpreter_entry_point): Likewise. + (SharkStack::CreateHardStackOverflowCheck): Removed. + (SharkStack::CreateSoftStackOverflowCheck): Likewise. + * ports/hotspot/src/share/vm/shark/sharkStack.cpp + (SharkStack::initialize): Added setup_sp_and_method parameter, + and changed to use new stack overflow detection code. + (SharkStack::CreateStackOverflowCheck): New method. + (SharkStack::CreateCheckStack): Likewise. + (SharkStack::CreateHardStackOverflowCheck): Removed. + (SharkStack::CreateSoftStackOverflowCheck): Likewise. + (SharkStackWithNormalFrame::interpreter_entry_point): Likewise. + (SharkStackWithNativeFrame::interpreter_entry_point): Likewise. + (SharkStackWithNormalFrame::SharkStackWithNormalFrame): Updated. + (SharkStackWithNativeFrame::SharkStackWithNativeFrame): Likewise. + * ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp + (SharkTopLevelBlock::static_field_ok_in_clinit): New method. + * ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp + (SharkTopLevelBlock::scan_for_traps): New trap. + (SharkTopLevelBlock::static_field_ok_in_clinit): New method. + (SharkTopLevelBlock::zero_check_value): Throw arithmetic exception + for divide by zero. + (SharkTopLevelBlock::do_full_instance_check): Throw class cast + exception. + (SharkTopLevelBlock::do_monitorexit): Do not handle exceptions. + * ports/hotspot/src/share/vm/shark/shark_globals.hpp: + Make debugging options available in product builds. + +2010-03-19 Deepak Bhole + + * plugin/icedteanp/IcedTeaNPPlugin.cc + (start_jvm_if_needed): Create pipes in a temporary dir instead of users + home directory. + (plugin_start_appletviewer): Pass pipe names to PluginMain when initializing Java. + * plugin/icedteanp/java/sun/applet/PluginMain.java: Receive pipe names + during initialization. + +2010-03-19 Deepak Bhole + + * Makefile.am: Updated to use the renamed IcedTeaNPPlugin.cc file. + * plugin/icedteanp/IcedTeaJavaRequestProcessor.cc: Updated copyright. + * plugin/icedteanp/IcedTeaJavaRequestProcessor.h: Update to include + IcedTeaNPPlugin.h instead of IcedTeaPlugin.h. Updated copyright. + * plugin/icedteanp/IcedTeaNPPlugin.cc: Renamed from IcedTeaPlugin.cc. + Updated copyright. + * plugin/icedteanp/IcedTeaNPPlugin.h: Renamed from IcedTeaPlugin.h. + Updated copyright. + * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc: Updated copyright. + * plugin/icedteanp/IcedTeaPluginRequestProcessor.h: Update to include + IcedTeaNPPlugin.h instead of IcedTeaPlugin.h. Updated copyright. + * plugin/icedteanp/IcedTeaPluginUtils.cc: Updated copyright. + * plugin/icedteanp/IcedTeaPluginUtils.h: Update to include + IcedTeaNPPlugin.h instead of IcedTeaPlugin.h. Updated copyright. + * plugin/icedteanp/IcedTeaRunnable.cc: Updated copyright. + * plugin/icedteanp/IcedTeaRunnable.h: Update to include + IcedTeaNPPlugin.h instead of IcedTeaPlugin.h. Updated copyright. + * plugin/icedteanp/IcedTeaScriptablePluginObject.cc: Updated copyright. + * plugin/icedteanp/IcedTeaScriptablePluginObject.h: Update to include + IcedTeaNPPlugin.h instead of IcedTeaPlugin.h. Updated copyright. + 2010-03-19 Pavel Tisnovsky * patches/icedtea-sh4-support.patch: removed duplicated diff -r 3fa0b8d84878 -r 20627a528aa1 Makefile.am --- a/Makefile.am Fri Mar 19 14:47:16 2010 +0000 +++ b/Makefile.am Fri Mar 19 15:51:26 2010 +0000 @@ -1570,7 +1570,7 @@ if ENABLE_PLUGIN # is listed before -l options. See: # http://developer.mozilla.org/en/docs/XPCOM_Glue -PLUGIN_SRC=IcedTeaPlugin.cc IcedTeaScriptablePluginObject.cc \ +PLUGIN_SRC=IcedTeaNPPlugin.cc IcedTeaScriptablePluginObject.cc \ IcedTeaJavaRequestProcessor.cc IcedTeaPluginRequestProcessor.cc \ IcedTeaPluginUtils.cc diff -r 3fa0b8d84878 -r 20627a528aa1 plugin/icedteanp/IcedTeaJavaRequestProcessor.cc --- a/plugin/icedteanp/IcedTeaJavaRequestProcessor.cc Fri Mar 19 14:47:16 2010 +0000 +++ b/plugin/icedteanp/IcedTeaJavaRequestProcessor.cc Fri Mar 19 15:51:26 2010 +0000 @@ -1,6 +1,6 @@ /* IcedTeaJavaRequestProcessor.cc - Copyright (C) 2009 Red Hat + Copyright (C) 2009, 2010 Red Hat This file is part of IcedTea. diff -r 3fa0b8d84878 -r 20627a528aa1 plugin/icedteanp/IcedTeaJavaRequestProcessor.h --- a/plugin/icedteanp/IcedTeaJavaRequestProcessor.h Fri Mar 19 14:47:16 2010 +0000 +++ b/plugin/icedteanp/IcedTeaJavaRequestProcessor.h Fri Mar 19 15:51:26 2010 +0000 @@ -1,6 +1,6 @@ /* IcedTeaJavaRequestProcessor.h - Copyright (C) 2009 Red Hat + Copyright (C) 2009, 2010 Red Hat This file is part of IcedTea. @@ -43,7 +43,7 @@ exception statement from your version. * #include #include -#include "IcedTeaPlugin.h" +#include "IcedTeaNPPlugin.h" #include "IcedTeaPluginUtils.h" #define REQUESTTIMEOUT 120 diff -r 3fa0b8d84878 -r 20627a528aa1 plugin/icedteanp/IcedTeaNPPlugin.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Fri Mar 19 15:51:26 2010 +0000 @@ -0,0 +1,2312 @@ +/* IcedTeaPlugin.cc -- web browser plugin to execute Java applets + Copyright (C) 2003, 2004, 2006, 2007 Free Software Foundation, Inc. + Copyright (C) 2009, 2010 Red Hat + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + +// System includes. +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// Liveconnect extension +#include "IcedTeaScriptablePluginObject.h" +#include "IcedTeaNPPlugin.h" + +#if MOZILLA_VERSION_COLLAPSED < 1090100 +// Documentbase retrieval includes. +#include +#include +#include + +// API's into Mozilla +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#endif + +// Error reporting macros. +#define PLUGIN_ERROR(message) \ + g_printerr ("%s:%d: thread %p: Error: %s\n", __FILE__, __LINE__, \ + g_thread_self (), message) + +#define PLUGIN_ERROR_TWO(first, second) \ + g_printerr ("%s:%d: thread %p: Error: %s: %s\n", __FILE__, __LINE__, \ + g_thread_self (), first, second) + +#define PLUGIN_ERROR_THREE(first, second, third) \ + g_printerr ("%s:%d: thread %p: Error: %s: %s: %s\n", __FILE__, \ + __LINE__, g_thread_self (), first, second, third) + +// Plugin information passed to about:plugins. +#define PLUGIN_NAME "IcedTea NPR Web Browser Plugin (using " PLUGIN_VERSION ")" +#define PLUGIN_DESC "The " PLUGIN_NAME " executes Java applets." + +#define PLUGIN_MIME_DESC \ + "application/x-java-vm:class,jar:IcedTea;" \ + "application/x-java-applet:class,jar:IcedTea;" \ + "application/x-java-applet;version=1.1:class,jar:IcedTea;" \ + "application/x-java-applet;version=1.1.1:class,jar:IcedTea;" \ + "application/x-java-applet;version=1.1.2:class,jar:IcedTea;" \ + "application/x-java-applet;version=1.1.3:class,jar:IcedTea;" \ + "application/x-java-applet;version=1.2:class,jar:IcedTea;" \ + "application/x-java-applet;version=1.2.1:class,jar:IcedTea;" \ + "application/x-java-applet;version=1.2.2:class,jar:IcedTea;" \ + "application/x-java-applet;version=1.3:class,jar:IcedTea;" \ + "application/x-java-applet;version=1.3.1:class,jar:IcedTea;" \ + "application/x-java-applet;version=1.4:class,jar:IcedTea;" \ + "application/x-java-applet;version=1.4.1:class,jar:IcedTea;" \ + "application/x-java-applet;version=1.4.2:class,jar:IcedTea;" \ + "application/x-java-applet;version=1.5:class,jar:IcedTea;" \ + "application/x-java-applet;version=1.6:class,jar:IcedTea;" \ + "application/x-java-applet;jpi-version=1.6.0_" JDK_UPDATE_VERSION ":class,jar:IcedTea;" \ + "application/x-java-bean:class,jar:IcedTea;" \ + "application/x-java-bean;version=1.1:class,jar:IcedTea;" \ + "application/x-java-bean;version=1.1.1:class,jar:IcedTea;" \ + "application/x-java-bean;version=1.1.2:class,jar:IcedTea;" \ + "application/x-java-bean;version=1.1.3:class,jar:IcedTea;" \ + "application/x-java-bean;version=1.2:class,jar:IcedTea;" \ + "application/x-java-bean;version=1.2.1:class,jar:IcedTea;" \ + "application/x-java-bean;version=1.2.2:class,jar:IcedTea;" \ + "application/x-java-bean;version=1.3:class,jar:IcedTea;" \ + "application/x-java-bean;version=1.3.1:class,jar:IcedTea;" \ + "application/x-java-bean;version=1.4:class,jar:IcedTea;" \ + "application/x-java-bean;version=1.4.1:class,jar:IcedTea;" \ + "application/x-java-bean;version=1.4.2:class,jar:IcedTea;" \ + "application/x-java-bean;version=1.5:class,jar:IcedTea;" \ + "application/x-java-bean;version=1.6:class,jar:IcedTea;" \ + "application/x-java-bean;jpi-version=1.6.0_" JDK_UPDATE_VERSION ":class,jar:IcedTea;" \ + "application/x-java-vm-npruntime::IcedTea;" + +#define PLUGIN_URL NS_INLINE_PLUGIN_CONTRACTID_PREFIX NS_JVM_MIME_TYPE +#define PLUGIN_MIME_TYPE "application/x-java-vm" +#define PLUGIN_FILE_EXTS "class,jar,zip" +#define PLUGIN_MIME_COUNT 1 + +#define FAILURE_MESSAGE "gcjwebplugin error: Failed to run %s." \ + " For more detail rerun \"firefox -g\" in a terminal window." + +#if MOZILLA_VERSION_COLLAPSED < 1090100 +// Documentbase retrieval required definition. +static NS_DEFINE_IID (kIPluginTagInfo2IID, NS_IPLUGINTAGINFO2_IID); +#endif + +// Data directory for plugin. +static gchar* data_directory = NULL; + +// Fully-qualified appletviewer executable. +static gchar* appletviewer_executable = NULL; + +// Applet viewer input channel (needs to be static because it is used in plugin_in_pipe_callback) +static GIOChannel* in_from_appletviewer = NULL; + +// Applet viewer input pipe name. +gchar* in_pipe_name; + +// Applet viewer input watch source. +gint in_watch_source; + +// Applet viewer output pipe name. +gchar* out_pipe_name; + +// Applet viewer output watch source. +gint out_watch_source; + +// Applet viewer output channel. +GIOChannel* out_to_appletviewer; + +// Tracks jvm status +gboolean jvm_up = FALSE; + +// Keeps track of initialization. NP_Initialize should only be +// called once. +gboolean initialized = false; + +// browser functions into mozilla +NPNetscapeFuncs browser_functions; + +// Various message buses carrying information to/from Java, and internally +MessageBus* plugin_to_java_bus; +MessageBus* java_to_plugin_bus; +//MessageBus* internal_bus = new MessageBus(); + +// Processor for plugin requests +PluginRequestProcessor* plugin_req_proc; + +// Sends messages to Java over the bus +JavaMessageSender* java_req_proc; + +#if MOZILLA_VERSION_COLLAPSED < 1090100 +// Documentbase retrieval type-punning union. +typedef union +{ + void** void_field; + nsIPluginTagInfo2** info_field; +} info_union; +#endif + +// Static instance helper functions. +// Have the browser allocate a new GCJPluginData structure. +static void plugin_data_new (GCJPluginData** data); +// Retrieve the current document's documentbase. +static gchar* plugin_get_documentbase (NPP instance); +// Notify the user that the appletviewer is not installed correctly. +static void plugin_display_failure_dialog (); +// Callback used to monitor input pipe status. +static gboolean plugin_in_pipe_callback (GIOChannel* source, + GIOCondition condition, + gpointer plugin_data); +// Callback used to monitor output pipe status. +static gboolean plugin_out_pipe_callback (GIOChannel* source, + GIOCondition condition, + gpointer plugin_data); +static NPError plugin_start_appletviewer (GCJPluginData* data); +static gchar* plugin_create_applet_tag (int16_t argc, char* argn[], + char* argv[]); +static void plugin_stop_appletviewer (); +// Uninitialize GCJPluginData structure +static void plugin_data_destroy (NPP instance); + +NPError get_cookie_info(const char* siteAddr, char** cookieString, uint32_t* len); +NPError get_proxy_info(const char* siteAddr, char** proxy, uint32_t* len); +void consume_message(gchar* message); +void start_jvm_if_needed(); +static void appletviewer_monitor(GPid pid, gint status, gpointer data); + +// Global instance counter. +// Mutex to protect plugin_instance_counter. +static GMutex* plugin_instance_mutex = NULL; +// A global variable for reporting GLib errors. This must be free'd +// and set to NULL after each use. +static GError* channel_error = NULL; + +static GHashTable* instance_to_id_map = g_hash_table_new(NULL, NULL); +static GHashTable* id_to_instance_map = g_hash_table_new(NULL, NULL); +static gint instance_counter = 1; +static GPid appletviewer_pid = -1; +static guint appletviewer_watch_id = -1; + +int plugin_debug = getenv ("ICEDTEAPLUGIN_DEBUG") != NULL; + +pthread_cond_t cond_message_available = PTHREAD_COND_INITIALIZER; + +// Functions prefixed by GCJ_ are instance functions. They are called +// by the browser and operate on instances of GCJPluginData. +// Functions prefixed by plugin_ are static helper functions. +// Functions prefixed by NP_ are factory functions. They are called +// by the browser and provide functionality needed to create plugin +// instances. + +// INSTANCE FUNCTIONS + +// Creates a new gcjwebplugin instance. This function creates a +// GCJPluginData* and stores it in instance->pdata. The following +// GCJPluginData fiels are initialized: instance_string, in_pipe_name, +// in_from_appletviewer, in_watch_source, out_pipe_name, +// out_to_appletviewer, out_watch_source, appletviewer_mutex, owner, +// appletviewer_alive. In addition two pipe files are created. All +// of those fields must be properly destroyed, and the pipes deleted, +// by GCJ_Destroy. If an error occurs during initialization then this +// function will free anything that's been allocated so far, set +// instance->pdata to NULL and return an error code. +NPError +GCJ_New (NPMIMEType pluginType, NPP instance, uint16_t mode, + int16_t argc, char* argn[], char* argv[], + NPSavedData* saved) +{ + PLUGIN_DEBUG_0ARG("GCJ_New\n"); + + static NPObject *window_ptr; + NPIdentifier identifier; + NPVariant member_ptr; + browser_functions.getvalue(instance, NPNVWindowNPObject, &window_ptr); + identifier = browser_functions.getstringidentifier("document"); + printf("Looking for %p %p %p (%s)\n", instance, window_ptr, identifier, "document"); + if (!browser_functions.hasproperty(instance, window_ptr, identifier)) + { + printf("%s not found!\n", "document"); + } + browser_functions.getproperty(instance, window_ptr, identifier, &member_ptr); + + PLUGIN_DEBUG_1ARG("Got variant %p\n", &member_ptr); + + + NPError np_error = NPERR_NO_ERROR; + GCJPluginData* data = NULL; + + gchar* documentbase = NULL; + gchar* read_message = NULL; + gchar* applet_tag = NULL; + gchar* tag_message = NULL; + gchar* cookie_info = NULL; + + NPObject* npPluginObj = NULL; + + if (!instance) + { + PLUGIN_ERROR ("Browser-provided instance pointer is NULL."); + np_error = NPERR_INVALID_INSTANCE_ERROR; + goto cleanup_done; + } + + // data + plugin_data_new (&data); + if (data == NULL) + { + PLUGIN_ERROR ("Failed to allocate plugin data."); + np_error = NPERR_OUT_OF_MEMORY_ERROR; + goto cleanup_done; + } + + // start the jvm if needed + start_jvm_if_needed(); + + // Initialize data->instance_string. + // + // instance_string should be unique for this process so we use a + // combination of getpid and plugin_instance_counter. + // + // Critical region. Reference and increment plugin_instance_counter + // global. + g_mutex_lock (plugin_instance_mutex); + + // data->instance_string + data->instance_string = g_strdup_printf ("%d", + instance_counter); + + g_mutex_unlock (plugin_instance_mutex); + + // data->appletviewer_mutex + data->appletviewer_mutex = g_mutex_new (); + + g_mutex_lock (data->appletviewer_mutex); + + // Documentbase retrieval. + documentbase = plugin_get_documentbase (instance); + if (documentbase && argc != 0) + { + // Send applet tag message to appletviewer. + applet_tag = plugin_create_applet_tag (argc, argn, argv); + + tag_message = (gchar*) malloc(strlen(applet_tag)*sizeof(gchar) + strlen(documentbase)*sizeof(gchar) + 32); + g_sprintf(tag_message, "instance %d tag %s %s", instance_counter, documentbase, applet_tag); + + //plugin_send_message_to_appletviewer (data, data->instance_string); + plugin_send_message_to_appletviewer (tag_message); + + data->is_applet_instance = true; + } + + if (argc == 0) + { + data->is_applet_instance = false; + } + + g_mutex_unlock (data->appletviewer_mutex); + + // If initialization succeeded entirely then we store the plugin From gbenson at redhat.com Fri Mar 19 09:08:29 2010 From: gbenson at redhat.com (Gary Benson) Date: Fri, 19 Mar 2010 16:08:29 +0000 Subject: Shark updates Message-ID: <20100319160829.GD4543@redhat.com> Hi all, This commit updates icedtea6 to the latest Shark with the following fixes: - Correctly generate memory barriers on x86 (fixes volatile fields). - Throw an ArithmeticException on detecting a divide by zero. - Throw a ClassCastException when checkcast fails. - Work when the UseMembar command line option is specified. - Detect and handle stack overflows. - Bail out to the interpreter if a method tries to access a static variable before that class's has completed. - Do not attempt to handle exceptions thrown by monitorexit (fixes PR IcedTea/449). - Made (some) debug options available in production builds. Cheers, Gary -- http://gbenson.net/ -------------- next part -------------- diff -r 3fa0b8d84878 -r 9eb6324a42a6 ChangeLog --- a/ChangeLog Fri Mar 19 14:47:16 2010 +0000 +++ b/ChangeLog Fri Mar 19 15:50:36 2010 +0000 @@ -1,3 +1,62 @@ +2010-03-19 Gary Benson + + * ports/hotspot/src/cpu/zero/vm/disassembler_zero.hpp + (Disassembler::pd_instruction_alignment): Return a usable default. + (Disassembler::pd_cpu_opts): Likewise. + * ports/hotspot/src/share/vm/shark/sharkBlock.cpp + (SharkBlock::do_field_access): Indentation fixes. + * ports/hotspot/src/share/vm/shark/sharkBuilder.hpp + (SharkBuilder::throw_ArithmeticException): New method. + (SharkBuilder::throw_ClassCastException): Likewise. + (SharkBuilder::frame_address): Likewise. + (SharkBuilder::CreateGetFrameAddress): Likewise. + * ports/hotspot/src/share/vm/shark/sharkBuilder.cpp + (SharkBuilder::throw_ArithmeticException): New method. + (SharkBuilder::throw_ClassCastException): Likewise. + (SharkBuilder::frame_address): Likewise. + (SharkBuilder::CreateGetFrameAddress): Likewise. + (SharkBuilder::CreateMemoryBarrier): Actually do something on x86. + * ports/hotspot/src/share/vm/shark/sharkNativeWrapper.cpp + (SharkNativeWrapper::initialize): Implemented UseMembar code. + * ports/hotspot/src/share/vm/shark/sharkRuntime.hpp + (SharkRuntime::throw_ArithmeticException): New method. + (SharkRuntime::throw_ClassCastException): Likewise. + * ports/hotspot/src/share/vm/shark/sharkRuntime.cpp + (SharkRuntime::throw_ArithmeticException): New method. + (SharkRuntime::throw_ClassCastException): Likewise. + * ports/hotspot/src/share/vm/shark/sharkStack.hpp + (SharkStack::initialize): Added setup_sp_and_method parameter. + (SharkStack::CreateStackOverflowCheck): New method. + (SharkStack::CreateCheckStack): Likewise. + (SharkStack::interpreter_entry_point): Likewise. + (SharkStackWithNormalFrame::interpreter_entry_point): Likewise. + (SharkStackWithNativeFrame::interpreter_entry_point): Likewise. + (SharkStack::CreateHardStackOverflowCheck): Removed. + (SharkStack::CreateSoftStackOverflowCheck): Likewise. + * ports/hotspot/src/share/vm/shark/sharkStack.cpp + (SharkStack::initialize): Added setup_sp_and_method parameter, + and changed to use new stack overflow detection code. + (SharkStack::CreateStackOverflowCheck): New method. + (SharkStack::CreateCheckStack): Likewise. + (SharkStack::CreateHardStackOverflowCheck): Removed. + (SharkStack::CreateSoftStackOverflowCheck): Likewise. + (SharkStackWithNormalFrame::interpreter_entry_point): Likewise. + (SharkStackWithNativeFrame::interpreter_entry_point): Likewise. + (SharkStackWithNormalFrame::SharkStackWithNormalFrame): Updated. + (SharkStackWithNativeFrame::SharkStackWithNativeFrame): Likewise. + * ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp + (SharkTopLevelBlock::static_field_ok_in_clinit): New method. + * ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp + (SharkTopLevelBlock::scan_for_traps): New trap. + (SharkTopLevelBlock::static_field_ok_in_clinit): New method. + (SharkTopLevelBlock::zero_check_value): Throw arithmetic exception + for divide by zero. + (SharkTopLevelBlock::do_full_instance_check): Throw class cast + exception. + (SharkTopLevelBlock::do_monitorexit): Do not handle exceptions. + * ports/hotspot/src/share/vm/shark/shark_globals.hpp: + Make debugging options available in product builds. + 2010-03-19 Pavel Tisnovsky * patches/icedtea-sh4-support.patch: removed duplicated diff -r 3fa0b8d84878 -r 9eb6324a42a6 ports/hotspot/src/cpu/zero/vm/disassembler_zero.hpp --- a/ports/hotspot/src/cpu/zero/vm/disassembler_zero.hpp Fri Mar 19 14:47:16 2010 +0000 +++ b/ports/hotspot/src/cpu/zero/vm/disassembler_zero.hpp Fri Mar 19 15:50:36 2010 +0000 @@ -1,6 +1,6 @@ /* * Copyright 2003 Sun Microsystems, Inc. All Rights Reserved. - * Copyright 2007 Red Hat, Inc. + * Copyright 2007, 2010 Red Hat, Inc. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -23,13 +23,10 @@ * */ -// The disassembler prints out zero code annotated -// with Java specific information. - static int pd_instruction_alignment() { - ShouldNotCallThis(); + return 1; } static const char* pd_cpu_opts() { - ShouldNotCallThis(); + return ""; } diff -r 3fa0b8d84878 -r 9eb6324a42a6 ports/hotspot/src/share/vm/shark/sharkBlock.cpp --- a/ports/hotspot/src/share/vm/shark/sharkBlock.cpp Fri Mar 19 14:47:16 2010 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkBlock.cpp Fri Mar 19 15:50:36 2010 +0000 @@ -1,6 +1,6 @@ /* * Copyright 1999-2007 Sun Microsystems, Inc. All Rights Reserved. - * Copyright 2008, 2009 Red Hat, Inc. + * Copyright 2008, 2009, 2010 Red Hat, Inc. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -1043,18 +1043,20 @@ if (is_get) { Value *field_value = builder()->CreateLoad(addr); - if (field_type != stack_type) - field_value = builder()->CreateIntCast( - field_value, stack_type, basic_type != T_CHAR); + if (field_type != stack_type) { + field_value = builder()->CreateIntCast( + field_value, stack_type, basic_type != T_CHAR); + } value = SharkValue::create_generic(field->type(), field_value, false); } else { Value *field_value = value->generic_value(); - if (field_type != stack_type) + if (field_type != stack_type) { field_value = builder()->CreateIntCast( field_value, field_type, basic_type != T_CHAR); + } builder()->CreateStore(field_value, addr); diff -r 3fa0b8d84878 -r 9eb6324a42a6 ports/hotspot/src/share/vm/shark/sharkBuilder.cpp --- a/ports/hotspot/src/share/vm/shark/sharkBuilder.cpp Fri Mar 19 14:47:16 2010 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkBuilder.cpp Fri Mar 19 15:50:36 2010 +0000 @@ -1,6 +1,6 @@ /* * Copyright 1999-2007 Sun Microsystems, Inc. All Rights Reserved. - * Copyright 2008, 2009 Red Hat, Inc. + * Copyright 2008, 2009, 2010 Red Hat, Inc. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -224,11 +224,21 @@ return make_function((address) SafepointSynchronize::block, "T", "v"); } +Value* SharkBuilder::throw_ArithmeticException() { + return make_function( + (address) SharkRuntime::throw_ArithmeticException, "TCi", "v"); +} + Value* SharkBuilder::throw_ArrayIndexOutOfBoundsException() { return make_function( (address) SharkRuntime::throw_ArrayIndexOutOfBoundsException, "TCii", "v"); } +Value* SharkBuilder::throw_ClassCastException() { + return make_function( + (address) SharkRuntime::throw_ClassCastException, "TCi", "v"); +} + Value* SharkBuilder::throw_NullPointerException() { return make_function( (address) SharkRuntime::throw_NullPointerException, "TCi", "v"); @@ -374,6 +384,10 @@ "Xxx", "x"); } +Value* SharkBuilder::frame_address() { + return make_function("llvm.frameaddress", "i", "C"); +} + Value* SharkBuilder::memory_barrier() { return make_function( #ifdef ARM @@ -414,13 +428,17 @@ return CreateCall3(cmpxchg_ptr(), dst, compare_value, exchange_value); } +CallInst* SharkBuilder::CreateGetFrameAddress() { + return CreateCall(frame_address(), LLVMValue::jint_constant(0)); +} + CallInst *SharkBuilder::CreateMemoryBarrier(int flags) { Value *args[] = { LLVMValue::bit_constant((flags & BARRIER_LOADLOAD) ? 1 : 0), LLVMValue::bit_constant((flags & BARRIER_LOADSTORE) ? 1 : 0), LLVMValue::bit_constant((flags & BARRIER_STORELOAD) ? 1 : 0), LLVMValue::bit_constant((flags & BARRIER_STORESTORE) ? 1 : 0), - LLVMValue::bit_constant(0)}; + LLVMValue::bit_constant(1)}; return CreateCall(memory_barrier(), args, args + 5); } diff -r 3fa0b8d84878 -r 9eb6324a42a6 ports/hotspot/src/share/vm/shark/sharkBuilder.hpp --- a/ports/hotspot/src/share/vm/shark/sharkBuilder.hpp Fri Mar 19 14:47:16 2010 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkBuilder.hpp Fri Mar 19 15:50:36 2010 +0000 @@ -1,6 +1,6 @@ /* * Copyright 1999-2007 Sun Microsystems, Inc. All Rights Reserved. - * Copyright 2008, 2009 Red Hat, Inc. + * Copyright 2008, 2009, 2010 Red Hat, Inc. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -96,7 +96,9 @@ llvm::Value* multianewarray(); llvm::Value* register_finalizer(); llvm::Value* safepoint(); + llvm::Value* throw_ArithmeticException(); llvm::Value* throw_ArrayIndexOutOfBoundsException(); + llvm::Value* throw_ClassCastException(); llvm::Value* throw_NullPointerException(); // Intrinsics and external functions, part 2: High-level non-VM calls. @@ -145,6 +147,7 @@ private: llvm::Value* cmpxchg_int(); llvm::Value* cmpxchg_ptr(); + llvm::Value* frame_address(); llvm::Value* memory_barrier(); llvm::Value* memset(); llvm::Value* unimplemented(); @@ -159,6 +162,7 @@ llvm::CallInst* CreateCmpxchgPtr(llvm::Value* exchange_value, llvm::Value* dst, llvm::Value* compare_value); + llvm::CallInst* CreateGetFrameAddress(); llvm::CallInst* CreateMemoryBarrier(int flags); llvm::CallInst* CreateMemset(llvm::Value* dst, llvm::Value* value, diff -r 3fa0b8d84878 -r 9eb6324a42a6 ports/hotspot/src/share/vm/shark/sharkNativeWrapper.cpp --- a/ports/hotspot/src/share/vm/shark/sharkNativeWrapper.cpp Fri Mar 19 14:47:16 2010 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkNativeWrapper.cpp Fri Mar 19 15:50:36 2010 +0000 @@ -1,6 +1,6 @@ /* * Copyright 1999-2007 Sun Microsystems, Inc. All Rights Reserved. - * Copyright 2009 Red Hat, Inc. + * Copyright 2009, 2010 Red Hat, Inc. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -218,7 +218,7 @@ // Make sure new state is visible in the GC thread if (os::is_MP()) { if (UseMembar) - { Unimplemented(); } + builder()->CreateMemoryBarrier(SharkBuilder::BARRIER_STORELOAD); else CreateWriteMemorySerializePage(); } diff -r 3fa0b8d84878 -r 9eb6324a42a6 ports/hotspot/src/share/vm/shark/sharkRuntime.cpp --- a/ports/hotspot/src/share/vm/shark/sharkRuntime.cpp Fri Mar 19 14:47:16 2010 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkRuntime.cpp Fri Mar 19 15:50:36 2010 +0000 @@ -133,6 +133,15 @@ instanceKlass::register_finalizer(instanceOop(object), CHECK); JRT_END +JRT_ENTRY(void, SharkRuntime::throw_ArithmeticException(JavaThread* thread, + const char* file, + int line)) + Exceptions::_throw_msg( + thread, file, line, + vmSymbols::java_lang_ArithmeticException(), + ""); +JRT_END + JRT_ENTRY(void, SharkRuntime::throw_ArrayIndexOutOfBoundsException( JavaThread* thread, const char* file, @@ -146,6 +155,15 @@ msg); JRT_END +JRT_ENTRY(void, SharkRuntime::throw_ClassCastException(JavaThread* thread, + const char* file, + int line)) + Exceptions::_throw_msg( + thread, file, line, + vmSymbols::java_lang_ClassCastException(), + ""); +JRT_END + JRT_ENTRY(void, SharkRuntime::throw_NullPointerException(JavaThread* thread, const char* file, int line)) diff -r 3fa0b8d84878 -r 9eb6324a42a6 ports/hotspot/src/share/vm/shark/sharkRuntime.hpp --- a/ports/hotspot/src/share/vm/shark/sharkRuntime.hpp Fri Mar 19 14:47:16 2010 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkRuntime.hpp Fri Mar 19 15:50:36 2010 +0000 @@ -43,10 +43,16 @@ static void register_finalizer(JavaThread* thread, oop object); + static void throw_ArithmeticException(JavaThread* thread, + const char* file, + int line); static void throw_ArrayIndexOutOfBoundsException(JavaThread* thread, const char* file, int line, int index); + static void throw_ClassCastException(JavaThread* thread, + const char* file, + int line); static void throw_NullPointerException(JavaThread* thread, const char* file, int line); diff -r 3fa0b8d84878 -r 9eb6324a42a6 ports/hotspot/src/share/vm/shark/sharkStack.cpp --- a/ports/hotspot/src/share/vm/shark/sharkStack.cpp Fri Mar 19 14:47:16 2010 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkStack.cpp Fri Mar 19 15:50:36 2010 +0000 @@ -1,6 +1,6 @@ /* * Copyright 1999-2007 Sun Microsystems, Inc. All Rights Reserved. - * Copyright 2008, 2009 Red Hat, Inc. + * Copyright 2008, 2009, 2010 Red Hat, Inc. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -28,9 +28,7 @@ using namespace llvm; -void SharkStack::initialize(Value* method) { - bool setup_sp_and_method = (method != NULL); - +void SharkStack::initialize(Value* method, bool setup_sp_and_method) { int locals_words = max_locals(); int extra_locals = locals_words - arg_size(); int header_words = SharkFrame::header_words; @@ -44,7 +42,7 @@ Value *stack_pointer = builder()->CreateSub( CreateLoadStackPointer(), LLVMValue::intptr_constant((frame_words + extra_locals) * wordSize)); - CreateHardStackOverflowCheck(stack_pointer); + CreateStackOverflowCheck(stack_pointer, method); if (setup_sp_and_method) CreateStoreStackPointer(stack_pointer); @@ -94,35 +92,63 @@ builder()->CreateStore(CreateLoadFramePointer(), fp); CreateStoreFramePointer( builder()->CreatePtrToInt(fp, SharkType::intptr_type())); - - // Check we're not about to run out of stack - CreateSoftStackOverflowCheck(stack_pointer); } -// Check that the stack will not overflow before a stack pointer -// update. Overflows here are problematic as we haven't yet -// created a frame, so it's not clear how to report the error. -// http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=249 -void SharkStack::CreateHardStackOverflowCheck(Value* sp) { - BasicBlock *overflow = CreateBlock("stack_overflow"); - BasicBlock *no_overflow = CreateBlock("no_overflow"); +// Check that a stack overflow is not imminent, bailing to the +// interpreter to throw a StackOverflowError if one is while +// we still have some stack left to do it with. This function +// should mirror CppInterpreter::stack_overflow_imminent. +void SharkStack::CreateStackOverflowCheck(Value* sp, Value* method) { + BasicBlock *overflow = CreateBlock("overflow_imminent"); + BasicBlock *abi_ok = CreateBlock("abi_stack_ok"); + BasicBlock *zero_ok = CreateBlock("zero_stack_ok"); - builder()->CreateCondBr( - builder()->CreateICmpULT(sp, stack_base()), - overflow, no_overflow); + // Check the ABI stack + CreateCheckStack( + builder()->CreateSub( + builder()->CreateValueOfStructEntry( + thread(), + Thread::stack_base_offset(), + SharkType::intptr_type(), + "abi_base"), + builder()->CreateValueOfStructEntry( + thread(), + Thread::stack_size_offset(), + SharkType::intptr_type(), + "abi_size")), + builder()->CreatePtrToInt( + builder()->CreateGetFrameAddress(), + SharkType::intptr_type(), + "abi_pointer"), + overflow, abi_ok); + // Check the Zero stack + builder()->SetInsertPoint(abi_ok); + CreateCheckStack(stack_base(), sp, overflow, zero_ok); + + // Bail to the interpreter if an overflow is imminent builder()->SetInsertPoint(overflow); - builder()->CreateUnimplemented(__FILE__, __LINE__); - builder()->CreateUnreachable(); + builder()->CreateCall3( + builder()->CreateIntToPtr( + LLVMValue::intptr_constant((intptr_t) interpreter_entry_point()), + PointerType::getUnqual(SharkType::entry_point_type())), + method, + LLVMValue::intptr_constant(0), + thread()); + builder()->CreateRetVoid(); - builder()->SetInsertPoint(no_overflow); + builder()->SetInsertPoint(zero_ok); } -// Check that a stack overflow is not imminent, throwing a -// StackOverflowError if it is while we still have the stack -// in which to do so. -void SharkStack::CreateSoftStackOverflowCheck(Value* sp) { - // XXX see CppInterpreter::stack_overflow_imminent +void SharkStack::CreateCheckStack(Value* base, + Value* sp, + BasicBlock* overflow, + BasicBlock* no_overflow) { + builder()->CreateCondBr( + builder()->CreateICmpULT( + builder()->CreateSub(sp, base), + LLVMValue::intptr_constant(StackShadowPages * os::vm_page_size())), + overflow, no_overflow); } Value* SharkStack::CreatePopFrame(int result_slots) { @@ -176,12 +202,12 @@ // be set during each decache, so it is not necessary to do them // at the time the frame is created. However, we set them for // non-PRODUCT builds to make crash dumps easier to understand. - initialize(PRODUCT_ONLY(NULL) NOT_PRODUCT(method)); + initialize(method, NOT_PRODUCT(true) PRODUCT_ONLY(false)); } SharkStackWithNativeFrame::SharkStackWithNativeFrame(SharkNativeWrapper* wrp, Value* method) : SharkStack(wrp), _wrapper(wrp) { - initialize(method); + initialize(method, true); } int SharkStackWithNormalFrame::arg_size() const { @@ -218,3 +244,10 @@ BasicBlock* SharkStackWithNativeFrame::CreateBlock(const char* name) const { return wrapper()->CreateBlock(name); } + +address SharkStackWithNormalFrame::interpreter_entry_point() const { + return (address) CppInterpreter::normal_entry; +} +address SharkStackWithNativeFrame::interpreter_entry_point() const { + return (address) CppInterpreter::native_entry; +} diff -r 3fa0b8d84878 -r 9eb6324a42a6 ports/hotspot/src/share/vm/shark/sharkStack.hpp --- a/ports/hotspot/src/share/vm/shark/sharkStack.hpp Fri Mar 19 14:47:16 2010 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkStack.hpp Fri Mar 19 15:50:36 2010 +0000 @@ -1,6 +1,6 @@ /* * Copyright 1999-2007 Sun Microsystems, Inc. All Rights Reserved. - * Copyright 2008, 2009 Red Hat, Inc. + * Copyright 2008, 2009, 2010 Red Hat, Inc. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -40,11 +40,16 @@ : SharkCompileInvariants(parent) {} protected: - void initialize(llvm::Value* method); + void initialize(llvm::Value* method, bool setup_sp_and_method); protected: - void CreateHardStackOverflowCheck(llvm::Value* sp); - void CreateSoftStackOverflowCheck(llvm::Value* sp); + void CreateStackOverflowCheck(llvm::Value* sp, llvm::Value* method); + + private: + void CreateCheckStack(llvm::Value* base, + llvm::Value* sp, + llvm::BasicBlock* overflow, + llvm::BasicBlock* no_overflow); // Properties of the method being compiled protected: @@ -57,6 +62,10 @@ protected: virtual llvm::BasicBlock* CreateBlock(const char* name = "") const = 0; + // Interpreter entry point for bailouts + protected: + virtual address interpreter_entry_point() const = 0; + // Interface with the Zero stack private: llvm::Value* zero_stack() const { @@ -235,6 +244,10 @@ // BasicBlock creation private: llvm::BasicBlock* CreateBlock(const char* name = "") const; + + // Interpreter entry point for bailouts + private: + address interpreter_entry_point() const; }; class SharkStackWithNativeFrame : public SharkStack { @@ -261,4 +274,8 @@ // BasicBlock creation private: llvm::BasicBlock* CreateBlock(const char* name = "") const; + + // Interpreter entry point for bailouts + private: + address interpreter_entry_point() const; }; diff -r 3fa0b8d84878 -r 9eb6324a42a6 ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp --- a/ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp Fri Mar 19 14:47:16 2010 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp Fri Mar 19 15:50:36 2010 +0000 @@ -1,6 +1,6 @@ /* * Copyright 1999-2007 Sun Microsystems, Inc. All Rights Reserved. - * Copyright 2008, 2009 Red Hat, Inc. + * Copyright 2008, 2009, 2010 Red Hat, Inc. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -72,6 +72,18 @@ Deoptimization::Action_none), bci()); return; } + + // Bail out if we are trying to access a static variable + // before the class initializer has completed. + if (!is_field && !field->holder()->is_initialized()) { + if (!static_field_ok_in_clinit(field)) { + set_trap( + Deoptimization::make_trap_request( + Deoptimization::Reason_uninitialized, + Deoptimization::Action_reinterpret), bci()); + return; + } + } break; case Bytecodes::_invokestatic: @@ -139,6 +151,31 @@ } } +bool SharkTopLevelBlock::static_field_ok_in_clinit(ciField* field) { + assert(field->is_static(), "should be"); + + // This code is lifted pretty much verbatim from C2's + // Parse::static_field_ok_in_clinit() in parse3.cpp. + bool access_OK = false; + if (target()->holder()->is_subclass_of(field->holder())) { + if (target()->is_static()) { + if (target()->name() == ciSymbol::class_initializer_name()) { + // It's OK to access static fields from the class initializer + access_OK = true; + } + } + else { + if (target()->name() == ciSymbol::object_initializer_name()) { + // It's also OK to access static fields inside a constructor, + // because any thread calling the constructor must first have + // synchronized on the class by executing a "new" bytecode. + access_OK = true; + } + } + } + return access_OK; +} + SharkState* SharkTopLevelBlock::entry_state() { if (_entry_state == NULL) { assert(needs_phis(), "should do"); @@ -329,7 +366,13 @@ EX_CHECK_NONE); } else { - builder()->CreateUnimplemented(__FILE__, __LINE__); + call_vm( + builder()->throw_ArithmeticException(), + builder()->CreateIntToPtr( + LLVMValue::intptr_constant((intptr_t) __FILE__), + PointerType::getUnqual(SharkType::jbyte_type())), + LLVMValue::jint_constant(__LINE__), + EX_CHECK_NONE); } Value *pending_exception = get_pending_exception(); @@ -1344,9 +1387,21 @@ success, failure); builder()->SetInsertPoint(failure); - builder()->CreateUnimplemented(__FILE__, __LINE__); - builder()->CreateUnreachable(); + SharkState *saved_state = current_state()->copy(); + call_vm( + builder()->throw_ClassCastException(), + builder()->CreateIntToPtr( + LLVMValue::intptr_constant((intptr_t) __FILE__), + PointerType::getUnqual(SharkType::jbyte_type())), + LLVMValue::jint_constant(__LINE__), + EX_CHECK_NONE); + + Value *pending_exception = get_pending_exception(); + clear_pending_exception(); + handle_exception(pending_exception, EX_CHECK_FULL); + + set_current_state(saved_state); builder()->SetInsertPoint(success); push(SharkValue::create_generic(klass, object, false)); } @@ -1652,7 +1707,7 @@ void SharkTopLevelBlock::do_monitorexit() { pop(); // don't need this (monitors are block structured) - release_lock(EX_CHECK_FULL); + release_lock(EX_CHECK_NO_CATCH); } void SharkTopLevelBlock::acquire_lock(Value *lockee, int exception_action) { diff -r 3fa0b8d84878 -r 9eb6324a42a6 ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp --- a/ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp Fri Mar 19 14:47:16 2010 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp Fri Mar 19 15:50:36 2010 +0000 @@ -1,6 +1,6 @@ /* * Copyright 1999-2007 Sun Microsystems, Inc. All Rights Reserved. - * Copyright 2008, 2009 Red Hat, Inc. + * Copyright 2008, 2009, 2010 Red Hat, Inc. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -122,6 +122,9 @@ private: void scan_for_traps(); + private: + bool static_field_ok_in_clinit(ciField* field); + // Entry state private: bool _entered; diff -r 3fa0b8d84878 -r 9eb6324a42a6 ports/hotspot/src/share/vm/shark/shark_globals.hpp --- a/ports/hotspot/src/share/vm/shark/shark_globals.hpp Fri Mar 19 14:47:16 2010 +0000 +++ b/ports/hotspot/src/share/vm/shark/shark_globals.hpp Fri Mar 19 15:50:36 2010 +0000 @@ -1,6 +1,6 @@ /* * Copyright 2000-2007 Sun Microsystems, Inc. All Rights Reserved. - * Copyright 2008, 2009 Red Hat, Inc. + * Copyright 2008, 2009, 2010 Red Hat, Inc. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -23,10 +23,6 @@ * */ -// -// Defines all global flags used by the shark compiler. -// - #define SHARK_FLAGS(develop, develop_pd, product, product_pd, diagnostic, notproduct) \ \ product(intx, MaxNodeLimit, 65000, \ @@ -40,19 +36,19 @@ develop(ccstr, SharkPrintTypeflowOf, NULL, \ "Print the typeflow of the specified method") \ \ - develop(ccstr, SharkPrintBitcodeOf, NULL, \ + diagnostic(ccstr, SharkPrintBitcodeOf, NULL, \ "Print the LLVM bitcode of the specified method") \ \ - develop(ccstr, SharkPrintAsmOf, NULL, \ + diagnostic(ccstr, SharkPrintAsmOf, NULL, \ "Print the asm of the specified method") \ \ develop(bool, SharkTraceBytecodes, false, \ "Trace bytecode compilation") \ \ - develop(bool, SharkTraceInstalls, false, \ + diagnostic(bool, SharkTraceInstalls, false, \ "Trace method installation") \ \ - develop(bool, SharkPerformanceWarnings, false, \ + diagnostic(bool, SharkPerformanceWarnings, false, \ "Warn about things that could be made faster") \ SHARK_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PD_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_PD_PRODUCT_FLAG, DECLARE_DIAGNOSTIC_FLAG, DECLARE_NOTPRODUCT_FLAG) From dbhole at icedtea.classpath.org Fri Mar 19 10:19:51 2010 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Fri, 19 Mar 2010 17:19:51 +0000 Subject: /hg/icedtea6: Fixed build: Changed IcedTeaPlugin.o -> IcedTeaNPP... Message-ID: changeset 3d52e1810e29 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=3d52e1810e29 author: Deepak Bhole date: Fri Mar 19 13:19:46 2010 -0400 Fixed build: Changed IcedTeaPlugin.o -> IcedTeaNPPlugin.o diffstat: 2 files changed, 5 insertions(+), 1 deletion(-) ChangeLog | 4 ++++ Makefile.am | 2 +- diffs (23 lines): diff -r 20627a528aa1 -r 3d52e1810e29 ChangeLog --- a/ChangeLog Fri Mar 19 15:51:26 2010 +0000 +++ b/ChangeLog Fri Mar 19 13:19:46 2010 -0400 @@ -1,3 +1,7 @@ 2010-03-19 Gary Benson + + * Makefile.am: Change IcedTeaPlugin.o -> IcedTeaNPPlugin.o + 2010-03-19 Gary Benson * ports/hotspot/src/cpu/zero/vm/disassembler_zero.hpp diff -r 20627a528aa1 -r 3d52e1810e29 Makefile.am --- a/Makefile.am Fri Mar 19 15:51:26 2010 +0000 +++ b/Makefile.am Fri Mar 19 13:19:46 2010 -0400 @@ -1574,7 +1574,7 @@ PLUGIN_SRC=IcedTeaNPPlugin.cc IcedTeaScr IcedTeaJavaRequestProcessor.cc IcedTeaPluginRequestProcessor.cc \ IcedTeaPluginUtils.cc -PLUGIN_OBJECTS=IcedTeaPlugin.o IcedTeaScriptablePluginObject.o \ +PLUGIN_OBJECTS=IcedTeaNPPlugin.o IcedTeaScriptablePluginObject.o \ IcedTeaJavaRequestProcessor.o IcedTeaPluginRequestProcessor.o \ IcedTeaPluginUtils.o From ahughes at redhat.com Fri Mar 19 10:42:57 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Fri, 19 Mar 2010 17:42:57 +0000 Subject: 1.8 Bugs Message-ID: <17c6771e1003191042n43a74af3v6f5fa02172aa2085@mail.gmail.com> I've further updated the NEWS for 1.8 with the build and OpenJDK b18 changes. We only seem to have one bug marked as fixed in 1.8: http://icedtea.classpath.org/bugzilla/buglist.cgi?target_milestone=6-1.8&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED If there are others, please set the target milestone appropriately. Thanks, -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From andrew at icedtea.classpath.org Fri Mar 19 10:46:25 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 19 Mar 2010 17:46:25 +0000 Subject: /hg/icedtea6: Remove duplication between ICEDTEA_ENV and ICEDTEA... Message-ID: changeset 7857039dc3da in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=7857039dc3da author: Andrew John Hughes date: Fri Mar 19 17:46:05 2010 +0000 Remove duplication between ICEDTEA_ENV and ICEDTEA_ENV_ECJ. 2010-03-19 Andrew John Hughes * Makefile.am: (ICEDTEA_ENV_ECJ): Include ICEDTEA_ENV. Remove duplication between ICEDTEA_ENV and ICEDTEA_ENV_ECJ. diffstat: 2 files changed, 9 insertions(+), 77 deletions(-) ChangeLog | 9 ++++++ Makefile.am | 77 ----------------------------------------------------------- diffs (123 lines): diff -r 3d52e1810e29 -r 7857039dc3da ChangeLog --- a/ChangeLog Fri Mar 19 13:19:46 2010 -0400 +++ b/ChangeLog Fri Mar 19 17:46:05 2010 +0000 @@ -1,3 +1,10 @@ 2010-03-19 Deepak Bhole + + * Makefile.am: + (ICEDTEA_ENV_ECJ): Include ICEDTEA_ENV. + Remove duplication between ICEDTEA_ENV + and ICEDTEA_ENV_ECJ. + 2010-03-19 Deepak Bhole * Makefile.am: Change IcedTeaPlugin.o -> IcedTeaNPPlugin.o @@ -65,7 +72,7 @@ 2010-03-19 Deepak Bhole http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=455 Summary: stack on java's web page Product: IcedTea Version: unspecified Platform: 32-bit OS/Version: Linux Status: NEW Severity: major Priority: P2 Component: IcedTea6 AssignedTo: unassigned at icedtea.classpath.org ReportedBy: ferlomo at gmail.com # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x01cce32c, pid=18821, tid=163257232 # # JRE version: 6.0-b16 # Java VM: OpenJDK Client VM (14.0-b16 mixed mode linux-x86 ) # Distribution: Custom build (Thu Nov 12 09:39:15 EST 2009) # Problematic frame: # C 0x01cce32c # # If you would like to submit a bug report, please include # instructions how to reproduce the bug and visit: # http://icedtea.classpath.org/bugzilla # --------------- T H R E A D --------------- Current thread is native thread siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x01cce32c Registers: EAX=0x01cce32c, EBX=0x00ddfff4, ECX=0x00000000, EDX=0x0a35f3e8 ESP=0x09bb13cc, EBP=0x09bb14b8, ESI=0x0000000f, EDI=0x00de01d8 EIP=0x01cce32c, CR2=0x01cce32c, EFLAGS=0x00010206 Top of Stack: (sp=0x09bb13cc) 0x09bb13cc: 00dcf5ca 0a35f3e8 00000000 00000000 0x09bb13dc: 00000000 00000000 00de0160 09bb1b90 0x09bb13ec: 00000000 09bb1bfc 00000000 00000000 0x09bb13fc: 00000000 00000000 00000000 00000000 0x09bb140c: 00000000 00000000 00000000 00000000 0x09bb141c: 00000000 00000000 00000000 00000000 0x09bb142c: 00000000 00000000 00000000 00000000 0x09bb143c: 00000000 00000000 00000000 00000000 Instructions: (pc=0x01cce32c) 0x01cce31c: [error occurred during error reporting (printing registers, top of stack, instructions near pc), id 0xb] Stack: [0x09b61000,0x09bb2000], sp=0x09bb13cc, free space=320k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) C 0x01cce32c --------------- P R O C E S S --------------- VM state:not at safepoint (normal execution) VM Mutex/Monitor currently owned by a thread: None Heap def new generation total 1408K, used 1131K [0x937d0000, 0x93950000, 0x95f30000) eden space 1280K, 87% used [0x937d0000, 0x938e7d90, 0x93910000) from space 128K, 9% used [0x93930000, 0x93933208, 0x93950000) to space 128K, 0% used [0x93910000, 0x93910000, 0x93930000) tenured generation total 17040K, used 10783K [0x95f30000, 0x96fd4000, 0xb37d0000) the space 17040K, 63% used [0x95f30000, 0x969b7ef0, 0x969b8000, 0x96fd4000) compacting perm gen total 14592K, used 14569K [0xb37d0000, 0xb4610000, 0xb77d0000) the space 14592K, 99% used [0xb37d0000, 0xb460a750, 0xb460a800, 0xb4610000) No shared spaces configured. Dynamic libraries: 00101000-00104000 r-xp 00000000 fd:00 35897350 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/jli/libjli.so 00104000-00105000 rw-p 00003000 fd:00 35897350 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/jli/libjli.so 00110000-00119000 rwxp 00110000 00:00 0 00119000-001fd000 rwxp 00119000 00:00 0 001fd000-00202000 r-xp 00000000 fd:00 41820470 /usr/lib/libXtst.so.6.1.0 00202000-00203000 rw-p 00004000 fd:00 41820470 /usr/lib/libXtst.so.6.1.0 00203000-00204000 r-xp 00000000 fd:00 35652837 /usr/lib/libxcb-xlib.so.0.0.0 00204000-00205000 rw-p 00000000 fd:00 35652837 /usr/lib/libxcb-xlib.so.0.0.0 00205000-0020d000 r-xp 00000000 fd:00 41829540 /lib/librt-2.9.so 0020d000-0020e000 r--p 00007000 fd:00 41829540 /lib/librt-2.9.so 0020e000-0020f000 rw-p 00008000 fd:00 41829540 /lib/librt-2.9.so 0020f000-00210000 rwxp 0020f000 00:00 0 00210000-00222000 rwxp 00210000 00:00 0 00222000-0022c000 rwxp 00222000 00:00 0 0022c000-0030f000 rwxp 0022c000 00:00 0 0030f000-00317000 rwxp 0030f000 00:00 0 00317000-0032f000 rwxp 00317000 00:00 0 0032f000-00338000 rwxp 0032f000 00:00 0 00338000-00351000 rwxp 00338000 00:00 0 00351000-00354000 ---p 00351000 00:00 0 00354000-003a2000 rwxp 00354000 00:00 0 003a2000-003b1000 r-xp 00000000 fd:00 35653031 /usr/lib/libXext.so.6.4.0 003b1000-003b2000 rw-p 0000e000 fd:00 35653031 /usr/lib/libXext.so.6.4.0 003b2000-003ba000 r-xp 00000000 fd:00 35652864 /usr/lib/libXrender.so.1.3.0 003ba000-003bb000 rw-p 00007000 fd:00 35652864 /usr/lib/libXrender.so.1.3.0 003bb000-003c3000 r-xp 00000000 fd:00 35653038 /usr/lib/libXi.so.6.0.0 003c3000-003c4000 rw-p 00007000 fd:00 35653038 /usr/lib/libXi.so.6.0.0 003c4000-003c5000 r--p 003c4000 00:00 0 003c6000-003d1000 r-xp 00000000 fd:00 41828538 /lib/libnss_files-2.9.so 003d1000-003d2000 r--p 0000a000 fd:00 41828538 /lib/libnss_files-2.9.so 003d2000-003d3000 rw-p 0000b000 fd:00 41828538 /lib/libnss_files-2.9.so 003d3000-003d5000 r-xp 00000000 fd:00 41820296 /usr/lib/libXau.so.6.0.0 003d5000-003d6000 rw-p 00001000 fd:00 41820296 /usr/lib/libXau.so.6.0.0 003d6000-003f1000 r-xp 00000000 fd:00 35652734 /usr/lib/libxcb.so.1.0.0 003f1000-003f2000 rw-p 0001b000 fd:00 35652734 /usr/lib/libxcb.so.1.0.0 003f2000-003f7000 r-xp 00000000 fd:00 41820297 /usr/lib/libXdmcp.so.6.0.0 003f7000-003f8000 rw-p 00004000 fd:00 41820297 /usr/lib/libXdmcp.so.6.0.0 003f8000-00401000 r-xp 00000000 fd:00 35653268 /usr/lib/libXcursor.so.1.0.2 00401000-00402000 rw-p 00008000 fd:00 35653268 /usr/lib/libXcursor.so.1.0.2 00402000-00404000 r-xp 00000000 fd:00 35653289 /usr/lib/libXcomposite.so.1.0.0 00404000-00405000 rw-p 00001000 fd:00 35653289 /usr/lib/libXcomposite.so.1.0.0 00406000-0040c000 r-xp 00000000 fd:00 35897431 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/native_threads/libhpi.so 0040c000-0040d000 rw-p 00006000 fd:00 35897431 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/native_threads/libhpi.so 0040d000-00410000 ---p 0040d000 00:00 0 00410000-0045e000 rwxp 00410000 00:00 0 0045e000-00461000 ---p 0045e000 00:00 0 00461000-004df000 rwxp 00461000 00:00 0 004df000-004e2000 ---p 004df000 00:00 0 004e2000-00530000 rwxp 004e2000 00:00 0 00530000-00544000 r-xp 00000000 fd:00 35897387 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/libnet.so 00544000-00545000 rw-p 00013000 fd:00 35897387 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/libnet.so 00545000-00549000 r-xp 00000000 fd:00 35653208 /usr/lib/libXfixes.so.3.1.0 00549000-0054a000 rw-p 00003000 fd:00 35653208 /usr/lib/libXfixes.so.3.1.0 0054a000-0054f000 r-xp 00000000 fd:00 41828536 /lib/libnss_dns-2.9.so 0054f000-00550000 r--p 00004000 fd:00 41828536 /lib/libnss_dns-2.9.so 00550000-00551000 rw-p 00005000 fd:00 41828536 /lib/libnss_dns-2.9.so 00551000-0055b000 r-xp 00000000 fd:00 41821312 /usr/lib/libpangocairo-1.0.so.0.2203.0 0055b000-0055c000 rw-p 00009000 fd:00 41821312 /usr/lib/libpangocairo-1.0.so.0.2203.0 0055c000-0055f000 r-xp 00000000 fd:00 41828851 /lib/libgmodule-2.0.so.0.1800.4 0055f000-00560000 rw-p 00002000 fd:00 41828851 /lib/libgmodule-2.0.so.0.1800.4 00560000-00562000 r-xp 00000000 fd:00 35653033 /usr/lib/libXinerama.so.1.0.0 00562000-00563000 rw-p 00001000 fd:00 35653033 /usr/lib/libXinerama.so.1.0.0 00563000-00569000 r-xp 00000000 fd:00 35653146 /usr/lib/libXrandr.so.2.1.0 00569000-0056a000 rw-p 00005000 fd:00 35653146 /usr/lib/libXrandr.so.2.1.0 0056a000-0056b000 r-xp 00000000 fd:00 35897426 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/libjsound.so 0056b000-0056c000 rw-p 00000000 fd:00 35897426 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/libjsound.so 0056d000-00579000 r-xp 00000000 fd:00 35897395 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/libverify.so 00579000-0057a000 rw-p 0000b000 fd:00 35897395 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/libverify.so 0057a000-005bd000 r-xp 00000000 fd:00 35897403 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/xawt/libmawt.so 005bd000-005bf000 rw-p 00043000 fd:00 35897403 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/xawt/libmawt.so 005bf000-005c0000 rw-p 005bf000 00:00 0 005c0000-005ce000 r-xp 00000000 fd:00 35890207 /usr/lib/gtk-2.0/modules/libgnomebreakpad.so 005ce000-005cf000 rw-p 0000d000 fd:00 35890207 /usr/lib/gtk-2.0/modules/libgnomebreakpad.so 005d2000-005d3000 r-xp 005d2000 00:00 0 [vdso] 005d3000-005d4000 ---p 005d3000 00:00 0 005d4000-00654000 rwxp 005d4000 00:00 0 00654000-006d6000 r-xp 00000000 fd:00 35897389 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/libawt.so 006d6000-006dd000 rw-p 00082000 fd:00 35897389 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/libawt.so 006dd000-00701000 rw-p 006dd000 00:00 0 00701000-00745000 r-xp 00000000 fd:00 35897397 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/libfontmanager.so 00745000-00747000 rw-p 00043000 fd:00 35897397 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/libfontmanager.so 00747000-0074b000 rw-p 00747000 00:00 0 0074b000-00767000 r-xp 00000000 fd:00 41821313 /usr/lib/libgdk_pixbuf-2.0.so.0.1400.7 00767000-00768000 rw-p 0001b000 fd:00 41821313 /usr/lib/libgdk_pixbuf-2.0.so.0.1400.7 00768000-00796000 r-xp 00000000 fd:00 41820295 /usr/lib/libfontconfig.so.1.3.0 00796000-00797000 rw-p 0002e000 fd:00 41820295 /usr/lib/libfontconfig.so.1.3.0 00797000-00799000 r-xp 00000000 fd:00 35693381 /usr/lib/gconv/ISO8859-1.so 00799000-0079a000 r--p 00001000 fd:00 35693381 /usr/lib/gconv/ISO8859-1.so 0079a000-0079b000 rw-p 00002000 fd:00 35693381 /usr/lib/gconv/ISO8859-1.so 0079b000-0079e000 ---p 0079b000 00:00 0 0079e000-007ec000 rwxp 0079e000 00:00 0 007ec000-007ef000 ---p 007ec000 00:00 0 007ef000-0083d000 rwxp 007ef000 00:00 0 0083d000-00858000 r-xp 00000000 fd:00 41828586 /lib/libselinux.so.1 00858000-00859000 r--p 0001a000 fd:00 41828586 /lib/libselinux.so.1 00859000-0085a000 rw-p 0001b000 fd:00 41828586 /lib/libselinux.so.1 00861000-00883000 r-xp 00000000 fd:00 35897376 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/libjava.so 00883000-00885000 rw-p 00022000 fd:00 35897376 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/libjava.so 00885000-008ab000 r-xp 00000000 fd:00 35652571 /usr/lib/libpng12.so.0.37.0 008ab000-008ac000 rw-p 00025000 fd:00 35652571 /usr/lib/libpng12.so.0.37.0 008ad000-008b3000 r-xp 00000000 fd:00 35897430 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/libzip.so 008b3000-008b4000 rw-p 00006000 fd:00 35897430 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/libzip.so 008b4000-008d9000 r-xp 00000000 fd:00 41829548 /lib/libexpat.so.1.5.2 008d9000-008db000 rw-p 00024000 fd:00 41829548 /lib/libexpat.so.1.5.2 008e1000-008e8000 r-xp 00000000 fd:00 35897427 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/libnio.so 008e8000-008e9000 rw-p 00006000 fd:00 35897427 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/libnio.so 008e9000-008f2000 r-xp 00000000 fd:00 35897380 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/libjpeg.so 008f2000-008f3000 rw-p 00008000 fd:00 35897380 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/libjpeg.so 008fb000-00906000 rwxp 008fb000 00:00 0 00906000-0097b000 rwxp 00906000 00:00 0 00984000-00986000 r-xp 00000000 fd:00 35653358 /usr/lib/libXdamage.so.1.1.0 00986000-00987000 rw-p 00001000 fd:00 35653358 /usr/lib/libXdamage.so.1.1.0 00987000-00999000 r-xp 00000000 fd:00 35890133 /usr/lib/gtk-2.0/2.10.0/engines/libnodoka.so 00999000-0099a000 rw-p 00011000 fd:00 35890133 /usr/lib/gtk-2.0/2.10.0/engines/libnodoka.so 0099a000-009a7000 r-xp 00000000 fd:00 35897383 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/libjsoundalsa.so 009a7000-009a8000 rw-p 0000c000 fd:00 35897383 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/libjsoundalsa.so 009ac000-009af000 ---p 009ac000 00:00 0 009af000-009fd000 rwxp 009af000 00:00 0 009fd000-00a8c000 r-xp 00000000 fd:00 41820294 /usr/lib/libfreetype.so.6.3.18 00a8c000-00a90000 rw-p 0008e000 fd:00 41820294 /usr/lib/libfreetype.so.6.3.18 00a90000-00ad5000 r-xp 00000000 fd:00 41820293 /usr/lib/libpixman-1.so.0.12.0 00ad5000-00ad7000 rw-p 00045000 fd:00 41820293 /usr/lib/libpixman-1.so.0.12.0 00add000-00ade000 ---p 00add000 00:00 0 00ade000-00b5e000 rwxp 00ade000 00:00 0 00b5e000-00b61000 ---p 00b5e000 00:00 0 00b61000-00baf000 rwxp 00b61000 00:00 0 00bbc000-00bd2000 r-xp 00000000 fd:00 41829553 /lib/libnsl-2.9.so 00bd2000-00bd3000 r--p 00016000 fd:00 41829553 /lib/libnsl-2.9.so 00bd3000-00bd4000 rw-p 00017000 fd:00 41829553 /lib/libnsl-2.9.so 00bd4000-00bd6000 rw-p 00bd4000 00:00 0 00bfc000-00c1c000 r-xp 00000000 fd:00 41829535 /lib/ld-2.9.so 00c1d000-00c1e000 r--p 00020000 fd:00 41829535 /lib/ld-2.9.so 00c1e000-00c1f000 rw-p 00021000 fd:00 41829535 /lib/ld-2.9.so 00c21000-00d8f000 r-xp 00000000 fd:00 41829536 /lib/libc-2.9.so 00d8f000-00d91000 r--p 0016e000 fd:00 41829536 /lib/libc-2.9.so 00d91000-00d92000 rw-p 00170000 fd:00 41829536 /lib/libc-2.9.so 00d92000-00d95000 rw-p 00d92000 00:00 0 00d97000-00dbe000 r-xp 00000000 fd:00 41829542 /lib/libm-2.9.so 00dbe000-00dbf000 r--p 00026000 fd:00 41829542 /lib/libm-2.9.so 00dbf000-00dc0000 rw-p 00027000 fd:00 41829542 /lib/libm-2.9.so 00dc2000-00dc5000 r-xp 00000000 fd:00 41829543 /lib/libdl-2.9.so 00dc5000-00dc6000 r--p 00002000 fd:00 41829543 /lib/libdl-2.9.so 00dc6000-00dc7000 rw-p 00003000 fd:00 41829543 /lib/libdl-2.9.so 00dc9000-00ddf000 r-xp 00000000 fd:00 41829539 /lib/libpthread-2.9.so 00ddf000-00de0000 r--p 00015000 fd:00 41829539 /lib/libpthread-2.9.so 00de0000-00de1000 rw-p 00016000 fd:00 41829539 /lib/libpthread-2.9.so 00de1000-00de3000 rw-p 00de1000 00:00 0 00de5000-00df8000 r-xp 00000000 fd:00 41829547 /lib/libz.so.1.2.3 00df8000-00df9000 rw-p 00012000 fd:00 41829547 /lib/libz.so.1.2.3 00df9000-011eb000 r-xp 00000000 fd:00 35897358 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/client/libjvm.so 011eb000-0120e000 rw-p 003f2000 fd:00 35897358 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/client/libjvm.so 0120e000-0162c000 rw-p 0120e000 00:00 0 0162c000-0162f000 ---p 0162c000 00:00 0 0162f000-0167d000 rwxp 0162f000 00:00 0 0167d000-01680000 ---p 0167d000 00:00 0 01680000-016ce000 rwxp 01680000 00:00 0 016ce000-01aae000 r-xp 00000000 fd:00 41821316 /usr/lib/libgtk-x11-2.0.so.0.1400.7 01aae000-01ab4000 rw-p 003e0000 fd:00 41821316 /usr/lib/libgtk-x11-2.0.so.0.1400.7 01ab4000-01ab5000 rw-p 01ab4000 00:00 0 01ab5000-01b2b000 r-xp 00000000 fd:00 35652924 /usr/lib/libcairo.so.2.10800.0 01b2b000-01b2d000 rw-p 00075000 fd:00 35652924 /usr/lib/libcairo.so.2.10800.0 01b2d000-01b30000 ---p 01b2d000 00:00 0 01b30000-01b7e000 rwxp 01b30000 00:00 0 01b7e000-01b81000 ---p 01b7e000 00:00 0 01b81000-01bcf000 rwxp 01b81000 00:00 0 01bcf000-01bd2000 ---p 01bcf000 00:00 0 01bd2000-01c20000 rwxp 01bd2000 00:00 0 01c20000-01c23000 ---p 01c20000 00:00 0 01c23000-01c71000 rwxp 01c23000 00:00 0 024da000-025b5000 r-xp 00000000 fd:00 35897386 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/libmlib_image.so 025b5000-025b6000 rw-p 000da000 fd:00 35897386 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/libmlib_image.so 0261e000-02621000 ---p 0261e000 00:00 0 02621000-0266f000 rwxp 02621000 00:00 0 0298f000-02992000 ---p 0298f000 00:00 0 02992000-029e0000 rwxp 02992000 00:00 0 02a83000-02a86000 ---p 02a83000 00:00 0 02a86000-02ad4000 rwxp 02a86000 00:00 0 02cef000-02f9f000 rwxp 02cef000 00:00 0 02f9f000-04cef000 rwxp 02f9f000 00:00 0 04df7000-04dfa000 ---p 04df7000 00:00 0 04dfa000-04e48000 rwxp 04dfa000 00:00 0 04e89000-04e8c000 ---p 04e89000 00:00 0 04e8c000-04eda000 rwxp 04e8c000 00:00 0 04efb000-04efe000 ---p 04efb000 00:00 0 04efe000-04f4c000 rwxp 04efe000 00:00 0 04f72000-0506f000 r-xp 00000000 fd:00 35652840 /usr/lib/libX11.so.6.2.0 0506f000-05072000 rw-p 000fd000 fd:00 35652840 /usr/lib/libX11.so.6.2.0 05072000-05073000 rw-p 05072000 00:00 0 05201000-05204000 ---p 05201000 00:00 0 05204000-05252000 rwxp 05204000 00:00 0 055cb000-055ce000 ---p 055cb000 00:00 0 055ce000-0561c000 rwxp 055ce000 00:00 0 058cc000-058cf000 ---p 058cc000 00:00 0 058cf000-0591d000 rwxp 058cf000 00:00 0 059f8000-05ad7000 r-xp 00000000 fd:00 41828601 /lib/libasound.so.2.0.0 05ad7000-05adb000 rw-p 000df000 fd:00 41828601 /lib/libasound.so.2.0.0 05b5d000-05b60000 ---p 05b5d000 00:00 0 05b60000-05bae000 rwxp 05b60000 00:00 0 062ff000-06314000 r-xp 00000000 fd:00 41820395 /usr/lib/libelf-0.141.so 06314000-06315000 ---p 00015000 fd:00 41820395 /usr/lib/libelf-0.141.so 06315000-06316000 r--p 00015000 fd:00 41820395 /usr/lib/libelf-0.141.so 06316000-06317000 rw-p 00016000 fd:00 41820395 /usr/lib/libelf-0.141.so 0657e000-06581000 ---p 0657e000 00:00 0 06581000-065cf000 rwxp 06581000 00:00 0 065fb000-0663b000 r-xp 00000000 fd:00 41828783 /lib/libgobject-2.0.so.0.1800.4 0663b000-0663c000 rw-p 00040000 fd:00 41828783 /lib/libgobject-2.0.so.0.1800.4 06945000-06948000 ---p 06945000 00:00 0 06948000-06996000 rwxp 06948000 00:00 0 06b23000-06c05000 r-xp 00000000 fd:00 41828712 /lib/libglib-2.0.so.0.1800.4 06c05000-06c06000 rw-p 000e2000 fd:00 41828712 /lib/libglib-2.0.so.0.1800.4 06c0a000-06c1d000 r-xp 00000000 fd:00 41829558 /lib/libresolv-2.9.so 06c1d000-06c1e000 r--p 00012000 fd:00 41829558 /lib/libresolv-2.9.so 06c1e000-06c1f000 rw-p 00013000 fd:00 41829558 /lib/libresolv-2.9.so 06c1f000-06c21000 rw-p 06c1f000 00:00 0 06c64000-06ca8000 r-xp 00000000 fd:00 41821310 /usr/lib/libpango-1.0.so.0.2203.0 06ca8000-06caa000 rw-p 00044000 fd:00 41821310 /usr/lib/libpango-1.0.so.0.2203.0 06cac000-06cd5000 r-xp 00000000 fd:00 41821309 /usr/lib/libpangoft2-1.0.so.0.2203.0 06cd5000-06cd6000 rw-p 00029000 fd:00 41821309 /usr/lib/libpangoft2-1.0.so.0.2203.0 06cd8000-06d4a000 r-xp 00000000 fd:00 41828867 /lib/libgio-2.0.so.0.1800.4 06d4a000-06d4c000 rw-p 00071000 fd:00 41828867 /lib/libgio-2.0.so.0.1800.4 06d4e000-06d69000 r-xp 00000000 fd:00 41821315 /usr/lib/libatk-1.0.so.0.2409.1 06d69000-06d6b000 rw-p 0001a000 fd:00 41821315 /usr/lib/libatk-1.0.so.0.2409.1 06d8c000-06d99000 r-xp 00000000 fd:00 41829550 /lib/libgcc_s-4.3.2-20081105.so.1 06d99000-06d9a000 rw-p 0000c000 fd:00 41829550 /lib/libgcc_s-4.3.2-20081105.so.1 06df7000-06dfa000 ---p 06df7000 00:00 0 06dfa000-06e48000 rwxp 06dfa000 00:00 0 070f2000-071d9000 r-xp 00000000 fd:00 35652631 /usr/lib/libstdc++.so.6.0.10 071d9000-071dd000 r--p 000e6000 fd:00 35652631 /usr/lib/libstdc++.so.6.0.10 071dd000-071df000 rw-p 000ea000 fd:00 35652631 /usr/lib/libstdc++.so.6.0.10 071df000-071e4000 rw-p 071df000 00:00 0 0750f000-07531000 r-xp 00000000 fd:00 35653036 /usr/lib/libjpeg.so.62.0.0 07531000-07532000 rw-p 00021000 fd:00 35653036 /usr/lib/libjpeg.so.62.0.0 075e3000-075e6000 ---p 075e3000 00:00 0 075e6000-07634000 rwxp 075e6000 00:00 0 0766c000-0766f000 ---p 0766c000 00:00 0 0766f000-076bd000 rwxp 0766f000 00:00 0 07dd8000-07ddb000 ---p 07dd8000 00:00 0 07ddb000-07e29000 rwxp 07ddb000 00:00 0 08048000-08050000 r-xp 00000000 fd:00 35889235 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/bin/java 08050000-08052000 rw-p 00007000 fd:00 35889235 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/bin/java 08319000-0831c000 ---p 08319000 00:00 0 0831c000-0836a000 rwxp 0831c000 00:00 0 08576000-085c6000 r-xp 00000000 fd:00 36102469 /usr/lib/bug-buddy/libbreakpad.so.0.0.0 085c6000-085c7000 rw-p 00050000 fd:00 36102469 /usr/lib/bug-buddy/libbreakpad.so.0.0.0 08894000-08897000 ---p 08894000 00:00 0 08897000-088e5000 rwxp 08897000 00:00 0 088e5000-088e6000 ---p 088e5000 00:00 0 088e6000-092e6000 rwxp 088e6000 00:00 0 09505000-09508000 ---p 09505000 00:00 0 09508000-09556000 rwxp 09508000 00:00 0 0965a000-0965d000 ---p 0965a000 00:00 0 0965d000-096ab000 rwxp 0965d000 00:00 0 09862000-098f4000 r-xp 00000000 fd:00 41821314 /usr/lib/libgdk-x11-2.0.so.0.1400.7 098f4000-098f7000 rw-p 00092000 fd:00 41821314 /usr/lib/libgdk-x11-2.0.so.0.1400.7 09ae0000-09ae3000 ---p 09ae0000 00:00 0 09ae3000-09b31000 rwxp 09ae3000 00:00 0 09b61000-09b64000 rwxp 09b61000 00:00 0 09b64000-09bb2000 rwxp 09b64000 00:00 0 09e82000-0a66d000 rw-p 09e82000 00:00 0 [heap] 8dc61000-8dc62000 ---p 8dc61000 00:00 0 8dc62000-8e662000 rwxp 8dc62000 00:00 0 8e662000-8e663000 ---p 8e662000 00:00 0 8e663000-8f063000 rwxp 8e663000 00:00 0 92f55000-93000000 rw-s 00000000 00:08 285605928 /SYSV00000000 (deleted) 93000000-93021000 rw-p 93000000 00:00 0 93021000-93100000 ---p 93021000 00:00 0 93142000-93205000 rw-p 93142000 00:00 0 93205000-9329b000 r--p 00000000 fd:00 35782923 /usr/share/fonts/dejavu/DejaVuSans.ttf 9329b000-932a1000 r--s 00000000 fd:00 24748121 /var/cache/fontconfig/177aa5f8e4784b879645141d1d73ae7a-x86.cache-2 932a1000-932a7000 r--s 00000000 fd:00 24748119 /var/cache/fontconfig/f4023520196b2bc2c439adcafb2470ff-x86.cache-2 932a7000-932aa000 r--s 00000000 fd:00 24748125 /var/cache/fontconfig/87f5e051180a7a75f16eb6fe7dbd3749-x86.cache-2 932aa000-932b0000 r--s 00000000 fd:00 24748128 /var/cache/fontconfig/b79f3aaa7d385a141ab53ec885cc22a8-x86.cache-2 932b0000-932b2000 r--s 00000000 fd:00 24754320 /var/cache/fontconfig/2e1514a9fdd499050989183bb65136db-x86.cache-2 932b2000-932b4000 r--s 00000000 fd:00 24748116 /var/cache/fontconfig/5c755b2f27115486aa6359c84dd3cbda-x86.cache-2 932b4000-932be000 r--s 00000000 fd:00 24748115 /var/cache/fontconfig/40c848d2bcd698028c81266d97f97863-x86.cache-2 932be000-932c0000 r--s 00000000 fd:00 24748114 /var/cache/fontconfig/830f035fa84a65ce80e050178dbb630d-x86.cache-2 932c0000-932c1000 r--s 00000000 fd:00 24748113 /var/cache/fontconfig/81a173283b451552b599cfaafd6236bd-x86.cache-2 932c1000-932c2000 r--s 00000000 fd:00 24748112 /var/cache/fontconfig/6cfc7d49b27ba7d3eb71ab86e04def2c-x86.cache-2 932c2000-932c3000 r--s 00000000 fd:00 24748111 /var/cache/fontconfig/044963cbb93fcb06c61d94a50dee394f-x86.cache-2 932c3000-932c4000 r--s 00000000 fd:00 24748110 /var/cache/fontconfig/b887eea8f1b96e1d899b44ed6681fc27-x86.cache-2 932c4000-932c5000 r--s 00000000 fd:00 24748109 /var/cache/fontconfig/860639f272b8b4b3094f9e399e41bccd-x86.cache-2 932c5000-932c6000 r--s 00000000 fd:00 24748108 /var/cache/fontconfig/211368abcb0ff835c229ff05c9ec01dc-x86.cache-2 932c6000-932c7000 r--s 00000000 fd:00 24748107 /var/cache/fontconfig/c46020d7221988a13df853d2b46304fc-x86.cache-2 932c7000-932c8000 r--s 00000000 fd:00 24748106 /var/cache/fontconfig/b63c21b9c3e5b4a4009aa5966b421593-x86.cache-2 932c8000-932c9000 r--s 00000000 fd:00 24748105 /var/cache/fontconfig/df893b4576ad6107f9397134092c4059-x86.cache-2 932c9000-932ca000 r--s 00000000 fd:00 24748104 /var/cache/fontconfig/ff627ea95a65192232277bf7c8a56f23-x86.cache-2 932ca000-932cb000 r--s 00000000 fd:00 24748103 /var/cache/fontconfig/900402270e15d763a6e008bb2d4c7686-x86.cache-2 932cb000-932cc000 r--s 00000000 fd:00 24748102 /var/cache/fontconfig/2881ed3fd21ca306ddad6f9b0dd3189f-x86.cache-2 932cc000-932cd000 r--s 00000000 fd:00 24748101 /var/cache/fontconfig/e61abf8156cc476151baa07d67337cae-x86.cache-2 932cd000-932d0000 r--s 00000000 fd:00 24748100 /var/cache/fontconfig/b67b32625a2bb51b023d3814a918f351-x86.cache-2 932d0000-932d1000 r--s 00000000 fd:00 24748099 /var/cache/fontconfig/d3379abda271c4acd2ad0c01f565d0b0-x86.cache-2 932d1000-932d4000 r--s 00000000 fd:00 24748098 /var/cache/fontconfig/46b47dbc682d2ca4191e148ea7bde7f2-x86.cache-2 932d4000-932d5000 r--s 00000000 fd:00 24748097 /var/cache/fontconfig/b4d0b56f766d89640448751fcd18ec1e-x86.cache-2 932d5000-932dc000 r--s 00000000 fd:00 24748096 /var/cache/fontconfig/12b26b760a24f8b4feb03ad48a333a72-x86.cache-2 932dc000-932e2000 r--s 00000000 fd:00 24748095 /var/cache/fontconfig/766670f26ba71bf5eea34bac120eb600-x86.cache-2 932e2000-932ea000 r--s 00000000 fd:00 24748175 /var/cache/fontconfig/e19de935dec46bbf3ed114ee4965548a-x86.cache-2 932ea000-932eb000 r--s 00000000 fd:00 24748094 /var/cache/fontconfig/1248881498ac025e45c3042f6afe9284-x86.cache-2 932eb000-93309000 r--p 00000000 fd:00 35652615 /usr/share/locale/es/LC_MESSAGES/libc.mo 93309000-93330000 r--p 00000000 fd:00 44580896 /usr/share/locale/es/LC_MESSAGES/gtk20-properties.mo 93330000-93337000 r--s 00000000 fd:00 35693460 /usr/lib/gconv/gconv-modules.cache 93337000-93349000 r--p 00000000 fd:00 35654894 /usr/share/locale/es/LC_MESSAGES/gtk20.mo 93349000-9334b000 r--s 00010000 fd:00 47710215 /root/.icedteaplugin/cache/http/linares10.soloajedrez.com/CTBApplet.jar 9334b000-9334e000 r--s 0001a000 fd:00 47710212 /root/.icedteaplugin/cache/http/linares10.soloajedrez.com/jl020.jar 9334e000-93350000 r--s 00001000 fd:00 47710213 /root/.icedteaplugin/cache/http/linares10.soloajedrez.com/tinyplayer.jar 93350000-93354000 r--s 00079000 fd:00 35890194 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/jsse.jar 93354000-9335a000 r--s 00000000 fd:00 24748121 /var/cache/fontconfig/177aa5f8e4784b879645141d1d73ae7a-x86.cache-2 9335a000-93360000 r--s 00000000 fd:00 24748119 /var/cache/fontconfig/f4023520196b2bc2c439adcafb2470ff-x86.cache-2 93360000-93363000 r--s 00000000 fd:00 24748125 /var/cache/fontconfig/87f5e051180a7a75f16eb6fe7dbd3749-x86.cache-2 93363000-93369000 r--s 00000000 fd:00 24748128 /var/cache/fontconfig/b79f3aaa7d385a141ab53ec885cc22a8-x86.cache-2 93369000-9336b000 r--s 00000000 fd:00 24754320 /var/cache/fontconfig/2e1514a9fdd499050989183bb65136db-x86.cache-2 9336b000-9336d000 r--s 00000000 fd:00 24748116 /var/cache/fontconfig/5c755b2f27115486aa6359c84dd3cbda-x86.cache-2 9336d000-93377000 r--s 00000000 fd:00 24748115 /var/cache/fontconfig/40c848d2bcd698028c81266d97f97863-x86.cache-2 93377000-93379000 r--s 00000000 fd:00 24748114 /var/cache/fontconfig/830f035fa84a65ce80e050178dbb630d-x86.cache-2 93379000-9337a000 r--s 00000000 fd:00 24748113 /var/cache/fontconfig/81a173283b451552b599cfaafd6236bd-x86.cache-2 9337a000-9337b000 r--s 00000000 fd:00 24748112 /var/cache/fontconfig/6cfc7d49b27ba7d3eb71ab86e04def2c-x86.cache-2 9337b000-9337c000 r--s 00000000 fd:00 24748111 /var/cache/fontconfig/044963cbb93fcb06c61d94a50dee394f-x86.cache-2 9337c000-9337d000 r--s 00000000 fd:00 24748110 /var/cache/fontconfig/b887eea8f1b96e1d899b44ed6681fc27-x86.cache-2 9337d000-9337e000 r--s 00000000 fd:00 24748109 /var/cache/fontconfig/860639f272b8b4b3094f9e399e41bccd-x86.cache-2 9337e000-9337f000 r--s 00000000 fd:00 24748108 /var/cache/fontconfig/211368abcb0ff835c229ff05c9ec01dc-x86.cache-2 9337f000-93380000 r--s 00000000 fd:00 24748107 /var/cache/fontconfig/c46020d7221988a13df853d2b46304fc-x86.cache-2 93380000-93381000 r--s 00000000 fd:00 24748106 /var/cache/fontconfig/b63c21b9c3e5b4a4009aa5966b421593-x86.cache-2 93381000-93382000 r--s 00000000 fd:00 24748105 /var/cache/fontconfig/df893b4576ad6107f9397134092c4059-x86.cache-2 93382000-93383000 r--s 00000000 fd:00 24748104 /var/cache/fontconfig/ff627ea95a65192232277bf7c8a56f23-x86.cache-2 93383000-93384000 r--s 00000000 fd:00 24748103 /var/cache/fontconfig/900402270e15d763a6e008bb2d4c7686-x86.cache-2 93384000-93385000 r--s 00000000 fd:00 24748102 /var/cache/fontconfig/2881ed3fd21ca306ddad6f9b0dd3189f-x86.cache-2 93385000-93386000 r--s 00000000 fd:00 24748101 /var/cache/fontconfig/e61abf8156cc476151baa07d67337cae-x86.cache-2 93386000-93389000 r--s 00000000 fd:00 24748100 /var/cache/fontconfig/b67b32625a2bb51b023d3814a918f351-x86.cache-2 93389000-9338a000 r--s 00000000 fd:00 24748099 /var/cache/fontconfig/d3379abda271c4acd2ad0c01f565d0b0-x86.cache-2 9338a000-9338d000 r--s 00000000 fd:00 24748098 /var/cache/fontconfig/46b47dbc682d2ca4191e148ea7bde7f2-x86.cache-2 9338d000-9338e000 r--s 00000000 fd:00 24748097 /var/cache/fontconfig/b4d0b56f766d89640448751fcd18ec1e-x86.cache-2 9338e000-93395000 r--s 00000000 fd:00 24748096 /var/cache/fontconfig/12b26b760a24f8b4feb03ad48a333a72-x86.cache-2 93395000-9339b000 r--s 00000000 fd:00 24748095 /var/cache/fontconfig/766670f26ba71bf5eea34bac120eb600-x86.cache-2 9339b000-933a3000 r--s 00000000 fd:00 24748175 /var/cache/fontconfig/e19de935dec46bbf3ed114ee4965548a-x86.cache-2 933a3000-933a4000 r--s 00000000 fd:00 24748094 /var/cache/fontconfig/1248881498ac025e45c3042f6afe9284-x86.cache-2 933a4000-933aa000 r--s 00000000 fd:00 24748121 /var/cache/fontconfig/177aa5f8e4784b879645141d1d73ae7a-x86.cache-2 933aa000-933b0000 r--s 00000000 fd:00 24748119 /var/cache/fontconfig/f4023520196b2bc2c439adcafb2470ff-x86.cache-2 933b0000-933b3000 r--s 00000000 fd:00 24748125 /var/cache/fontconfig/87f5e051180a7a75f16eb6fe7dbd3749-x86.cache-2 933b3000-933b9000 r--s 00000000 fd:00 24748128 /var/cache/fontconfig/b79f3aaa7d385a141ab53ec885cc22a8-x86.cache-2 933b9000-933bb000 r--s 00000000 fd:00 24754320 /var/cache/fontconfig/2e1514a9fdd499050989183bb65136db-x86.cache-2 933bb000-933bd000 r--s 00000000 fd:00 24748116 /var/cache/fontconfig/5c755b2f27115486aa6359c84dd3cbda-x86.cache-2 933bd000-933c7000 r--s 00000000 fd:00 24748115 /var/cache/fontconfig/40c848d2bcd698028c81266d97f97863-x86.cache-2 933c7000-933c9000 r--s 00000000 fd:00 24748114 /var/cache/fontconfig/830f035fa84a65ce80e050178dbb630d-x86.cache-2 933c9000-933ca000 r--s 00000000 fd:00 24748113 /var/cache/fontconfig/81a173283b451552b599cfaafd6236bd-x86.cache-2 933ca000-933cb000 r--s 00000000 fd:00 24748112 /var/cache/fontconfig/6cfc7d49b27ba7d3eb71ab86e04def2c-x86.cache-2 933cb000-933cc000 r--s 00000000 fd:00 24748111 /var/cache/fontconfig/044963cbb93fcb06c61d94a50dee394f-x86.cache-2 933cc000-933cd000 r--s 00000000 fd:00 24748110 /var/cache/fontconfig/b887eea8f1b96e1d899b44ed6681fc27-x86.cache-2 933cd000-933ce000 r--s 00000000 fd:00 24748109 /var/cache/fontconfig/860639f272b8b4b3094f9e399e41bccd-x86.cache-2 933ce000-933cf000 r--s 00000000 fd:00 24748108 /var/cache/fontconfig/211368abcb0ff835c229ff05c9ec01dc-x86.cache-2 933cf000-933d0000 r--s 00000000 fd:00 24748107 /var/cache/fontconfig/c46020d7221988a13df853d2b46304fc-x86.cache-2 933d0000-933d1000 r--s 00000000 fd:00 24748106 /var/cache/fontconfig/b63c21b9c3e5b4a4009aa5966b421593-x86.cache-2 933d1000-933d2000 r--s 00000000 fd:00 24748105 /var/cache/fontconfig/df893b4576ad6107f9397134092c4059-x86.cache-2 933d2000-933d3000 r--s 00000000 fd:00 24748104 /var/cache/fontconfig/ff627ea95a65192232277bf7c8a56f23-x86.cache-2 933d3000-933d4000 r--s 00000000 fd:00 24748103 /var/cache/fontconfig/900402270e15d763a6e008bb2d4c7686-x86.cache-2 933d4000-933d5000 r--s 00000000 fd:00 24748102 /var/cache/fontconfig/2881ed3fd21ca306ddad6f9b0dd3189f-x86.cache-2 933d5000-933d6000 r--s 00000000 fd:00 24748101 /var/cache/fontconfig/e61abf8156cc476151baa07d67337cae-x86.cache-2 933d6000-933d9000 r--s 00000000 fd:00 24748100 /var/cache/fontconfig/b67b32625a2bb51b023d3814a918f351-x86.cache-2 933d9000-933da000 r--s 00000000 fd:00 24748099 /var/cache/fontconfig/d3379abda271c4acd2ad0c01f565d0b0-x86.cache-2 933da000-933dd000 r--s 00000000 fd:00 24748098 /var/cache/fontconfig/46b47dbc682d2ca4191e148ea7bde7f2-x86.cache-2 933dd000-933de000 r--s 00000000 fd:00 24748097 /var/cache/fontconfig/b4d0b56f766d89640448751fcd18ec1e-x86.cache-2 933de000-933e5000 r--s 00000000 fd:00 24748096 /var/cache/fontconfig/12b26b760a24f8b4feb03ad48a333a72-x86.cache-2 933e5000-933eb000 r--s 00000000 fd:00 24748095 /var/cache/fontconfig/766670f26ba71bf5eea34bac120eb600-x86.cache-2 933eb000-933f3000 r--s 00000000 fd:00 24748175 /var/cache/fontconfig/e19de935dec46bbf3ed114ee4965548a-x86.cache-2 933f3000-933f4000 r--s 00000000 fd:00 24748094 /var/cache/fontconfig/1248881498ac025e45c3042f6afe9284-x86.cache-2 933f4000-933fb000 r--s 000fe000 fd:00 35890118 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/resources.jar 933fb000-93404000 r--s 00065000 fd:00 35897349 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/ext/gnome-java-bridge.jar 93404000-93408000 r--s 0018d000 fd:00 35897353 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/ext/pulse-java.jar 93408000-93608000 r--p 00000000 fd:00 35652623 /usr/lib/locale/locale-archive 93608000-9363b000 rw-p 93608000 00:00 0 9363b000-937d0000 r--s 038ec000 fd:00 35890804 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/rt.jar 937d0000-93950000 rwxp 937d0000 00:00 0 93950000-95f30000 rwxp 93950000 00:00 0 95f30000-96fd4000 rwxp 95f30000 00:00 0 96fd4000-b37d0000 rwxp 96fd4000 00:00 0 b37d0000-b4610000 rwxp b37d0000 00:00 0 b4610000-b77d0000 rwxp b4610000 00:00 0 b77d4000-b77d6000 rw-p b77d4000 00:00 0 b77e9000-b77ea000 rw-p b77e9000 00:00 0 b77ea000-b77f2000 rw-s 00000000 fd:00 14327888 /tmp/hsperfdata_root/18821 b77f2000-b77f3000 rw-p b77f2000 00:00 0 b77f3000-b77f4000 r--p b77f3000 00:00 0 b77f4000-b77f5000 rw-p b77f4000 00:00 0 bfcad000-bfcc1000 rwxp bffeb000 00:00 0 [stack] bfcc1000-bfcc2000 rw-p bffff000 00:00 0 VM Arguments: java_command: sun.applet.PluginMain Launcher Type: SUN_STANDARD Environment Variables: PATH=/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin LD_LIBRARY_PATH=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/client:/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386:/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/../lib/i386:/usr/lib/firefox-3.0.15:/usr/lib/firefox-3.0.15/plugins:/usr/lib/firefox-3.0.15 SHELL=/bin/bash DISPLAY=:0.0 Signal Handlers: SIGSEGV: [libjvm.so+0x391e20], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGBUS: [libjvm.so+0x391e20], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGFPE: [libjvm.so+0x2c3d90], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGPIPE: [libjvm.so+0x2c3d90], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGXFSZ: [libjvm.so+0x2c3d90], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGILL: [libjvm.so+0x2c3d90], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000 SIGUSR2: [libjvm.so+0x2c3500], sa_mask[0]=0x00000000, sa_flags=0x10000004 SIGHUP: [libjvm.so+0x2c5930], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGINT: [libjvm.so+0x2c5930], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGTERM: [libjvm.so+0x2c5930], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGQUIT: [libjvm.so+0x2c5930], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 --------------- S Y S T E M --------------- OS:Fedora release 10 (Cambridge) uname:Linux 2.6.27.41-170.2.117.fc10.i686 #1 SMP Thu Dec 10 11:00:29 EST 2009 i686 libc:glibc 2.9 NPTL 2.9 rlimit: STACK 10240k, CORE 0k, NPROC 1024, NOFILE 1024, AS infinity load average:0,49 0,26 0,23 CPU:total 1 (1 cores per cpu, 1 threads per core) family 15 model 28 stepping 0, cmov, cx8, fxsr, mmx, sse, sse2, mmxext, 3dnow, 3dnowext Memory: 4k page, physical 2073848k(58108k free), swap 4128760k(4128688k free) vm_info: OpenJDK Client VM (14.0-b16) for linux-x86 JRE (1.6.0_0-b16), built on Nov 12 2009 09:53:22 by "mockbuild" with gcc 4.3.2 20081105 (Red Hat 4.3.2-7) time: Sun Feb 14 19:58:14 2010 elapsed time: 882 seconds -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Sun Mar 21 14:58:49 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 21 Mar 2010 21:58:49 +0000 Subject: [Bug 456] New: shark test crashes on powerpc Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=456 Summary: shark test crashes on powerpc Product: IcedTea Version: 6-hg Platform: ppc OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: Shark AssignedTo: unassigned at icedtea.classpath.org ReportedBy: doko at ubuntu.com icedtea6 hg20100320 does build for zero and shark on powerpc-linux-gnu. test results for zero are (tool env: gcc-4.4/glibc-2.11/llvm-2.7pre1) --------------- jtreg console summary for hotspot --------------- Test results: passed: 25 --------------- jtreg console summary for langtools --------------- Test results: passed: 1,355 --------------- jtreg console summary for jdk --------------- Test results: passed: 3,324; failed: 76; error: 7 for shark: (mauve doesn't crash) --------------- jtreg console summary for hotspot --------------- FAILED: compiler/6663848/Tester.java FAILED: compiler/6741738/Tester.java Test results: passed: 23; failed: 2 --------------- jtreg console summary for langtools --------------- # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (os_linux_zero.cpp:236), pid=5513, tid=1766847632 # Error: caught unhandled signal 11 # # JRE version: 6.0_18-b18 # Java VM: OpenJDK Shark VM (14.0-b16 mixed mode linux-ppc ) # Derivative: IcedTea6 1.8pre # Distribution: Ubuntu lucid (development branch), package 6b18~pre3-0ubuntu1~ppa2.1 # An error report file with more information is saved as: # /home/doko/openjdk/openjdk-6-6b18~pre3/build/test/langtools/JTwork/scratch/hs_err_pid5513.log # # If you would like to submit a bug report, please include # instructions how to reproduce the bug and visit: # https://bugs.launchpad.net/ubuntu/+source/openjdk-6/ # --------------- jtreg console summary for jdk --------------- # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (os_linux_zero.cpp:236), pid=7017, tid=1729623184 # Error: caught unhandled signal 11 # # JRE version: 6.0_18-b18 # Java VM: OpenJDK Shark VM (14.0-b16 mixed mode linux-ppc ) # Derivative: IcedTea6 1.8pre # Distribution: Ubuntu lucid (development branch), package 6b18~pre3-0ubuntu1~ppa2.1 # An error report file with more information is saved as: # /home/doko/openjdk/openjdk-6-6b18~pre3/build/test/jdk/JTwork/scratch/hs_err_pid7017.log # # If you would like to submit a bug report, please include # instructions how to reproduce the bug and visit: # https://bugs.launchpad.net/ubuntu/+source/openjdk-6/ # -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Sun Mar 21 14:59:41 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 21 Mar 2010 21:59:41 +0000 Subject: [Bug 456] shark test crashes on powerpc Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=456 ------- Comment #1 from doko at ubuntu.com 2010-03-21 21:59 ------- Created an attachment (id=312) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=312&action=view) ppc crasj reports -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 22 03:24:57 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 22 Mar 2010 10:24:57 +0000 Subject: [Bug 457] New: Shark ExceptionInInitializerError when using low -XX:CompileThreshold -Xbatch and -jar Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=457 Summary: Shark ExceptionInInitializerError when using low - XX:CompileThreshold -Xbatch and -jar Product: IcedTea Version: 6-hg Platform: all OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: Shark AssignedTo: unassigned at icedtea.classpath.org ReportedBy: xerxes at zafena.se openjdk hits an exception when launcing jar files in combination with a low -XX:CompileThreshold and -Xbatch CompileThresholds of 1 to 17 have been found to trigger this bug repeatedly CompileThresholds above 18 dont trigger this bug. the bug fires after jitting around 1400-1500 methods during startup before any swing/awt windows have been displayed. testcase: $ wget http://trac-hg.assembla.com/jgears/attachment/wiki/WikiStart/jgears.jar?format=raw -O jgears.jar $ /sd/20mar-shark-340m/bin/java -XX:CompileThreshold=1 -Xbatch -jar jgears.jar Exception in thread "main" java.lang.ExceptionInInitializerError at sun.java2d.SurfaceData.(SurfaceData.java:399) at sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:195) at java.security.AccessController.doPrivileged(Native Method) at sun.awt.X11GraphicsEnvironment.(X11GraphicsEnvironment.java:142) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:186) at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:82) at sun.awt.X11.XToolkit.(XToolkit.java:111) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:186) at java.awt.Toolkit$2.run(Toolkit.java:849) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:841) at java.awt.Toolkit.getEventQueue(Toolkit.java:1694) at java.awt.EventQueue.invokeLater(EventQueue.java:957) at javax.swing.SwingUtilities.invokeLater(SwingUtilities.java:1292) at JGears2.main(JGears2.java:293) Caused by: java.security.PrivilegedActionException: java.security.PrivilegedActionException: java.io.FileNotFoundException: /media/disk/20mar-shark-340m/jre/classes at java.security.AccessController.doPrivileged(Native Method) at sun.java2d.pipe.RenderingEngine.getInstance(RenderingEngine.java:115) at sun.java2d.pipe.LoopPipe.(LoopPipe.java:51) ... 17 more Caused by: java.security.PrivilegedActionException: java.io.FileNotFoundException: /media/disk/20mar-shark-340m/jre/classes at java.security.AccessController.doPrivileged(Native Method) at sun.misc.URLClassPath.getLoader(URLClassPath.java:337) at sun.misc.URLClassPath.getLoader(URLClassPath.java:314) at sun.misc.URLClassPath.access$000(URLClassPath.java:76) at sun.misc.URLClassPath$2.next(URLClassPath.java:258) at sun.misc.URLClassPath$2.hasMoreElements(URLClassPath.java:269) at java.lang.ClassLoader$2.hasMoreElements(ClassLoader.java:1129) at sun.misc.CompoundEnumeration.next(CompoundEnumeration.java:45) at sun.misc.CompoundEnumeration.hasMoreElements(CompoundEnumeration.java:54) at java.util.ServiceLoader$LazyIterator.hasNext(ServiceLoader.java:346) at java.util.ServiceLoader$1.hasNext(ServiceLoader.java:432) at sun.java2d.pipe.RenderingEngine$1.run(RenderingEngine.java:127) ... 20 more Caused by: java.io.FileNotFoundException: /media/disk/20mar-shark-340m/jre/classes at sun.misc.URLClassPath$JarLoader.getJarFile(URLClassPath.java:658) at sun.misc.URLClassPath$JarLoader.access$600(URLClassPath.java:555) at sun.misc.URLClassPath$JarLoader$1.run(URLClassPath.java:622) at java.security.AccessController.doPrivileged(Native Method) at sun.misc.URLClassPath$JarLoader.ensureOpen(URLClassPath.java:614) at sun.misc.URLClassPath$JarLoader.(URLClassPath.java:598) at sun.misc.URLClassPath$3.run(URLClassPath.java:348) ... 32 more java version "1.6.0_18" OpenJDK Runtime Environment (IcedTea6 1.8pre+r20627a528aa1) (Ubuntu build 1.6.0_18-b18) OpenJDK Shark VM (build 14.0-b16, mixed mode) tested to be reproduceable using Shark running on ARM and ia32 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 22 07:28:54 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 22 Mar 2010 14:28:54 +0000 Subject: [Bug 458] New: shark test crashes on arm Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=458 Summary: shark test crashes on arm Product: IcedTea Version: 6-hg Platform: arm OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: Shark AssignedTo: unassigned at icedtea.classpath.org ReportedBy: xerxes at zafena.se OpenJDK Runtime Environment (IcedTea6 1.8pre+r20627a528aa1) (Ubuntu build 1.6.0_18-b18) OpenJDK Shark VM (build 14.0-b16, mixed mode) gcc-4.3.3 glibc 2.9 llvm r98854 shark bootstrapped and built fine running on arm make check --------------- jtreg console summary for hotspot --------------- FAILED: compiler/6741738/Tester.java Test results: passed: 24; failed: 1 --------------- jtreg console summary for langtools --------------- Error: tools/apt/Basics/apt.sh Error: tools/apt/Compile/compile.sh Error: tools/apt/Discovery/discovery.sh Error: tools/javac/javazip/Test.sh Error: tools/javac/Paths/Class-Path.sh Error: tools/javac/Paths/Diagnostics.sh Error: tools/javac/Paths/MineField.sh Error: tools/javac/Paths/wcMineField.sh Error: tools/javac/processing/model/testgetallmembers/Main.java Error: tools/javac/versions/check.sh Test results: passed: 1,345; error: 10 --------------- jtreg console summary for jdk --------------- FAILED: com/sun/jdi/AllLineLocations.java Error: com/sun/jdi/EarlyReturnTest.java FAILED: com/sun/jdi/InstancesTest.java FAILED: com/sun/jdi/MethodExitReturnValuesTest.java FAILED: com/sun/jdi/PopAndInvokeTest.java FAILED: com/sun/jdi/PopAndStepTest.java Error: com/sun/jdi/PopAsynchronousTest.java FAILED: com/sun/jdi/PopSynchronousTest.java FAILED: com/sun/jdi/RedefineCrossStart.java FAILED: com/sun/jdi/Redefine-g.sh FAILED: com/sun/jdi/SuspendThreadTest.java # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (ciObjectFactory.cpp:335), pid=9041, tid=1745826960 # Error: ShouldNotReachHere() # # JRE version: 6.0_18-b18 # Java VM: OpenJDK Shark VM (14.0-b16 mixed mode linux-arm ) # Derivative: IcedTea6 1.8pre+r20627a528aa1 # Distribution: Built on Ubuntu 9.04 (Fri Mar 19 18:06:16 CET 2010) # An error report file with more information is saved as: # /media/disk/icedtea6-shark/test/jdk/JTwork/scratch/hs_err_pid9041.log # # If you would like to submit a bug report, please include # instructions how to reproduce the bug and visit: # http://icedtea.classpath.org/bugzilla # -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 22 07:29:57 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 22 Mar 2010 14:29:57 +0000 Subject: [Bug 458] shark test crashes on arm Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=458 ------- Comment #1 from xerxes at zafena.se 2010-03-22 14:29 ------- Created an attachment (id=313) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=313&action=view) hs_err_pid9041.log -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 22 07:48:52 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 22 Mar 2010 14:48:52 +0000 Subject: [Bug 458] shark test crashes on arm Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=458 ------- Comment #2 from gbenson at redhat.com 2010-03-22 14:48 ------- This looks to be the same as bug 454. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 22 07:49:17 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 22 Mar 2010 14:49:17 +0000 Subject: [Bug 454] Jetty running on shark fails in HttpURI.getDecodedPath() Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=454 ------- Comment #5 from gbenson at redhat.com 2010-03-22 14:49 ------- Bug 458 looks to be a duplicate of this. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 22 08:31:13 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 22 Mar 2010 15:31:13 +0000 Subject: [Bug 459] New: shark test crashes on ia32 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=459 Summary: shark test crashes on ia32 Product: IcedTea Version: 6-hg Platform: x86 OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: Shark AssignedTo: unassigned at icedtea.classpath.org ReportedBy: xerxes at zafena.se java version "1.6.0_18" OpenJDK Runtime Environment (IcedTea6 1.8pre+r7857039dc3da) (Ubuntu build 1.6.0_18-b18) OpenJDK Shark VM (build 14.0-b16, mixed mode) gcc 4.4.3 glibc 2.11.1 llvm r99171 running make check --------------- jtreg console summary for hotspot --------------- FAILED: compiler/6741738/Tester.java Test results: passed: 24; failed: 1 --------------- jtreg console summary for langtools --------------- # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (frame.cpp:1209), pid=12670, tid=1735871344 # Error: ShouldNotReachHere() # # JRE version: 6.0_18-b18 # Java VM: OpenJDK Shark VM (14.0-b16 mixed mode linux-i386 ) # Derivative: IcedTea6 1.8pre+r7857039dc3da # Distribution: Built on Ubuntu lucid (development branch) (Mon Mar 22 14:04:23 CET 2010) # An error report file with more information is saved as: # /home/xerxes/icedtea6-shark-full-build-p5/test/langtools/JTwork/scratch/hs_err_pid12670.log # # If you would like to submit a bug report, please include # instructions how to reproduce the bug and visit: # http://icedtea.classpath.org/bugzilla # --------------- jtreg console summary for jdk --------------- FAILED: com/sun/jdi/AllLineLocations.java Error: com/sun/jdi/BreakpointTest.java Error: com/sun/jdi/EarlyReturnTest.java FAILED: com/sun/jdi/InstancesTest.java FAILED: com/sun/jdi/MethodExitReturnValuesTest.java FAILED: com/sun/jdi/PopAndInvokeTest.java FAILED: com/sun/jdi/PopAndStepTest.java Error: com/sun/jdi/PopAsynchronousTest.java FAILED: com/sun/jdi/PopSynchronousTest.java FAILED: com/sun/jdi/RedefineCrossStart.java FAILED: com/sun/jdi/Redefine-g.sh # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (ciObjectFactory.cpp:335), pid=12719, tid=1743133552 # Error: ShouldNotReachHere() # # JRE version: 6.0_18-b18 # Java VM: OpenJDK Shark VM (14.0-b16 mixed mode linux-i386 ) # Derivative: IcedTea6 1.8pre+r7857039dc3da # Distribution: Built on Ubuntu lucid (development branch) (Mon Mar 22 14:04:23 CET 2010) # An error report file with more information is saved as: # /home/xerxes/icedtea6-shark-full-build-p5/test/jdk/JTwork/scratch/hs_err_pid12719.log # # If you would like to submit a bug report, please include # instructions how to reproduce the bug and visit: # http://icedtea.classpath.org/bugzilla # the crash in jdk # Internal Error (ciObjectFactory.cpp:335), pid=12719, tid=1743133552 # Error: ShouldNotReachHere() This looks to be the same as bug 454. the interesting and perhaps new crash are the one in langtools: # Internal Error (frame.cpp:1209), pid=12670, tid=1735871344 # Error: ShouldNotReachHere() -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 22 08:32:06 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 22 Mar 2010 15:32:06 +0000 Subject: [Bug 459] shark test crashes on ia32 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=459 ------- Comment #1 from xerxes at zafena.se 2010-03-22 15:32 ------- Created an attachment (id=314) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=314&action=view) hs_err_pid12670.log hs_err_pid12670.log for the crash in langtools -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 22 09:21:55 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 22 Mar 2010 16:21:55 +0000 Subject: [Bug 449] Shark generates bogus phi instruction LLVM IR for java.lang.Shutdown::shutdown Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=449 xerxes at zafena.se changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED Target Milestone|--- |6-1.8 ------- Comment #5 from xerxes at zafena.se 2010-03-22 16:21 ------- Thanks gary! fixed in icedtea6 trunk: http://icedtea.classpath.org/hg/icedtea6/rev/9eb6324a42a6 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Mar 22 09:28:06 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 22 Mar 2010 16:28:06 +0000 Subject: [Bug 434] Shark on ARM SIGSEGV from null pointer in $r2 instead of THREAD Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=434 ------- Comment #7 from xerxes at zafena.se 2010-03-22 16:28 ------- Created an attachment (id=315) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=315&action=view) workaround for llvm 2.7 BX_to_BLX.patch attached workaround for this bug on arm by patching llvm 2.7 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From dbhole at icedtea.classpath.org Mon Mar 22 12:35:02 2010 From: dbhole at icedtea.classpath.org (dbhole at icedtea.classpath.org) Date: Mon, 22 Mar 2010 19:35:02 +0000 Subject: /hg/icedtea6: Changed FIFO file location from /tmp/$user-... to Message-ID: changeset 1188b1a313b9 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=1188b1a313b9 author: Deepak Bhole date: Mon Mar 22 15:34:55 2010 -0400 Changed FIFO file location from /tmp/$user-... to /tmp/icedteaplugin-$user/$pid-... diffstat: 2 files changed, 37 insertions(+), 5 deletions(-) ChangeLog | 6 +++++ plugin/icedteanp/IcedTeaNPPlugin.cc | 36 ++++++++++++++++++++++++++++++----- diffs (73 lines): diff -r 7857039dc3da -r 1188b1a313b9 ChangeLog --- a/ChangeLog Fri Mar 19 17:46:05 2010 +0000 +++ b/ChangeLog Mon Mar 22 15:34:55 2010 -0400 @@ -1,3 +1,9 @@ 2010-03-19 Andrew John Hughes + + * plugin/icedteanp/IcedTeaNPPlugin.cc + (start_jvm_if_needed): Change pipe file name format. + (NP_Initialize): Put FIFO pipe in a separate per-user directory. + 2010-03-19 Andrew John Hughes * Makefile.am: diff -r 7857039dc3da -r 1188b1a313b9 plugin/icedteanp/IcedTeaNPPlugin.cc --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Fri Mar 19 17:46:05 2010 +0000 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Mon Mar 22 15:34:55 2010 -0400 @@ -434,8 +434,8 @@ void start_jvm_if_needed() // pipe. // in_pipe_name - in_pipe_name = g_strdup_printf ("%s/%s-icedteanp-appletviewer-to-plugin", - data_directory, getenv ("USER")); + in_pipe_name = g_strdup_printf ("%s/%d-icedteanp-appletviewer-to-plugin", + data_directory, getpid()); if (!in_pipe_name) { PLUGIN_ERROR ("Failed to create input pipe name."); @@ -461,8 +461,8 @@ void start_jvm_if_needed() // output pipe. // out_pipe_name - out_pipe_name = g_strdup_printf ("%s/%s-icedteanp-plugin-to-appletviewer", - data_directory, getenv ("USER")); + out_pipe_name = g_strdup_printf ("%s/%d-icedteanp-plugin-to-appletviewer", + data_directory, getpid()); if (!out_pipe_name) { @@ -1992,7 +1992,33 @@ NP_Initialize (NPNetscapeFuncs* browserT } - // If that doesn't exit, bail + data_directory = g_strconcat (data_directory, "/icedteaplugin-", getenv("USER"), NULL); + + if (!data_directory) + { + PLUGIN_ERROR ("Failed to create data directory name."); + return NPERR_OUT_OF_MEMORY_ERROR; + } + + // Now create a icedteaplugin subdir + if (!g_file_test (data_directory, + (GFileTest) (G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR))) + { + int file_error = 0; + + file_error = g_mkdir (data_directory, 0700); + if (file_error != 0) + { + PLUGIN_ERROR_THREE ("Failed to create data directory", + data_directory, + strerror (errno)); + np_error = NPERR_GENERIC_ERROR; + goto cleanup_data_directory; + } + } + + + // If data directory doesn't exit by this point, bail if (!g_file_test (data_directory, (GFileTest) (G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR))) { From doko at ubuntu.com Tue Mar 23 11:02:54 2010 From: doko at ubuntu.com (Matthias Klose) Date: Tue, 23 Mar 2010 19:02:54 +0100 Subject: preparing an IcedTea6-1.8 release In-Reply-To: <4B9FB9FA.10705@ubuntu.com> References: <4B9687B8.4020604@ubuntu.com> <17c6771e1003090944l47d28842g336782a1b188ad71@mail.gmail.com> <4B9FB6A3.9080904@ubuntu.com> <17c6771e1003160957i2cad8fa9q24f9471130196140@mail.gmail.com> <4B9FB9FA.10705@ubuntu.com> Message-ID: <4BA9024E.4060705@ubuntu.com> On 16.03.2010 18:03, Matthias Klose wrote: > On 16.03.2010 17:57, Andrew John Hughes wrote: >> On 16 March 2010 16:49, Matthias Klose wrote: >>> On 09.03.2010 18:44, Andrew John Hughes wrote: >>>> >>>> On 9 March 2010 17:39, Matthias Klose wrote: >>>>> >>>>> Hi, >>>>> >>>>> I would like to prepare an IcedTea6-1.8 release, which I would like to >>>>> include into the coming Debian and Ubuntu releases. The build failures >>>>> introduced with the 6b18 import are now fixed, not seeing any more >>>>> build >>>>> failures. Would be reasonable to do this before switching to 6b19, and >>>>> preparing a prerelease for mid/end of next week, and the final release >>>>> for >>>>> the end of March? >>>>> >>>>> Matthias >>>>> >>>>> >>>> >>>> We definitely need a release prior to importing b19, but that's not >>>> imminent just yet (Zero needs upstreaming for one thing). It would >>>> also be good to get Nimbus out in a release, so the plan sounds good >>>> to me. >>> >>> I would like to create the branch on Thu, Mar 18 22:00 UTC. the >>> plugin/netx >>> reorganization looks finished. Are there any other changes which >>> should go >>> into the release? >>> >> >> I'd like to get rid of the old plugin but that should be done by >> tomorrow. >> I have plenty of pending build work but it's not needed for 1.8. >> >>> I'm planning to prepare the release on Mar 25/26, and releasing after >>> the >>> weekend. >>> >> >> I'm assuming that gets delayed if issues are found, right? I'm sure >> we all want a quality release, not one rushed out for a deadline. > > sure, if this one isn't good enough, then we should delay the release > for one week and try again. I like April 1st releases =) Some may have noticed, that the 1.8 is not yet created, sorry about that. will now create the branch on Mar 25/26 and looking for the Apr 1st release. Please no more changes to the build system before we branch. Done some builds as sanity checks on *-linux, including one and two stage builds, with old and new hotspot, and builds configured --with-additional-vms; test results look good, no build failures. Submitted some new bug reports for the NP Plugin (which seems to work well on many applets). Matthias From bugzilla-daemon at icedtea.classpath.org Wed Mar 24 04:38:53 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 24 Mar 2010 11:38:53 +0000 Subject: [Bug 467] New: building shark with shark fails on powerpc Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=467 Summary: building shark with shark fails on powerpc Product: IcedTea Version: 6-hg Platform: ppc OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: Shark AssignedTo: unassigned at icedtea.classpath.org ReportedBy: doko at ubuntu.com icedtea6 hg 20100322 # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (os_linux_zero.cpp:236), pid=19390, tid=1075508368 # Error: caught unhandled signal 11 # # JRE version: 6.0_18-b18 # Java VM: OpenJDK Shark VM (14.0-b16 mixed mode linux-ppc ) # Derivative: IcedTea6 1.8pre # Distribution: Ubuntu lucid (development branch), package 6b18~pre3-0ubuntu1 # An error report file with more information is saved as: # /home/doko/openjdk/x/openjdk-6-6b18~pre3/build/hs_err_pid19390.log # # If you would like to submit a bug report, please include # instructions how to reproduce the bug and visit: # https://bugs.launchpad.net/ubuntu/+source/openjdk-6/ # make[1]: *** [stamps/rt-class-files.stamp] Aborted -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Mar 24 04:39:15 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 24 Mar 2010 11:39:15 +0000 Subject: [Bug 467] building shark with shark fails on powerpc Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=467 ------- Comment #1 from doko at ubuntu.com 2010-03-24 11:39 ------- Created an attachment (id=321) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=321&action=view) crash report -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From jon.vanalten at redhat.com Wed Mar 24 07:45:46 2010 From: jon.vanalten at redhat.com (jon.vanalten at redhat.com) Date: Wed, 24 Mar 2010 10:45:46 -0400 (EDT) Subject: [NEW RFC] Re: RFC: Test set for systemtap instrumentation In-Reply-To: <559576373.5145941269441734126.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Message-ID: <904243487.5146451269441946556.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Hi Mark, Thanks for the great comments. ----- "Mark Wielaard" wrote: > Hi Jon, > > On Fri, 2010-03-05 at 14:29 -0500, jon.vanalten at redhat.com wrote: > > As promised, updated patch for review. > > > +2010-03-05 Jon VanAlten > > + * Makefile.am: > > + Add target to run tapset tests. > > It would be nice to have the log file in the same directory as the > other > check targets. test/check-stap.log > Done. > The current setup won't work for builddir != srcdir though (see > below). > > > + * tapset/hotspot_jni.stp.in: > > + Add notes regarding required JVM option to > GetField > > + family of probe aliases. > > Thanks for these notes. I haven't seen that requirement documented > anywhere else. We should discuss it also with the hotspot-devs to see > if > that is an oversight or intentional. I should also add I slightly changed/fixed the variable description and probestr printout for variable "nvms" in the hotspot.jni.GetCreatedJavaVMs alias to reflect the fact that nvms is actually a pointer to where the JNI function will return the total number of VMs (not a number passed in to the function). As in, upon return the caller will by dereferencing this pointer be able to know how much of its buffer of vm handles has been filled, or alternatively whether there are more vm's to which it does not have handles. > > > + * test/tapset/ClassUnloadedProbeTester.java: > > + Part of test coverage for hotspot.stp and hotspot_jni.stp > tapsets. > > + * test/tapset/JNIStapTest.c: > > + Likewise. > > + * test/tapset/JNITestClass.c: > > + Likewise. > > + * test/tapset/JNITestClass.h: > > + Likewise. > > + * test/tapset/JNITestClass.java: > > + Likewise. > > + * test/tapset/RunWrapper.java: > > + Likewise. > > + * test/tapset/StapJNIClassLoader.java: > > + Likewise. > > + * test/tapset/StapURLClassLoader.java: > > + Likewise. > > + * test/tapset/SystemtapTester.java: > > + Likewise. > > + * test/tapset/TestingRunner.java: > > + Likewise. > > Nice, impressively thorough test setup. > Thanks! > > + * test/tapset/jstaptest.pl: > > + Wrapper script, compiles and runs tests for tapsets. > > Nice script, but to make it work for all build setups builddir == > srcdir > and/or builddir != srcdir it needs to no hard code the dependency on > the > current working directory. Ideally it would have a -S (sourcedir) and > -O > (output/builddir) argument (possibly named differently). So you could > write the make target as: > > tapsetcheck: > mkdir -p test/tapset > $(abs_top_srcdir)/test/tapset/jstaptest.pl \ > -S $(abs_top_srcdir)/test/tapset \ > -O test/tapset \ > -J $(abs_top_builddir)/$(BUILD_OUTPUT_DIR) \ > -A $(BUILD_ARCH_DIR) -o test/check-stap.log > > That would run the compilers with arguments based on > $(abs_top_srcdir)/test/tapset source files, writes out > objects/classes > to test/tapset and runs the java runtime either inside the output dir > or > with the classpath set to that directory. Good catch. I did basically what you suggest, but I left out the -O option. Presumably, since the script cleans up all files it creates (except for the logfile), it can go ahead and create them in the current working directory. In addition, this update includes meaningful format string arguments for the stap scripts and corresponding regex strings for each probe, so that variables that are predictable (mainly anything but pointers to memory) are now checked. Any other concerns? jon > > Cheers, > > Mark -------------- next part -------------- A non-text attachment was scrubbed... Name: staptest.patch Type: text/x-patch Size: 175308 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100324/a91f27d6/staptest.patch From bugzilla-daemon at icedtea.classpath.org Thu Mar 25 04:54:54 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 25 Mar 2010 11:54:54 +0000 Subject: [Bug 467] building shark with shark fails on powerpc Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=467 ------- Comment #2 from xerxes at zafena.se 2010-03-25 11:54 ------- i have hit this one using shark on ia32: testcase: java -XX:CompileThreshold=1 -jar dacapo-2006-10-MR2.jar chart # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (os_linux_zero.cpp:236), pid=4584, tid=3078876016 # Error: caught unhandled signal 11 # # JRE version: 6.0_18-b18 # Java VM: OpenJDK Shark VM (14.0-b16 mixed mode linux-i386 ) # Derivative: IcedTea6 1.8pre+r1188b1a313b9 # Distribution: Built on Ubuntu lucid (development branch) (Thu Mar 25 10:08:47 CET 2010) # An error report file with more information is saved as: # /home/xerxes/test/hs_err_pid4584.log # # If you would like to submit a bug report, please include # instructions how to reproduce the bug and visit: # http://icedtea.classpath.org/bugzilla # (gdb) run Starting program: /home/xerxes/icedtea6-shark-full-build-p5/openjdk/build/linux-i586/j2sdk-image/bin/java -XX:CompileThreshold=1 -jar dacapo-2006-10-MR2.jar chart [Thread debugging using libthread_db enabled] Executing new program: /home/xerxes/icedtea6-shark-full-build-p5/openjdk/build/linux-i586/j2sdk-image/bin/java [Thread debugging using libthread_db enabled] Breakpoint 1, LoadJavaVM (jvmpath=0xbfffd24c "/home/xerxes/icedtea6-shark-full-build-p5/openjdk/build/linux-i586/j2sdk-image/jre/lib/i386/server/libjvm.so", ifn=0xbfffc228) at ../../../../src/solaris/bin/java_md.c:652 652 if (libjvm == NULL) { (gdb) break os_linux_zero.cpp:236 Breakpoint 2 at 0x53f302: file /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp, line 236. (gdb) c Continuing. [New Thread 0xb7fe6b70 (LWP 8213)] [New Thread 0x93c99b70 (LWP 8214)] [New Thread 0x93c18b70 (LWP 8215)] [New Thread 0x93a97b70 (LWP 8216)] [New Thread 0x938d7b70 (LWP 8217)] [New Thread 0x935ffb70 (LWP 8218)] [New Thread 0x9357eb70 (LWP 8219)] [New Thread 0x933fdb70 (LWP 8220)] ===== DaCapo chart starting ===== [New Thread 0x925ffb70 (LWP 8241)] [New Thread 0x91fffb70 (LWP 8242)] Done plotting: ./scratch/javac-tgt-ptr-prf-time.pdf Done plotting: ./scratch/javac-src-ptr-prf-time.pdf Done plotting: ./scratch/javac-dst-ptr-prf-time.pdf Done plotting: ./scratch/javac-tgt-mut-prf-time.pdf Done plotting: ./scratch/javac-src-mut-prf-time.pdf Done plotting: ./scratch/javac-dst-mut-prf-time.pdf Done plotting: ./scratch/javac-heap-comp-b.pdf Done plotting: ./scratch/javac-heap-comp-a.pdf Done plotting: ./scratch/javac-tgt-ptr-inf-time.pdf Done plotting: ./scratch/javac-src-ptr-inf-time.pdf Done plotting: ./scratch/javac-dst-ptr-inf-time.pdf Done plotting: ./scratch/javac-tgt-mut-inf-time.pdf Done plotting: ./scratch/javac-src-mut-inf-time.pdf Done plotting: ./scratch/javac-dst-mut-inf-time.pdf Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb7fe6b70 (LWP 8213)] 0x00000094 in ?? () (gdb) bt #0 0x00000094 in ?? () #1 0x00ff6c83 in Java_java_lang_System_setOut0 (env=0x805fbe4, cla=0xb7fe5dfc, stream=0xb7fe5e14) at ../../../src/share/native/java/lang/System.c:241 #2 0x03341b43 in java.lang.System_3A__3A_setOut0 () #3 0x0805fbe4 in ?? () #4 0x0381c44a in java.lang.System_3A__3A_setOut () #5 0xb3e84b60 in ?? () #6 0x003d5d17 in ZeroEntry::invoke (recurse=0, __the_thread__=0x805fad8) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/cpu/zero/vm/entry_zero.hpp:54 #7 Interpreter::invoke_method (recurse=0, __the_thread__=0x805fad8) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/cpu/zero/vm/interpreter_zero.hpp:28 #8 CppInterpreter::main_loop (recurse=0, __the_thread__=0x805fad8) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:110 #9 0x003d5f2c in CppInterpreter::normal_entry (method=0xb40c36f8, UNUSED=17125696, __the_thread__=0x805fad8) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:60 #10 0x003d5d17 in ZeroEntry::invoke (recurse=0, __the_thread__=0x805fad8) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/cpu/zero/vm/entry_zero.hpp:54 #11 Interpreter::invoke_method (recurse=0, __the_thread__=0x805fad8) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/cpu/zero/vm/interpreter_zero.hpp:28 #12 CppInterpreter::main_loop (recurse=0, __the_thread__=0x805fad8) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:110 #13 0x003d5f2c in CppInterpreter::normal_entry (method=0xb40c39f8, UNUSED=17125696, __the_thread__=0x805fad8) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:60 #14 0x003d5d17 in ZeroEntry::invoke (recurse=0, __the_thread__=0x805fad8) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/cpu/zero/vm/entry_zero.hpp:54 #15 Interpreter::invoke_method (recurse=0, __the_thread__=0x805fad8) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/cpu/zero/vm/interpreter_zero.hpp:28 #16 CppInterpreter::main_loop (recurse=0, __the_thread__=0x805fad8) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:110 #17 0x003d5f2c in CppInterpreter::normal_entry (method=0xb4049718, UNUSED=17125696, __the_thread__=0x805fad8) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:60 #18 0x003d5d17 in ZeroEntry::invoke (recurse=0, __the_thread__=0x805fad8) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/cpu/zero/vm/entry_zero.hpp:54 #19 Interpreter::invoke_method (recurse=0, __the_thread__=0x805fad8) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/cpu/zero/vm/interpreter_zero.hpp:28 #20 CppInterpreter::main_loop (recurse=0, __the_thread__=0x805fad8) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:110 #21 0x003d5f2c in CppInterpreter::normal_entry (method=0xb4049440, UNUSED=17125696, __the_thread__=0x805fad8) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:60 #22 0x003d5d17 in ZeroEntry::invoke (recurse=0, __the_thread__=0x805fad8) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/cpu/zero/vm/entry_zero.hpp:54 #23 Interpreter::invoke_method (recurse=0, __the_thread__=0x805fad8) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/cpu/zero/vm/interpreter_zero.hpp:28 #24 CppInterpreter::main_loop (recurse=0, __the_thread__=0x805fad8) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:110 #25 0x003d5f2c in CppInterpreter::normal_entry (method=0xb40431f8, UNUSED=17125696, __the_thread__=0x805fad8) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:60 #26 0x005c2745 in ZeroEntry::invoke (call_wrapper=0xb7fe60cc, result=0xb7fe62f0, result_type=T_INT, method=0xb40431f8, entry_point=0x1055140 "\220^=", parameters=0xb7fe61c4, parameter_words=1, __the_thread__=0x805fad8) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/cpu/zero/vm/entry_zero.hpp:54 #27 Interpreter::invoke_method (call_wrapper=0xb7fe60cc, result=0xb7fe62f0, result_type=T_INT, method=0xb40431f8, entry_point=0x1055140 "\220^=", parameters=0xb7fe61c4, parameter_words=1, __the_thread__=0x805fad8) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/cpu/zero/vm/interpreter_zero.hpp:28 #28 StubGenerator::call_stub (call_wrapper=0xb7fe60cc, result=0xb7fe62f0, result_type=T_INT, method=0xb40431f8, entry_point=0x1055140 "\220^=", parameters=0xb7fe61c4, parameter_words=1, __the_thread__=0x805fad8) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/cpu/zero/vm/stubGenerator_zero.cpp:67 #29 0x00461407 in JavaCalls::call_helper (result=0xb7fe62ec, m=0xb7fe6174, args=0xb7fe61c0, __the_thread__=0x805fad8) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/share/vm/runtime/javaCalls.cpp:387 #30 0x005361c4 in os::os_exception_wrapper (f=0x461170 , value=0xb7fe62ec, method=0xb7fe6174, args=0xb7fe61c0, thread=0x805fad8) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/os/linux/vm/os_linux.cpp:4035 #31 0x004601fc in JavaCalls::call (result=0xb7fe62ec, method=..., args=0xb7fe61c0, __the_thread__=0x805fad8) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/share/vm/runtime/javaCalls.cpp:293 #32 0x0046ce41 in jni_invoke_static (env=, result=, receiver=0x0, call_type=JNI_STATIC, method_id=0x80af2c8, args=0xb7fe62c0, __the_thread__=0x805fad8) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/share/vm/prims/jni.cpp:1008 #33 0x0047b400 in jni_CallStaticVoidMethod (env=0x805fbe4, cls=0x8061e9c, methodID=0x80af2c8) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/share/vm/prims/jni.cpp:1580 #34 0x0804b12d in JavaMain (_args=0xbfffc1e0) at ../../../../src/share/bin/java.c:614 #35 0x0014796e in start_thread (arg=0xb7fe6b70) at pthread_create.c:300 #36 0x002329de in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 (gdb) -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Mar 25 04:57:16 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 25 Mar 2010 11:57:16 +0000 Subject: [Bug 467] building shark with shark fails on powerpc Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=467 ------- Comment #3 from xerxes at zafena.se 2010-03-25 11:57 ------- Created an attachment (id=322) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=322&action=view) ia32 crash report -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Mar 25 06:09:11 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 25 Mar 2010 13:09:11 +0000 Subject: [Bug 454] Jetty running on shark fails in HttpURI.getDecodedPath() Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=454 ------- Comment #6 from xerxes at zafena.se 2010-03-25 13:09 ------- stack backtrace for the Internal Error (ciObjectFactory.cpp:335) #5 0x0131e933 in VMError::report_and_die (this=0x92efc780) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/share/vm/utilities/vmError.cpp:868 #6 0x010ee3fb in report_should_not_reach_here ( file_name=0x195c3c4 "/home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/share/vm/ci/ciObjectFactory.cpp", line_no=335) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/share/vm/utilities/debug.cpp:235 #7 0x0107fb9e in ciObjectFactory::create_new_object (this=0x98d80a0, o=0xb3714f60) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/share/vm/ci/ciObjectFactory.cpp:335 #8 0x0107fdca in ciObjectFactory::get (this=0x98d80a0, key=0xb3714f60) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/share/vm/ci/ciObjectFactory.cpp:258 #9 0x0107d75a in ciEnv::get_object (this=0x989ba90) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/share/vm/ci/ciEnv.hpp:152 #10 ciObjArrayKlass::element_klass (this=0x989ba90) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/share/vm/ci/ciObjArrayKlass.cpp:84 #11 0x01069eae in ciArrayKlass::element_type (this=0x989ba90) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/share/vm/ci/ciArrayKlass.cpp:59 #12 0x012cc53c in SharkTopLevelBlock::do_aload (this=0x9f26cc8, basic_type=T_BYTE) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp:695 #13 0x012a54df in SharkBlock::parse_bytecode (this=0x9f26cc8, start=275, limit=305) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/share/vm/shark/sharkBlock.cpp:205 #14 0x012c7cc1 in SharkTopLevelBlock::emit_IR (this=0x9f26cc8) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp:280 #15 0x012b6fbe in SharkFunction::initialize (this=0x92efcec0, name=0x9323ee50 "sun.nio.cs.ext.DoubleByteEncoder::encodeArrayLoop") at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/share/vm/shark/sharkFunction.cpp:122 #16 0x012b3c4f in SharkFunction (this=0x9320d328, env=0x92efcffc, target=0x8cf5dd78, entry_bci=-1) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/share/vm/shark/sharkFunction.hpp:46 #17 SharkFunction::build (this=0x9320d328, env=0x92efcffc, target=0x8cf5dd78, entry_bci=-1) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/share/vm/shark/sharkFunction.hpp:37 #18 SharkCompiler::compile_method (this=0x9320d328, env=0x92efcffc, target=0x8cf5dd78, entry_bci=-1) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/share/vm/shark/sharkCompiler.cpp:166 #19 0x010b6ed8 in CompileBroker::invoke_compiler_on_method (task=0x9ac9f68) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/share/vm/compiler/compileBroker.cpp:1545 #20 0x010b759e in CompileBroker::compiler_thread_loop () at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/share/vm/compiler/compileBroker.cpp:1397 #21 0x012edcd7 in compiler_thread_entry (thread=0x9323ec00, __the_thread__=0x9323ec00) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/share/vm/runtime/thread.cpp:2741 #22 0x012f28a6 in JavaThread::thread_main_inner (this=0x9323ec00) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/share/vm/runtime/thread.cpp:1380 #23 0x012f2970 in JavaThread::run (this=0x9323ec00) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/share/vm/runtime/thread.cpp:1364 #24 0x012543df in java_start (thread=0x9323ec00) at /home/xerxes/icedtea6-shark-full-build-p5/openjdk/hotspot/src/os/linux/vm/os_linux.cpp:786 #25 0x00be596e in start_thread (arg=0x92efdb70) at pthread_create.c:300 #26 0x001dd9de in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Mar 25 06:27:12 2010 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 25 Mar 2010 13:27:12 +0000 Subject: [Bug 459] shark test crashes on ia32 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=459 ------- Comment #2 from xerxes at zafena.se 2010-03-25 13:27 ------- Created an attachment (id=323) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=323&action=view) backported possible fix for 459.patch attached backported possible fix for 459 by gbenson created from http://icedtea.classpath.org/hg/shark/hotspot/raw-rev/1bed91a4b672 to solve the Internal Error (frame.cpp:1209) issue. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From doko at icedtea.classpath.org Thu Mar 25 07:37:00 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Thu, 25 Mar 2010 14:37:00 +0000 Subject: /hg/release/icedtea6-1.8: 3 new changesets Message-ID: changeset f736007b642b in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=f736007b642b author: doko at octogon.itso-berlin.de date: Thu Mar 25 15:11:39 2010 +0100 Added tag icedtea6-1.8-branch for changeset 1188b1a313b9 changeset 6d5d05af0495 in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=6d5d05af0495 author: doko at ubuntu.com date: Thu Mar 25 15:12:33 2010 +0100 Added tag icedtea6-1.8-branch for changeset f736007b642b changeset c65048b3e9d7 in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=c65048b3e9d7 author: doko at ubuntu.com date: Thu Mar 25 15:14:34 2010 +0100 2010-03-25 Matthias Klose * configure.ac: Bump version to 1.8. diffstat: 3 files changed, 8 insertions(+), 1 deletion(-) .hgtags | 3 +++ ChangeLog | 4 ++++ configure.ac | 2 +- diffs (30 lines): diff -r 1188b1a313b9 -r c65048b3e9d7 .hgtags --- a/.hgtags Mon Mar 22 15:34:55 2010 -0400 +++ b/.hgtags Thu Mar 25 15:14:34 2010 +0100 @@ -17,3 +17,6 @@ 926c38e2b2830971f6ca0dff2ce25f78a694b178 926c38e2b2830971f6ca0dff2ce25f78a694b178 icedtea6-1.5rc3 9420faca6468e1c75e9bfa73b31246ba0b73a77d icedtea-1.6-branchpoint 8826d5735e2ca97ecdb35e7c977785d3e5b99556 icedtea-1.7-branchpoint +1188b1a313b9e968d57ff44eb879d70f543b20fd icedtea6-1.8-branch +1188b1a313b9e968d57ff44eb879d70f543b20fd icedtea6-1.8-branch +f736007b642b5b07582ba5251ca90554f7b95e8b icedtea6-1.8-branch diff -r 1188b1a313b9 -r c65048b3e9d7 ChangeLog --- a/ChangeLog Mon Mar 22 15:34:55 2010 -0400 +++ b/ChangeLog Thu Mar 25 15:14:34 2010 +0100 @@ -1,3 +1,7 @@ 2010-03-22 Deepak Bhole + + * configure.ac: Bump version to 1.8. + 2010-03-22 Deepak Bhole * plugin/icedteanp/IcedTeaNPPlugin.cc diff -r 1188b1a313b9 -r c65048b3e9d7 configure.ac --- a/configure.ac Mon Mar 22 15:34:55 2010 -0400 +++ b/configure.ac Thu Mar 25 15:14:34 2010 +0100 @@ -1,4 +1,4 @@ AC_INIT([icedtea6],[1.8pre],[distro-pkg- -AC_INIT([icedtea6],[1.8pre],[distro-pkg-dev at openjdk.java.net]) +AC_INIT([icedtea6],[1.8],[distro-pkg-dev at openjdk.java.net]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) AC_CONFIG_FILES([Makefile]) From doko at icedtea.classpath.org Thu Mar 25 07:37:51 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Thu, 25 Mar 2010 14:37:51 +0000 Subject: /hg/icedtea6: 3 new changesets Message-ID: changeset 1b92ba827a7e in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=1b92ba827a7e author: doko at octogon.itso-berlin.de date: Thu Mar 25 15:03:25 2010 +0100 Added tag icedtea6-1.6-branchpoint for changeset 9420faca6468 changeset 9358ce62acc9 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=9358ce62acc9 author: doko at octogon.itso-berlin.de date: Thu Mar 25 15:03:37 2010 +0100 Added tag icedtea6-1.8-branchpoint for changeset 9420faca6468 changeset b26f6c74bd4b in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=b26f6c74bd4b author: doko at ubuntu.com date: Thu Mar 25 15:15:32 2010 +0100 2010-03-25 Matthias Klose * configure.ac: Bump version to 1.9pre. diffstat: 3 files changed, 7 insertions(+), 1 deletion(-) .hgtags | 2 ++ ChangeLog | 4 ++++ configure.ac | 2 +- diffs (29 lines): diff -r 1188b1a313b9 -r b26f6c74bd4b .hgtags --- a/.hgtags Mon Mar 22 15:34:55 2010 -0400 +++ b/.hgtags Thu Mar 25 15:15:32 2010 +0100 @@ -17,3 +17,5 @@ 926c38e2b2830971f6ca0dff2ce25f78a694b178 926c38e2b2830971f6ca0dff2ce25f78a694b178 icedtea6-1.5rc3 9420faca6468e1c75e9bfa73b31246ba0b73a77d icedtea-1.6-branchpoint 8826d5735e2ca97ecdb35e7c977785d3e5b99556 icedtea-1.7-branchpoint +9420faca6468e1c75e9bfa73b31246ba0b73a77d icedtea6-1.6-branchpoint +9420faca6468e1c75e9bfa73b31246ba0b73a77d icedtea6-1.8-branchpoint diff -r 1188b1a313b9 -r b26f6c74bd4b ChangeLog --- a/ChangeLog Mon Mar 22 15:34:55 2010 -0400 +++ b/ChangeLog Thu Mar 25 15:15:32 2010 +0100 @@ -1,3 +1,7 @@ 2010-03-22 Deepak Bhole + + * configure.ac: Bump version to 1.9pre. + 2010-03-22 Deepak Bhole * plugin/icedteanp/IcedTeaNPPlugin.cc diff -r 1188b1a313b9 -r b26f6c74bd4b configure.ac --- a/configure.ac Mon Mar 22 15:34:55 2010 -0400 +++ b/configure.ac Thu Mar 25 15:15:32 2010 +0100 @@ -1,4 +1,4 @@ AC_INIT([icedtea6],[1.8pre],[distro-pkg- -AC_INIT([icedtea6],[1.8pre],[distro-pkg-dev at openjdk.java.net]) +AC_INIT([icedtea6],[1.9pre],[distro-pkg-dev at openjdk.java.net]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) AC_CONFIG_FILES([Makefile]) From doko at icedtea.classpath.org Thu Mar 25 07:52:27 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Thu, 25 Mar 2010 14:52:27 +0000 Subject: /hg/icedtea6: Remove wrong tag icedtea6-1.6-branchpoint. Message-ID: changeset e5871a3b65f7 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=e5871a3b65f7 author: doko at ubuntu.com date: Thu Mar 25 15:29:28 2010 +0100 Remove wrong tag icedtea6-1.6-branchpoint. diffstat: 1 file changed, 1 deletion(-) .hgtags | 1 - diffs (9 lines): diff -r b26f6c74bd4b -r e5871a3b65f7 .hgtags --- a/.hgtags Thu Mar 25 15:15:32 2010 +0100 +++ b/.hgtags Thu Mar 25 15:29:28 2010 +0100 @@ -17,5 +17,4 @@ 926c38e2b2830971f6ca0dff2ce25f78a694b178 926c38e2b2830971f6ca0dff2ce25f78a694b178 icedtea6-1.5rc3 9420faca6468e1c75e9bfa73b31246ba0b73a77d icedtea-1.6-branchpoint 8826d5735e2ca97ecdb35e7c977785d3e5b99556 icedtea-1.7-branchpoint -9420faca6468e1c75e9bfa73b31246ba0b73a77d icedtea6-1.6-branchpoint 9420faca6468e1c75e9bfa73b31246ba0b73a77d icedtea6-1.8-branchpoint From doko at ubuntu.com Thu Mar 25 07:56:08 2010 From: doko at ubuntu.com (Matthias Klose) Date: Thu, 25 Mar 2010 15:56:08 +0100 Subject: preparing an IcedTea6-1.8 release In-Reply-To: <4BA9024E.4060705@ubuntu.com> References: <4B9687B8.4020604@ubuntu.com> <17c6771e1003090944l47d28842g336782a1b188ad71@mail.gmail.com> <4B9FB6A3.9080904@ubuntu.com> <17c6771e1003160957i2cad8fa9q24f9471130196140@mail.gmail.com> <4B9FB9FA.10705@ubuntu.com> <4BA9024E.4060705@ubuntu.com> Message-ID: <4BAB7988.8090106@ubuntu.com> On 23.03.2010 19:02, Matthias Klose wrote: > On 16.03.2010 18:03, Matthias Klose wrote: >> On 16.03.2010 17:57, Andrew John Hughes wrote: >>> On 16 March 2010 16:49, Matthias Klose wrote: >>>> On 09.03.2010 18:44, Andrew John Hughes wrote: >>>>> >>>>> On 9 March 2010 17:39, Matthias Klose wrote: >>>>>> >>>>>> Hi, >>>>>> >>>>>> I would like to prepare an IcedTea6-1.8 release, which I would >>>>>> like to >>>>>> include into the coming Debian and Ubuntu releases. The build >>>>>> failures >>>>>> introduced with the 6b18 import are now fixed, not seeing any more >>>>>> build >>>>>> failures. Would be reasonable to do this before switching to 6b19, >>>>>> and >>>>>> preparing a prerelease for mid/end of next week, and the final >>>>>> release >>>>>> for >>>>>> the end of March? >>>>>> >>>>>> Matthias >>>>>> >>>>>> >>>>> >>>>> We definitely need a release prior to importing b19, but that's not >>>>> imminent just yet (Zero needs upstreaming for one thing). It would >>>>> also be good to get Nimbus out in a release, so the plan sounds good >>>>> to me. >>>> >>>> I would like to create the branch on Thu, Mar 18 22:00 UTC. the >>>> plugin/netx >>>> reorganization looks finished. Are there any other changes which >>>> should go >>>> into the release? >>>> >>> >>> I'd like to get rid of the old plugin but that should be done by >>> tomorrow. >>> I have plenty of pending build work but it's not needed for 1.8. >>> >>>> I'm planning to prepare the release on Mar 25/26, and releasing after >>>> the >>>> weekend. >>>> >>> >>> I'm assuming that gets delayed if issues are found, right? I'm sure >>> we all want a quality release, not one rushed out for a deadline. >> >> sure, if this one isn't good enough, then we should delay the release >> for one week and try again. I like April 1st releases =) > > Some may have noticed, that the 1.8 is not yet created, sorry about > that. will now create the branch on Mar 25/26 and looking for the Apr > 1st release. Please no more changes to the build system before we branch. The branch is now created and available at icedtea.classpath.org/hg/release/icedtea6-1.8 Please start testing the branch. Matthias From andrew at icedtea.classpath.org Mon Mar 29 05:29:13 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 29 Mar 2010 12:29:13 +0000 Subject: /hg/icedtea6: Remove BINARY_PLUGS_PATH environment variable sett... Message-ID: changeset 7284d32445e4 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=7284d32445e4 author: Andrew John Hughes date: Mon Mar 29 13:29:04 2010 +0100 Remove BINARY_PLUGS_PATH environment variable setting and dead tools.jar targets. 2010-03-19 Andrew John Hughes * Makefile.am: (ICEDTEA_ENV): Remove BINARY_PLUGS_PATH. (tools.stamp): Removed. (clean- tools): Removed. diffstat: 2 files changed, 7 insertions(+), 21 deletions(-) ChangeLog | 7 +++++++ Makefile.am | 21 --------------------- diffs (55 lines): diff -r e5871a3b65f7 -r 7284d32445e4 ChangeLog --- a/ChangeLog Thu Mar 25 15:29:28 2010 +0100 +++ b/ChangeLog Mon Mar 29 13:29:04 2010 +0100 @@ -7,6 +7,13 @@ 2010-03-22 Deepak Bhole + + * Makefile.am: + (ICEDTEA_ENV): Remove BINARY_PLUGS_PATH. + (tools.stamp): Removed. + (clean-tools): Removed. 2010-03-19 Andrew John Hughes diff -r e5871a3b65f7 -r 7284d32445e4 Makefile.am --- a/Makefile.am Thu Mar 25 15:29:28 2010 +0100 +++ b/Makefile.am Mon Mar 29 13:29:04 2010 +0100 @@ -422,7 +422,6 @@ ICEDTEA_ENV = \ LANG="C" \ PATH="$(abs_top_builddir)/bootstrap/jdk1.6.0/bin:$(OS_PATH):$$PATH" \ ALT_BOOTDIR="$(ICEDTEA_BOOT_DIR)" \ - ALT_BINARY_PLUGS_PATH="$(abs_top_builddir)/bootstrap/jdk1.7.0" \ BUILD_ARCH_DIR="$(BUILD_ARCH_DIR)" \ ICEDTEA_BUILD_DIR="$(ICEDTEA_BUILD_DIR)" \ ICEDTEA_CLS_DIR="$(ICEDTEA_CLS_DIR)" \ @@ -2094,26 +2093,6 @@ endif endif touch stamps/rt.stamp -# tools.jar -stamps/tools.stamp: - mkdir -p bootstrap/jdk1.7.0/jre/lib/ - ln -sf $(ICEDTEA_RT) $(abs_top_builddir)/bootstrap/jdk1.7.0/jre/lib/tools.jar - if test -d bootstrap/ecj ; \ - then \ - mkdir -p bootstrap/ecj/lib/; \ - ln -sf $(abs_top_builddir)/bootstrap/jdk1.7.0/jre/lib/tools.jar \ - $(abs_top_builddir)/bootstrap/ecj/lib/tools.jar; \ - fi - mkdir -p stamps - touch stamps/tools.stamp - -clean-tools-jar: - rm -f bootstrap/jdk1.7.0/jre/lib/tools.jar - if test -d bootstrap/ecj/lib ; then \ - rm -f $(abs_top_builddir)/bootstrap/ecj/lib/tools.jar; \ - fi - rm -f stamps/tools.stamp - # Target Aliases # =============== From ed at camswl.com Mon Mar 29 08:07:06 2010 From: ed at camswl.com (Edward Nevill) Date: Mon, 29 Mar 2010 16:07:06 +0100 Subject: RTC: fix for fast bytecodes with ARM / Shark Message-ID: <1269875226.9734.26.camel@mint> Hi folks, The attached patch fixes the problem with Shark calling main_loop when a method is made non entrant. This patches hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp to recognise the rewritten bytecodes. Basically what happens is, where it would normally crash with the "unimplemented opcode" message it looks up what the original bytecode was before it was rewritten and executes that instead. This is very similar to the 'breakpoint' opcode just a few lines above it. So if, originally we had iload iload which was rewritten as iload_iload then it will just execute a single iload. It will then execute the second iload normally as this has not been rewritten. This does mean that it will execute in the C interpreter and will therefore execute more slowly, however this will only be very occasionally. The table for converting rewritten bytecodes back to original bytecodes is in hotspot/src/cpu/zero/vm/bytecodes_zero.cpp Basically, all the mechanism is there to do it in OpenJDK. Shark already does this, otherwise it wouldn't compile the methods at all. This is undoubtedly the cleanest fix for the problem. Unfortunately it is in shared code. However, I think it is a patch that is worthwhile pushing upstream. Note, I haven't conditionalised it because it is a generic fix. The patch has already been reviewed by Gary and Xerxes. Gary has kindly volunteered to push it upstream. Xerxes has tested it with Shark / ARM. Thanks to Gary and Xerxes for their help, Regards, Ed. --- CUT HERE --------------------------------------------------------- diff -r 2bf01e9fe8b0 Makefile.am --- a/Makefile.am Fri Mar 19 10:13:31 2010 +0100 +++ b/Makefile.am Fri Mar 19 15:06:03 2010 +0100 @@ -220,6 +220,7 @@ patches/zero/6909153.patch \ patches/zero/6913869.patch \ patches/zero/6914622.patch \ + patches/zero/cppInterpreter-fast-bytecodes.patch \ patches/icedtea-notice-safepoints.patch \ patches/icedtea-parisc-opt.patch \ patches/icedtea-lucene-crash.patch \ diff -r 2bf01e9fe8b0 patches/zero/cppInterpreter-fast-bytecodes.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/zero/cppInterpreter-fast-bytecodes.patch Fri Mar 19 15:06:03 2010 +0100 @@ -0,0 +1,15 @@ +Index: openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp +=================================================================== +--- openjdk.orig/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp 2010-03-19 10:35:14.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp 2010-03-19 10:39:01.000000000 +0100 +@@ -2328,6 +2328,10 @@ + } + + DEFAULT: ++ if (Bytecodes::is_defined((Bytecodes::Code)opcode)) { ++ opcode = (jubyte)Bytecodes::java_code((Bytecodes::Code)opcode); ++ goto opcode_switch; ++ } + fatal2("\t*** Unimplemented opcode: %d = %s\n", + opcode, Bytecodes::name((Bytecodes::Code)opcode)); + goto finish; From andrew at icedtea.classpath.org Mon Mar 29 14:01:07 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 29 Mar 2010 21:01:07 +0000 Subject: /hg/release/icedtea6-1.2: Add last two batches of security patches. Message-ID: changeset 2b66e5f1a1de in /hg/release/icedtea6-1.2 details: http://icedtea.classpath.org/hg/release/icedtea6-1.2?cmd=changeset;node=2b66e5f1a1de author: andrew date: Mon Mar 29 22:00:07 2010 +0100 Add last two batches of security patches. diffstat: 45 files changed, 11325 insertions(+), 37 deletions(-) Makefile.am | 45 + Makefile.in | 129 ++- patches/icedtea-4486841.patch | 838 +++++++++++++++++++++ patches/icedtea-6484091.patch | 86 ++ patches/icedtea-6497740.patch | 773 +++++++++++++++++++ patches/icedtea-6536193.patch | 102 ++ patches/icedtea-6588160.patch | 42 + patches/icedtea-6592792.patch | 228 +++++ patches/icedtea-6610888.patch | 58 + patches/icedtea-6610896.patch | 189 ++++ patches/icedtea-6630639.patch | 31 patches/icedtea-6631533.patch | 184 ++++ patches/icedtea-6632445.patch | 103 ++ patches/icedtea-6632886.patch | 502 ++++++++++++ patches/icedtea-6636360.patch | 66 + patches/icedtea-6636650.patch | 137 +++ patches/icedtea-6652463.patch | 28 patches/icedtea-6656633.patch | 51 + patches/icedtea-6657026.patch | 1609 +++++++++++++++++++++++++++++++++++++++++ patches/icedtea-6657138.patch | 729 ++++++++++++++++++ patches/icedtea-6658158.patch | 815 ++++++++++++++++++++ patches/icedtea-6664512.patch | 1194 ++++++++++++++++++++++++++++++ patches/icedtea-6691246.patch | 166 ++++ patches/icedtea-6717680.patch | 27 patches/icedtea-6721651.patch | 735 ++++++++++++++++++ patches/icedtea-6721753.patch | 88 ++ patches/icedtea-6726779.patch | 67 + patches/icedtea-6733959.patch | 19 patches/icedtea-6734167.patch | 89 ++ patches/icedtea-6737315.patch | 44 + patches/icedtea-6755943.patch | 245 ++++++ patches/icedtea-6766136.patch | 189 ++++ patches/icedtea-6792554.patch | 415 ++++++++++ patches/icedtea-6804996.patch | 75 + patches/icedtea-6804997.patch | 31 patches/icedtea-6804998.patch | 35 patches/icedtea-6822057.patch | 32 patches/icedtea-6824265.patch | 120 +++ patches/icedtea-6861062.patch | 341 ++++++++ patches/icedtea-6862968.patch | 60 + patches/icedtea-6863503.patch | 33 patches/icedtea-6864911.patch | 422 ++++++++++ patches/icedtea-6872357.patch | 17 patches/icedtea-6872358.patch | 157 ++++ patches/icedtea-6874643.patch | 16 diffs (truncated from 11729 to 500 lines): diff -r 871b70407a13 -r 2b66e5f1a1de Makefile.am --- a/Makefile.am Wed May 28 11:07:23 2008 -0400 +++ b/Makefile.am Mon Mar 29 22:00:07 2010 +0100 @@ -315,6 +315,49 @@ ICEDTEA_PATCHES = \ patches/icedtea-hat-spl-gpl.patch \ patches/icedtea-sparc.patch \ patches/icedtea-override-redirect-metacity.patch \ + patches/icedtea-4486841.patch \ + patches/icedtea-6484091.patch \ + patches/icedtea-6497740.patch \ + patches/icedtea-6536193.patch \ + patches/icedtea-6588160.patch \ + patches/icedtea-6592792.patch \ + patches/icedtea-6610888.patch \ + patches/icedtea-6610896.patch \ + patches/icedtea-6630639.patch \ + patches/icedtea-6632886.patch \ + patches/icedtea-6636360.patch \ + patches/icedtea-6652463.patch \ + patches/icedtea-6656633.patch \ + patches/icedtea-6658158.patch \ + patches/icedtea-6691246.patch \ + patches/icedtea-6717680.patch \ + patches/icedtea-6721651.patch \ + patches/icedtea-6721753.patch \ + patches/icedtea-6726779.patch \ + patches/icedtea-6733959.patch \ + patches/icedtea-6734167.patch \ + patches/icedtea-6737315.patch \ + patches/icedtea-6755943.patch \ + patches/icedtea-6766136.patch \ + patches/icedtea-6792554.patch \ + patches/icedtea-6804996.patch \ + patches/icedtea-6804997.patch \ + patches/icedtea-6804998.patch \ + patches/icedtea-6824265.patch \ + patches/icedtea-6632445.patch \ + patches/icedtea-6636650.patch \ + patches/icedtea-6657026.patch \ + patches/icedtea-6657138.patch \ + patches/icedtea-6822057.patch \ + patches/icedtea-6631533.patch \ + patches/icedtea-6861062.patch \ + patches/icedtea-6862968.patch \ + patches/icedtea-6863503.patch \ + patches/icedtea-6864911.patch \ + patches/icedtea-6872357.patch \ + patches/icedtea-6872358.patch \ + patches/icedtea-6664512.patch \ + patches/icedtea-6874643.patch \ $(GCC_PATCH) \ $(DISTRIBUTION_PATCHES) @@ -342,7 +385,7 @@ stamps/patch.stamp: stamps/extract.stamp do \ if test x$${all_patches_ok} == "xyes" \ && echo Checking $$p \ - && $(PATCH) -l -p0 --dry-run -s -t -f -F 0 < $$p ; \ + && $(PATCH) -l -p0 --dry-run -s -t -f < $$p ; \ then \ echo Applying $$p ; \ $(PATCH) -l -p0 < $$p ; \ diff -r 871b70407a13 -r 2b66e5f1a1de Makefile.in --- a/Makefile.in Wed May 28 11:07:23 2008 -0400 +++ b/Makefile.in Mon Mar 29 22:00:07 2010 +0100 @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.11 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, +# Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -15,8 +16,9 @@ @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c @@ -70,15 +72,16 @@ am__CONFIG_DISTCLEAN_FILES = config.stat configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_CLEAN_FILES = javac javap platform_zero jvm.cfg ergo.c +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ - { test ! -d $(distdir) \ - || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -fr $(distdir); }; } + { test ! -d "$(distdir)" \ + || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr "$(distdir)"; }; } DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print @@ -247,6 +250,7 @@ srcdir = @srcdir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ OPENJDK_DATE = 11_apr_2008 @@ -417,7 +421,29 @@ ICEDTEA_PATCHES = $(ZERO_PATCHES_COND) \ patches/icedtea-fonts.patch patches/icedtea-gervill.patch \ patches/icedtea-directaudio-close-trick.patch \ patches/icedtea-hat-spl-gpl.patch patches/icedtea-sparc.patch \ - patches/icedtea-override-redirect-metacity.patch $(GCC_PATCH) \ + patches/icedtea-override-redirect-metacity.patch \ + patches/icedtea-4486841.patch patches/icedtea-6484091.patch \ + patches/icedtea-6497740.patch patches/icedtea-6536193.patch \ + patches/icedtea-6588160.patch patches/icedtea-6592792.patch \ + patches/icedtea-6610888.patch patches/icedtea-6610896.patch \ + patches/icedtea-6630639.patch patches/icedtea-6632886.patch \ + patches/icedtea-6636360.patch patches/icedtea-6652463.patch \ + patches/icedtea-6656633.patch patches/icedtea-6658158.patch \ + patches/icedtea-6691246.patch patches/icedtea-6717680.patch \ + patches/icedtea-6721651.patch patches/icedtea-6721753.patch \ + patches/icedtea-6726779.patch patches/icedtea-6733959.patch \ + patches/icedtea-6734167.patch patches/icedtea-6737315.patch \ + patches/icedtea-6755943.patch patches/icedtea-6766136.patch \ + patches/icedtea-6792554.patch patches/icedtea-6804996.patch \ + patches/icedtea-6804997.patch patches/icedtea-6804998.patch \ + patches/icedtea-6824265.patch patches/icedtea-6632445.patch \ + patches/icedtea-6636650.patch patches/icedtea-6657026.patch \ + patches/icedtea-6657138.patch patches/icedtea-6822057.patch \ + patches/icedtea-6631533.patch patches/icedtea-6861062.patch \ + patches/icedtea-6862968.patch patches/icedtea-6863503.patch \ + patches/icedtea-6864911.patch patches/icedtea-6872357.patch \ + patches/icedtea-6872358.patch patches/icedtea-6664512.patch \ + patches/icedtea-6874643.patch $(GCC_PATCH) \ $(DISTRIBUTION_PATCHES) $(am__append_7) # Patch OpenJDK for plug replacements and ecj. @@ -478,15 +504,15 @@ am--refresh: @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \ - cd $(srcdir) && $(AUTOMAKE) --gnu \ + echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ + $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ && exit 0; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -502,9 +528,10 @@ Makefile: $(srcdir)/Makefile.in $(top_bu $(SHELL) ./config.status --recheck $(top_srcdir)/configure: $(am__configure_deps) - cd $(srcdir) && $(AUTOCONF) + $(am__cd) $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) +$(am__aclocal_m4_deps): javac: $(top_builddir)/config.status $(srcdir)/javac.in cd $(top_builddir) && $(SHELL) ./config.status $@ javap: $(top_builddir)/config.status $(srcdir)/javap.in @@ -524,7 +551,7 @@ CTAGS: distdir: $(DISTFILES) $(am__remove_distdir) - test -d $(distdir) || mkdir $(distdir) + test -d "$(distdir)" || mkdir "$(distdir)" @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -540,21 +567,26 @@ distdir: $(DISTFILES) if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done - -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + -test -n "$(am__skip_mode_fix)" \ + || find "$(distdir)" -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r $(distdir) + || chmod -R a+r "$(distdir)" dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) @@ -565,6 +597,10 @@ dist-bzip2: distdir dist-lzma: distdir tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma + $(am__remove_distdir) + +dist-xz: distdir + tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz $(am__remove_distdir) dist-tarZ: distdir @@ -595,6 +631,8 @@ distcheck: dist bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lzma*) \ unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\ + *.tar.xz*) \ + xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ @@ -606,9 +644,11 @@ distcheck: dist mkdir $(distdir)/_build mkdir $(distdir)/_inst chmod a-w $(distdir) + test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && cd $(distdir)/_build \ + && am__cwd=`pwd` \ + && $(am__cd) $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ @@ -630,13 +670,15 @@ distcheck: dist && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ + && cd "$$am__cwd" \ + || exit 1 $(am__remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: - @cd $(distuninstallcheck_dir) \ + @$(am__cd) '$(distuninstallcheck_dir)' \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ @@ -677,6 +719,7 @@ clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -694,6 +737,8 @@ dvi-am: html: html-am +html-am: + info: info-am info-am: @@ -702,17 +747,27 @@ install-data-am: install-dvi: install-dvi-am +install-dvi-am: + install-exec-am: install-html: install-html-am +install-html-am: + install-info: install-info-am + +install-info-am: install-man: install-pdf: install-pdf-am +install-pdf-am: + install-ps: install-ps-am + +install-ps-am: installcheck-am: @@ -736,20 +791,21 @@ ps-am: uninstall-am: -.MAKE: install-am install-strip +.MAKE: check-am install-am install-strip .PHONY: all all-am all-local am--refresh check check-am check-local \ clean clean-generic dist dist-all dist-bzip2 dist-gzip \ - dist-lzma dist-shar dist-tarZ dist-zip distcheck distclean \ - distclean-generic distclean-local distcleancheck distdir \ - distuninstallcheck dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am + dist-lzma dist-shar dist-tarZ dist-xz dist-zip distcheck \ + distclean distclean-generic distclean-local distcleancheck \ + distdir distuninstallcheck dvi dvi-am html html-am info \ + info-am install install-am install-data install-data-am \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-info install-info-am \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \ + uninstall-am # Top-Level Targets @@ -848,7 +904,7 @@ stamps/patch.stamp: stamps/extract.stamp do \ if test x$${all_patches_ok} == "xyes" \ && echo Checking $$p \ - && $(PATCH) -l -p0 --dry-run -s -t -f -F 0 < $$p ; \ + && $(PATCH) -l -p0 --dry-run -s -t -f < $$p ; \ then \ echo Applying $$p ; \ $(PATCH) -l -p0 < $$p ; \ @@ -1460,6 +1516,7 @@ clean: distclean-local clean: distclean-local jtreg: stamps/jtreg.stamp + # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff -r 871b70407a13 -r 2b66e5f1a1de patches/icedtea-4486841.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-4486841.patch Mon Mar 29 22:00:07 2010 +0100 @@ -0,0 +1,838 @@ +--- old/src/share/classes/sun/nio/cs/UTF_8.java Thu Oct 9 16:02:01 2008 ++++ openjdk/jdk/src/share/classes/sun/nio/cs/UTF_8.java Thu Oct 9 16:02:01 2008 +@@ -1,5 +1,5 @@ + /* +- * Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. ++ * Copyright 2000-2008 Sun Microsystems, Inc. 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 +@@ -25,34 +25,36 @@ + + package sun.nio.cs; + ++import java.nio.Buffer; + import java.nio.ByteBuffer; + import java.nio.CharBuffer; +-import java.nio.BufferOverflowException; +-import java.nio.BufferUnderflowException; + import java.nio.charset.Charset; + import java.nio.charset.CharsetDecoder; + import java.nio.charset.CharsetEncoder; + import java.nio.charset.CoderResult; +-import java.nio.charset.CharacterCodingException; +-import java.nio.charset.MalformedInputException; +-import java.nio.charset.UnmappableCharacterException; + +- +-/* +- * # Bits Bit pattern +- * 1 7 0xxxxxxx +- * 2 11 110xxxxx 10xxxxxx +- * 3 16 1110xxxx 10xxxxxx 10xxxxxx +- * 4 21 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx +- * 5 26 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx +- * 6 31 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx ++/* Legal UTF-8 Byte Sequences + * +- * UCS-2 uses 1-3, UTF-16 uses 1-4, UCS-4 uses 1-6 ++ * # Code Points Bits Bit/Byte pattern ++ * 1 7 0xxxxxxx ++ * U+0000..U+007F 00..7F ++ * ++ * 2 11 110xxxxx 10xxxxxx ++ * U+0080..U+07FF C2..DF 80..BF ++ * ++ * 3 16 1110xxxx 10xxxxxx 10xxxxxx ++ * U+0800..U+0FFF E0 A0..BF 80..BF ++ * U+1000..U+FFFF E1..EF 80..BF 80..BF ++ * ++ * 4 21 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx ++ * U+10000..U+3FFFF F0 90..BF 80..BF 80..BF ++ * U+40000..U+FFFFF F1..F3 80..BF 80..BF 80..BF ++ * U+100000..U10FFFF F4 80..8F 80..BF 80..BF ++ * + */ + + class UTF_8 extends Unicode + { +- + public UTF_8() { + super("UTF-8", StandardCharsets.aliases_UTF_8); + } +@@ -69,6 +71,11 @@ + return new Encoder(this); + } + ++ static final void updatePositions(Buffer src, int sp, ++ Buffer dst, int dp) { ++ src.position(sp - src.arrayOffset()); ++ dst.position(dp - dst.arrayOffset()); ++ } + + private static class Decoder extends CharsetDecoder { + private Decoder(Charset cs) { +@@ -75,161 +82,182 @@ + super(cs, 1.0f, 1.0f); + } + +- private boolean isContinuation(int b) { +- return ((b & 0xc0) == 0x80); ++ private static boolean isNotContinuation(int b) { ++ return (b & 0xc0) != 0x80; + } + +- private final Surrogate.Generator sgg = new Surrogate.Generator(); ++ // [C2..DF] [80..BF] ++ private static boolean isMalformed2(int b1, int b2) { ++ return (b1 & 0x1e) == 0x0 || (b2 & 0xc0) != 0x80; ++ } + ++ // [E0] [A0..BF] [80..BF] ++ // [E1..EF] [80..BF] [80..BF] ++ private static boolean isMalformed3(int b1, int b2, int b3) { ++ return (b1 == (byte)0xe0 && (b2 & 0xe0) == 0x80) || ++ (b2 & 0xc0) != 0x80 || (b3 & 0xc0) != 0x80; ++ } ++ ++ // [F0] [90..BF] [80..BF] [80..BF] ++ // [F1..F3] [80..BF] [80..BF] [80..BF] ++ // [F4] [80..8F] [80..BF] [80..BF] ++ // only check 80-be range here, the [0xf0,0x80...] and [0xf4,0x90-...] ++ // will be checked by Surrogate.neededFor(uc) ++ private static boolean isMalformed4(int b2, int b3, int b4) { ++ return (b2 & 0xc0) != 0x80 || (b3 & 0xc0) != 0x80 || ++ (b4 & 0xc0) != 0x80; ++ } ++ ++ private static CoderResult lookupN(ByteBuffer src, int n) ++ { ++ for (int i = 1; i < n; i++) { ++ if (isNotContinuation(src.get())) ++ return CoderResult.malformedForLength(i); ++ } ++ return CoderResult.malformedForLength(n); ++ } ++ ++ private static CoderResult malformedN(ByteBuffer src, int nb) { ++ switch (nb) { ++ case 1: ++ int b1 = src.get(); ++ if ((b1 >> 2) == -2) { ++ // 5 bytes 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx ++ if (src.remaining() < 4) ++ return CoderResult.UNDERFLOW; ++ return lookupN(src, 5); ++ } ++ if ((b1 >> 1) == -2) { From andrew at icedtea.classpath.org Mon Mar 29 18:48:13 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 30 Mar 2010 01:48:13 +0000 Subject: /hg/icedtea6: Use IT_JAVACFLAGS and don't hardcode source/target... Message-ID: changeset 433756a5db2c in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=433756a5db2c author: Andrew John Hughes date: Tue Mar 30 02:47:58 2010 +0100 Use IT_JAVACFLAGS and don't hardcode source/target options in javac script. Move to Perl javac.in, as in IcedTea7. 2010-03-29 Andrew John Hughes * .hgignore: Use a regular expression to match openjdk to avoid matching patches/openjdk. * Makefile.am: (NETX_BOOTSTRAP_CLASSES): Classes required to bootstrap NetX (only partial so far). (ICEDTEA_BOOTSTRAP_CLASSES): Include NETX_BOOTSTRAP_CLASSES. (IT_LANGUAGE_SOURCE_VERSION): Source version to compile as. (IT_CLASS_TARGET_VERSION): Class file version to target. (IT_JAVACFLAGS): Add above flags to javac compilation. (ICEDTEA_PATCHES): Add 6873059 source/target fixes from OpenJDK7. (liveconnect.stamp): Use ICEDTEA_RT on classpath instead of system rt.jar and lib/rt. (netx.stamp): Likewise. (extra- class-files.stamp): Use ICEDTEA_RT as bootclasspath. Use standard IT_JAVACFLAGS options. (pulse-java-jar.stamp): Remove unneeded conditional. (pulse-java-class.stamp): Use IT_JAVACFLAGS and ICEDTEA_RT on bootclasspath. (rewriter.stamp): Use IT_JAVACFLAGS. (plugin-tests.stamp): Likewise. (jtreg.stamp): Likewise. (rt-class- files.stamp): Likewise. (rt.stamp): Include org.classpath classes in rt.jar if NIO2 is enabled. * generated/org/classpath/icedtea/java/nio/channels/AcceptPendingExcep tion.java, * generated/org/classpath/icedtea/java/nio/channels/IllegalChannelGrou pException.java, * generated/org/classpath/icedtea/java/nio/channels/InterruptedByTimeo utException.java, * generated/org/classpath/icedtea/java/nio/channels/ReadPendingExcepti on.java, * generated/org/classpath/icedtea/java/nio/channels/ShutdownChannelGro upException.java, * generated/org/classpath/icedtea/java/nio/channels/WritePendingExcept ion.java, * generated/sun/nio/fs/UnixConstants.java: Add generated files needed for NIO2. * javac.in: Move to OpenJDK7 Perl version so that flag duplication avoidance works correctly. * patches/ecj/icedtea-hotspot.patch: Regenerated. * patches/openjdk/6873059-javac-versioning-corba.patch, * patches/openjdk/6873059-javac-versioning-hotspot.patch, * patches/openjdk/6873059-javac-versioning-jdk.patch: Backported from OpenJDK7. * THANKYOU: Add C. K. Jester-Young who created the initial Perl version of javac.in. diffstat: 16 files changed, 834 insertions(+), 75 deletions(-) .hgignore | 10 ChangeLog | 66 ++ Makefile.am | 66 +- THANKYOU | 1 generated/org/classpath/icedtea/java/nio/channels/AcceptPendingException.java | 51 ++ generated/org/classpath/icedtea/java/nio/channels/IllegalChannelGroupException.java | 51 ++ generated/org/classpath/icedtea/java/nio/channels/InterruptedByTimeoutException.java | 51 ++ generated/org/classpath/icedtea/java/nio/channels/ReadPendingException.java | 51 ++ generated/org/classpath/icedtea/java/nio/channels/ShutdownChannelGroupException.java | 52 ++ generated/org/classpath/icedtea/java/nio/channels/WritePendingException.java | 51 ++ generated/sun/nio/fs/UnixConstants.java | 79 +++ javac.in | 79 +-- patches/ecj/icedtea-hotspot.patch | 18 patches/openjdk/6873059-javac-versioning-corba.patch | 23 patches/openjdk/6873059-javac-versioning-hotspot.patch | 245 ++++++++++ patches/openjdk/6873059-javac-versioning-jdk.patch | 15 diffs (truncated from 1122 to 500 lines): diff -r 7284d32445e4 -r 433756a5db2c .hgignore --- a/.hgignore Mon Mar 29 13:29:04 2010 +0100 +++ b/.hgignore Tue Mar 30 02:47:58 2010 +0100 @@ -7,7 +7,6 @@ cacao cacao netbeans visualvm -openjdk bootstrap debian lib @@ -38,13 +37,16 @@ test/jtreg.jar test/jtreg.jar test/jtreg/classes test/jtreg-summary.log -test/check-.*log +test/check-*.log generated/sun/awt/X11/generator/sizer.32.orig pulseaudio/bin -pulseaudio/.*\.o +pulseaudio/*.o pulseaudio/src/native/org_.*.h -pulseaudio/.*jar +pulseaudio/*.jar pulse-java.jar hotspot.tar.gz ports/hotspot/src/cpu/zero/vm/bytecodes_arm.s plugin/tests/LiveConnect/*jar + +syntax: regexp +^openjdk diff -r 7284d32445e4 -r 433756a5db2c ChangeLog --- a/ChangeLog Mon Mar 29 13:29:04 2010 +0100 +++ b/ChangeLog Tue Mar 30 02:47:58 2010 +0100 @@ -1,3 +1,69 @@ 2010-03-25 Matthias Klose + + * .hgignore: + Use a regular expression to match openjdk + to avoid matching patches/openjdk. + * Makefile.am: + (NETX_BOOTSTRAP_CLASSES): Classes required to + bootstrap NetX (only partial so far). + (ICEDTEA_BOOTSTRAP_CLASSES): Include + NETX_BOOTSTRAP_CLASSES. + (IT_LANGUAGE_SOURCE_VERSION): Source version to compile as. + (IT_CLASS_TARGET_VERSION): Class file version to target. + (IT_JAVACFLAGS): Add above flags to javac compilation. + (ICEDTEA_PATCHES): Add 6873059 source/target fixes from OpenJDK7. + (liveconnect.stamp): Use ICEDTEA_RT on classpath instead of system rt.jar and lib/rt. + (netx.stamp): Likewise. + (extra-class-files.stamp): Use ICEDTEA_RT as bootclasspath. + Use standard IT_JAVACFLAGS options. + (pulse-java-jar.stamp): Remove unneeded conditional. + (pulse-java-class.stamp): Use IT_JAVACFLAGS and ICEDTEA_RT on bootclasspath. + (rewriter.stamp): Use IT_JAVACFLAGS. + (plugin-tests.stamp): Likewise. + (jtreg.stamp): Likewise. + (rt-class-files.stamp): Likewise. + (rt.stamp): Include org.classpath classes in rt.jar if NIO2 is enabled. + * generated/org/classpath/icedtea/java/nio/channels/AcceptPendingException.java, + * generated/org/classpath/icedtea/java/nio/channels/IllegalChannelGroupException.java, + * generated/org/classpath/icedtea/java/nio/channels/InterruptedByTimeoutException.java, + * generated/org/classpath/icedtea/java/nio/channels/ReadPendingException.java, + * generated/org/classpath/icedtea/java/nio/channels/ShutdownChannelGroupException.java, + * generated/org/classpath/icedtea/java/nio/channels/WritePendingException.java, + * generated/sun/nio/fs/UnixConstants.java: + Add generated files needed for NIO2. + * javac.in: Move to OpenJDK7 Perl version so that flag duplication avoidance + works correctly. + * patches/ecj/icedtea-hotspot.patch: Regenerated. + * patches/openjdk/6873059-javac-versioning-corba.patch, + * patches/openjdk/6873059-javac-versioning-hotspot.patch, + * patches/openjdk/6873059-javac-versioning-jdk.patch: + Backported from OpenJDK7. + * THANKYOU: Add C. K. Jester-Young who created + the initial Perl version of javac.in. + +2009-08-21 Andrew John Hughes + + * javac.in: + Remove 1.7 setting. Add ecj_parms so same + parameters are used for all ecj invocations. + +2009-07-21 Andrew John Hughes + + * javac.in: + Move ecj opt generation to a subroutine so it is only + performed when needed. + +2008-11-10 Andrew John Hughes + + * javac.in: + Update with native ecj changes. + +2008-09-18 C. K. Jester-Young + + * javac.in: + Convert to Perl script to avoid + quoting errors. + 2010-03-25 Matthias Klose * configure.ac: Bump version to 1.9pre. diff -r 7284d32445e4 -r 433756a5db2c Makefile.am --- a/Makefile.am Mon Mar 29 13:29:04 2010 +0100 +++ b/Makefile.am Tue Mar 30 02:47:58 2010 +0100 @@ -88,18 +88,29 @@ ICEDTEA_BOOTSTRAP_DIRS = \ $(LANGTOOLS)/com/sun/mirror \ $(LANGTOOLS)/com/sun/tools/apt +# PR43578 - java.security.CodeSource.getCodeSigners() missing +# PR43582 - Missing javax.swing.JTable.setFillsViewportHeight +# PR43585 - java.security.KeyStore.TrustedCertificateEntry class missing +NETX_BOOTSTRAP_CLASSES = \ + $(SHARE)/java/security/CodeSource.java \ + $(SHARE)/javax/swing/JTable.java \ + $(SHARE)/java/security/KeyStore.java + # PR42003 - javax.swing.plaf.basic.BasicDirectoryModel # PR43389 - javax.management.StandardMBean ICEDTEA_BOOTSTRAP_CLASSES = \ $(SHARE)/javax/swing/plaf/basic/BasicDirectoryModel.java \ - $(SHARE)/javax/management/StandardMBean.java + $(SHARE)/javax/management/StandardMBean.java \ + $(NETX_BOOTSTRAP_CLASSES) # FIXME (javac): Settings for javac go here # Flags IT_CFLAGS=$(CFLAGS) $(ARCHFLAG) IT_JAVAC_SETTINGS=-g -encoding utf-8 $(JAVACFLAGS) $(MEMORY_LIMIT) $(PREFER_SOURCE) -IT_JAVACFLAGS=$(IT_JAVAC_SETTINGS) +IT_LANGUAGE_SOURCE_VERSION=6 +IT_CLASS_TARGET_VERSION=6 +IT_JAVACFLAGS=$(IT_JAVAC_SETTINGS) -source $(IT_LANGUAGE_SOURCE_VERSION) -target $(IT_CLASS_TARGET_VERSION) # Conditional defintions @@ -299,7 +310,10 @@ ICEDTEA_PATCHES = \ patches/extensions/netx.patch \ patches/extensions/netx-dist.patch \ patches/extensions/netx-umask.patch \ - patches/icedtea-jtreg-httpTest.patch + patches/icedtea-jtreg-httpTest.patch \ + patches/openjdk/6873059-javac-versioning-corba.patch \ + patches/openjdk/6873059-javac-versioning-hotspot.patch \ + patches/openjdk/6873059-javac-versioning-jdk.patch if WITH_RHINO ICEDTEA_PATCHES += \ @@ -379,7 +393,6 @@ ICEDTEA_ECJ_PATCHES = patches/ecj/icedte patches/ecj/bootver.patch \ patches/ecj/getannotation-cast.patch \ patches/ecj/override.patch - if DTDTYPE_QNAME ICEDTEA_ECJ_PATCHES += \ patches/ecj/icedtea-jaxws-getdtdtype.patch @@ -1546,7 +1559,7 @@ stamps/liveconnect.stamp: liveconnect-so mkdir -p $(abs_top_builddir)/liveconnect && \ $(ICEDTEA_BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ -d $(abs_top_builddir)/liveconnect \ - -classpath $(abs_top_builddir)/lib/rt:$(abs_top_builddir)/netx.build:$(SYSTEM_JDK_DIR)/jre/lib/rt.jar \ + -classpath $(abs_top_builddir)/netx.build:$(ICEDTEA_RT) \ -sourcepath $(SOURCEPATH_DIRS) \ -bootclasspath \'\' \ @liveconnect-source-files.txt ; \ @@ -1584,9 +1597,8 @@ stamps/netx.stamp: netx-source-files.txt mkdir -p $(abs_top_builddir)/netx.build $(ICEDTEA_BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ -d $(abs_top_builddir)/netx.build \ - -classpath $(abs_top_builddir)/lib/rt:$(SYSTEM_JDK_DIR)/jre/lib/rt.jar \ -sourcepath $(NETX_SRCDIR):$(SOURCEPATH_DIRS) \ - -bootclasspath \'\' \ + -classpath $(ICEDTEA_RT) -bootclasspath \'\' \ @netx-source-files.txt cp -r $(NETX_RESOURCE_DIR) $(abs_top_builddir)/netx.build/net/sourceforge/jnlp mkdir -p stamps @@ -1618,10 +1630,9 @@ stamps/extra-class-files.stamp: $(INITIA stamps/extra-class-files.stamp: $(INITIAL_BOOTSTRAP_LINK_STAMP) \ extra-source-files.txt stamps/netx.stamp mkdir -p extra-lib - $(ICEDTEA_BOOT_DIR)/bin/javac $(MEMORY_LIMIT) -g -d extra-lib \ - -source 1.5 \ - -sourcepath extra -cp netx.build:$(ICEDTEA_RT) \ - -bootclasspath \'\' @extra-source-files.txt + $(ICEDTEA_BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) -d extra-lib \ + -sourcepath extra -cp netx.build \ + -bootclasspath $(ICEDTEA_RT) @extra-source-files.txt cp -r $(NETX_EXTRA_DIR) extra-lib/net/sourceforge/jnlp/about mkdir -p stamps touch $@ @@ -1659,20 +1670,15 @@ stamps/pulse-java.stamp: stamps/pulse-ja stamps/pulse-java-jar.stamp: stamps/pulse-java-class.stamp mkdir -p $(PULSE_JAVA_CLASS_DIR); - if ! test -d $(ICEDTEA_BOOT_DIR) ; \ - then \ - $(JAR) cf pulse-java.jar -C $(PULSE_JAVA_CLASS_DIR) .; \ - else \ - $(ICEDTEA_BOOT_DIR)/bin/jar cf pulse-java.jar -C $(PULSE_JAVA_CLASS_DIR) .; \ - fi + $(ICEDTEA_BOOT_DIR)/bin/jar cf pulse-java.jar -C $(PULSE_JAVA_CLASS_DIR) .; mkdir -p stamps touch stamps/pulse-java-jar.stamp stamps/pulse-java-class.stamp: $(INITIAL_BOOTSTRAP_LINK_STAMP) mkdir -p $(PULSE_JAVA_CLASS_DIR) (cd $(PULSE_JAVA_JAVA_SRCDIR); \ - $(ICEDTEA_BOOT_DIR)/bin/javac -g -d $(PULSE_JAVA_CLASS_DIR) \ - -bootclasspath '$(ICEDTEA_BOOT_DIR)/jre/lib/rt.jar' \ + $(ICEDTEA_BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) -d $(PULSE_JAVA_CLASS_DIR) \ + -bootclasspath $(ICEDTEA_RT) \ org/classpath/icedtea/pulseaudio/*.java \ ) cp -r $(PULSE_JAVA_JAVA_SRCDIR)/META-INF $(PULSE_JAVA_CLASS_DIR) @@ -1710,7 +1716,7 @@ if WITH_RHINO if WITH_RHINO mkdir -p $(abs_top_builddir)/rewriter (cd $(abs_top_srcdir)/rewriter ; \ - $(ICEDTEA_BOOT_DIR)/bin/javac -g \ + $(ICEDTEA_BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ -d $(abs_top_builddir)/rewriter $(REWRITER_SRCS) \ ) endif @@ -1953,10 +1959,10 @@ stamps/plugin-tests.stamp: $(INITIAL_BOO stamps/plugin-tests.stamp: $(INITIAL_BOOTSTRAP_LINK_STAMP) $(PLUGIN_TEST_SRCS) \ stamps/plugin.stamp mkdir -p plugin/tests/LiveConnect - $(ICEDTEA_BOOT_DIR)/bin/javac $(MEMORY_LIMIT) -g \ + $(ICEDTEA_BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ -d plugin/tests/LiveConnect \ -classpath liveconnect/lib/classes.jar \ - -source 1.5 $(PLUGIN_TEST_SRCS) ; + $(PLUGIN_TEST_SRCS) ; $(ICEDTEA_BOOT_DIR)/bin/jar cf plugin/tests/LiveConnect/PluginTest.jar \ plugin/tests/LiveConnect/*.class ; cp -a $(abs_top_srcdir)/plugin/tests/LiveConnect/*.{js,html} plugin/tests/LiveConnect ; @@ -1970,7 +1976,7 @@ stamps/jtreg.stamp: stamps/icedtea-again stamps/jtreg.stamp: stamps/icedtea-against-icedtea.stamp rm -rf test/jtreg/classes mkdir -p test/jtreg/classes - $(ICEDTEA_BOOT_DIR)/bin/javac -g -d test/jtreg/classes -source 1.5 \ + $(ICEDTEA_BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) -d test/jtreg/classes \ -encoding iso-8859-1 `find $(abs_top_srcdir)/test/jtreg/com -name '*.java'` (cd $(abs_top_srcdir)/test/jtreg; \ $(ICEDTEA_BOOT_DIR)/bin/jar cfm $(abs_top_builddir)/test/jtreg.jar \ @@ -2069,11 +2075,10 @@ rt-source-files.txt: $(OPENJDK_ECJ_TREE) stamps/rt-class-files.stamp: $(INITIAL_BOOTSTRAP_LINK_STAMP) rt-source-files.txt mkdir -p lib/rt - $(ICEDTEA_BOOT_DIR)/bin/javac $(MEMORY_LIMIT) -g -d lib/rt \ - -source 1.5 \ - -sourcepath $(SOURCEPATH_DIRS) \ + $(ICEDTEA_BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) -d lib/rt \ + -sourcepath $(SOURCEPATH_DIRS) -bootclasspath \'\' \ -classpath $(SYSTEM_JDK_DIR)/jre/lib/rt.jar \ - -bootclasspath \'\' @rt-source-files.txt ; + @rt-source-files.txt ; mkdir -p stamps touch stamps/rt-class-files.stamp @@ -2089,7 +2094,12 @@ stamps/rt.stamp: stamps/rt-class-files.s mkdir -p stamps if LACKS_SUN_AWT_TOOLKIT $(ICEDTEA_BOOT_DIR)/bin/jar uf $(ICEDTEA_RT) -C lib/rt com -C lib/rt java \ - -C lib/rt javax -C lib/rt sun ; + -C lib/rt javax -C lib/rt sun +if ENABLE_NIO2 + if [ -e lib/rt/org/classpath ] ; then \ + $(ICEDTEA_BOOT_DIR)/bin/jar uf $(ICEDTEA_RT) -C lib/rt org/classpath ; \ + fi +endif endif touch stamps/rt.stamp diff -r 7284d32445e4 -r 433756a5db2c THANKYOU --- a/THANKYOU Mon Mar 29 13:29:04 2010 +0100 +++ b/THANKYOU Tue Mar 30 02:47:58 2010 +0100 @@ -5,3 +5,4 @@ us know. Please keep this list in alphab us know. Please keep this list in alphabetic order. Alon Bar-Lev (alon.barlev at gmail.com) +C. K. Jester-Young (cky944 at gmail.com) diff -r 7284d32445e4 -r 433756a5db2c generated/org/classpath/icedtea/java/nio/channels/AcceptPendingException.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/generated/org/classpath/icedtea/java/nio/channels/AcceptPendingException.java Tue Mar 30 02:47:58 2010 +0100 @@ -0,0 +1,51 @@ +/* + * Copyright 2000-2007 Sun Microsystems, Inc. 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + * + */ + +// -- This file was mechanically generated: Do not edit! -- // + +package org.classpath.icedtea.java.nio.channels; + + +/** + * Unchecked exception thrown when an attempt is made to initiate an accept + * operation on a channel and a previous accept operation has not completed. + * + * @since 1.7 + */ + +public class AcceptPendingException + extends IllegalStateException +{ + + private static final long serialVersionUID = 2721339977965416421L; + + /** + * Constructs an instance of this class. + */ + public AcceptPendingException() { } + +} diff -r 7284d32445e4 -r 433756a5db2c generated/org/classpath/icedtea/java/nio/channels/IllegalChannelGroupException.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/generated/org/classpath/icedtea/java/nio/channels/IllegalChannelGroupException.java Tue Mar 30 02:47:58 2010 +0100 @@ -0,0 +1,51 @@ +/* + * Copyright 2000-2007 Sun Microsystems, Inc. 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + * + */ + +// -- This file was mechanically generated: Do not edit! -- // + +package org.classpath.icedtea.java.nio.channels; + + +/** + * Unchecked exception thrown when an attempt is made to open a channel + * in a group that was not created by the same provider. + * + * @since 1.7 + */ + +public class IllegalChannelGroupException + extends IllegalArgumentException +{ + + private static final long serialVersionUID = -2495041211157744253L; + + /** + * Constructs an instance of this class. + */ + public IllegalChannelGroupException() { } + +} diff -r 7284d32445e4 -r 433756a5db2c generated/org/classpath/icedtea/java/nio/channels/InterruptedByTimeoutException.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/generated/org/classpath/icedtea/java/nio/channels/InterruptedByTimeoutException.java Tue Mar 30 02:47:58 2010 +0100 @@ -0,0 +1,51 @@ +/* + * Copyright 2000-2007 Sun Microsystems, Inc. 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + * + */ + +// -- This file was mechanically generated: Do not edit! -- // + +package org.classpath.icedtea.java.nio.channels; + + +/** + * Checked exception received by a thread when a timeout elapses before an + * asynchronous operation completes. + * + * @since 1.7 + */ + +public class InterruptedByTimeoutException + extends java.io.IOException +{ + + private static final long serialVersionUID = -4268008601014042947L; + + /** + * Constructs an instance of this class. + */ + public InterruptedByTimeoutException() { } + +} diff -r 7284d32445e4 -r 433756a5db2c generated/org/classpath/icedtea/java/nio/channels/ReadPendingException.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/generated/org/classpath/icedtea/java/nio/channels/ReadPendingException.java Tue Mar 30 02:47:58 2010 +0100 @@ -0,0 +1,51 @@ +/* + * Copyright 2000-2007 Sun Microsystems, Inc. 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 + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + * + */ + +// -- This file was mechanically generated: Do not edit! -- // + +package org.classpath.icedtea.java.nio.channels; + + +/** + * Unchecked exception thrown when an attempt is made to read from an + * asynchronous socket channel and a previous read has not completed. + * + * @since 1.7 + */ + +public class ReadPendingException + extends IllegalStateException +{ + + private static final long serialVersionUID = 1986315242191227217L; + + /** From enevill at icedtea.classpath.org Tue Mar 30 06:36:12 2010 From: enevill at icedtea.classpath.org (enevill at icedtea.classpath.org) Date: Tue, 30 Mar 2010 13:36:12 +0000 Subject: /hg/icedtea6: Fix for fast bytecode in cpp interpreter Message-ID: changeset 906953e7c9af in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=906953e7c9af author: Edward Nevill date: Tue Mar 30 14:36:22 2010 +0100 Fix for fast bytecode in cpp interpreter diffstat: 3 files changed, 21 insertions(+) ChangeLog | 5 +++++ Makefile.am | 1 + patches/zero/cppInterpreter-fast-bytecodes.patch | 15 +++++++++++++++ diffs (42 lines): diff -r 433756a5db2c -r 906953e7c9af ChangeLog --- a/ChangeLog Tue Mar 30 02:47:58 2010 +0100 +++ b/ChangeLog Tue Mar 30 14:36:22 2010 +0100 @@ -1,3 +1,8 @@ 2010-03-29 Andrew John Hughes + + * bytecodeInterpreter.cpp + Fix to support fast bytecodes + 2010-03-29 Andrew John Hughes * .hgignore: diff -r 433756a5db2c -r 906953e7c9af Makefile.am --- a/Makefile.am Tue Mar 30 02:47:58 2010 +0100 +++ b/Makefile.am Tue Mar 30 14:36:22 2010 +0100 @@ -231,6 +231,7 @@ ICEDTEA_PATCHES = \ patches/zero/6909153.patch \ patches/zero/6913869.patch \ patches/zero/6914622.patch \ + patches/zero/cppInterpreter-fast-bytecodes.patch \ patches/icedtea-notice-safepoints.patch \ patches/icedtea-parisc-opt.patch \ patches/icedtea-lucene-crash.patch \ diff -r 433756a5db2c -r 906953e7c9af patches/zero/cppInterpreter-fast-bytecodes.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/zero/cppInterpreter-fast-bytecodes.patch Tue Mar 30 14:36:22 2010 +0100 @@ -0,0 +1,15 @@ +Index: openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp +=================================================================== +--- openjdk.orig/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp 2010-03-19 10:35:14.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp 2010-03-19 10:39:01.000000000 +0100 +@@ -2328,6 +2328,10 @@ + } + + DEFAULT: ++ if (Bytecodes::is_defined((Bytecodes::Code)opcode)) { ++ opcode = (jubyte)Bytecodes::java_code((Bytecodes::Code)opcode); ++ goto opcode_switch; ++ } + fatal2("\t*** Unimplemented opcode: %d = %s\n", + opcode, Bytecodes::name((Bytecodes::Code)opcode)); + goto finish; From ptisnovs at redhat.com Tue Mar 30 10:26:50 2010 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Tue, 30 Mar 2010 19:26:50 +0200 Subject: IcedTea6 (head) build failure when parameter --with-hotspot-build=hs16 is used Message-ID: <4BB2345A.7040500@redhat.com> Hi, I'm trying to build IcedTea6 (head) using parameter --with-hotspot-build=hs16 but build failed with this error message: Applying patches/extensions/netx-dist.patch patching file openjdk/jdk/make/common/internal/Defs-netx.gmk patching file openjdk/jdk/make/common/internal/ImportComponents.gmk Hunk #2 succeeded at 121 (offset -1 lines). patching file openjdk/jdk/make/common/shared/Defs.gmk Hunk #1 succeeded at 350 (offset 6 lines). Checking patches/extensions/netx-umask.patch Applying patches/extensions/netx-umask.patch patching file openjdk/jdk/make/launchers/Makefile.launcher patching file openjdk/jdk/src/share/bin/java.c Hunk #5 succeeded at 2044 (offset 6 lines). Checking patches/icedtea-jtreg-httpTest.patch Applying patches/icedtea-jtreg-httpTest.patch patching file openjdk/jdk/test/java/net/URL/TestHttps.java Checking patches/openjdk/6873059-javac-versioning-corba.patch Applying patches/openjdk/6873059-javac-versioning-corba.patch patching file openjdk/corba/make/common/shared/Defs-java.gmk Hunk #1 succeeded at 176 (offset -3 lines). Checking patches/openjdk/6873059-javac-versioning-hotspot.patch 1 out of 2 hunks FAILED -- saving rejects to file openjdk/hotspot/make/windows/makefiles/rules.make.rej ERROR patch patches/openjdk/6873059-javac-versioning-hotspot.patch FAILED! WARNING make clean-patch before retrying a fix make: *** [stamps/patch.stamp] Error 2 Do we still suppot hs16 in IcedTea? Cheers, Pavel From ahughes at redhat.com Tue Mar 30 09:51:41 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Tue, 30 Mar 2010 16:51:41 +0000 Subject: IcedTea6 (head) build failure when parameter --with-hotspot-build=hs16 is used In-Reply-To: <4BB2345A.7040500@redhat.com> References: <4BB2345A.7040500@redhat.com> Message-ID: <17c6771e1003300951p183e89aci219e791276f9881e@mail.gmail.com> On 30 March 2010 17:26, Pavel Tisnovsky wrote: > Hi, > > I'm trying to build IcedTea6 (head) using parameter > --with-hotspot-build=hs16 > > but build failed with this error message: > > Applying patches/extensions/netx-dist.patch > patching file openjdk/jdk/make/common/internal/Defs-netx.gmk > patching file openjdk/jdk/make/common/internal/ImportComponents.gmk > Hunk #2 succeeded at 121 (offset -1 lines). > patching file openjdk/jdk/make/common/shared/Defs.gmk > Hunk #1 succeeded at 350 (offset 6 lines). > Checking patches/extensions/netx-umask.patch > Applying patches/extensions/netx-umask.patch > patching file openjdk/jdk/make/launchers/Makefile.launcher > patching file openjdk/jdk/src/share/bin/java.c > Hunk #5 succeeded at 2044 (offset 6 lines). > Checking patches/icedtea-jtreg-httpTest.patch > Applying patches/icedtea-jtreg-httpTest.patch > patching file openjdk/jdk/test/java/net/URL/TestHttps.java > Checking patches/openjdk/6873059-javac-versioning-corba.patch > Applying patches/openjdk/6873059-javac-versioning-corba.patch > patching file openjdk/corba/make/common/shared/Defs-java.gmk > Hunk #1 succeeded at 176 (offset -3 lines). > Checking patches/openjdk/6873059-javac-versioning-hotspot.patch > 1 out of 2 hunks FAILED -- saving rejects to file > openjdk/hotspot/make/windows/makefiles/rules.make.rej > ERROR patch patches/openjdk/6873059-javac-versioning-hotspot.patch > FAILED! > WARNING make clean-patch before retrying a fix > make: *** [stamps/patch.stamp] Error 2 > > Do we still suppot hs16 in IcedTea? > > Cheers, > Pavel > hs16 needs a different version of this patch. We'll probably be importing OpenJDK6 b19 which uses HotSpot 16 anyway within the next week or so. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From andrew at icedtea.classpath.org Tue Mar 30 12:48:11 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 30 Mar 2010 19:48:11 +0000 Subject: /hg/icedtea6: Make javac versioning patch work with hs16 as well. Message-ID: changeset 911fc7449289 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=911fc7449289 author: Andrew John Hughes date: Tue Mar 30 20:37:12 2010 +0100 Make javac versioning patch work with hs16 as well. 2010-03-30 Andrew John Hughes * patches/openjdk/6873059-javac-versioning-hotspot.patch: Move to hotspot/original directory. * Makefile.am: Make javac versioning patch for HotSpot version-specific. * patches/hotspot/hs16/6873059-javac-versioning-hotspot.patch: Variant of earlier javac versioning patch for hs16 (direct from OpenJDK7). * patches/hotspot/original/6873059-javac-versioning-hotspot.patch, Previous javac versioning patch modified for hs14. diffstat: 5 files changed, 503 insertions(+), 246 deletions(-) ChangeLog | 12 Makefile.am | 2 patches/hotspot/hs16/6873059-javac-versioning-hotspot.patch | 245 ++++++++++ patches/hotspot/original/6873059-javac-versioning-hotspot.patch | 245 ++++++++++ patches/openjdk/6873059-javac-versioning-hotspot.patch | 245 ---------- diffs (truncated from 778 to 500 lines): diff -r 906953e7c9af -r 911fc7449289 ChangeLog --- a/ChangeLog Tue Mar 30 14:36:22 2010 +0100 +++ b/ChangeLog Tue Mar 30 20:37:12 2010 +0100 @@ -1,3 +1,15 @@ 2010-03-30 Edward Nevill + + * patches/openjdk/6873059-javac-versioning-hotspot.patch: + Move to hotspot/original directory. + * Makefile.am: Make javac versioning patch for HotSpot + version-specific. + * patches/hotspot/hs16/6873059-javac-versioning-hotspot.patch: + Variant of earlier javac versioning patch for hs16 (direct + from OpenJDK7). + * patches/hotspot/original/6873059-javac-versioning-hotspot.patch, + Previous javac versioning patch modified for hs14. + 2010-03-30 Edward Nevill * bytecodeInterpreter.cpp diff -r 906953e7c9af -r 911fc7449289 Makefile.am --- a/Makefile.am Tue Mar 30 14:36:22 2010 +0100 +++ b/Makefile.am Tue Mar 30 20:37:12 2010 +0100 @@ -313,7 +313,7 @@ ICEDTEA_PATCHES = \ patches/extensions/netx-umask.patch \ patches/icedtea-jtreg-httpTest.patch \ patches/openjdk/6873059-javac-versioning-corba.patch \ - patches/openjdk/6873059-javac-versioning-hotspot.patch \ + patches/hotspot/$(HSBUILD)/6873059-javac-versioning-hotspot.patch \ patches/openjdk/6873059-javac-versioning-jdk.patch if WITH_RHINO diff -r 906953e7c9af -r 911fc7449289 patches/hotspot/hs16/6873059-javac-versioning-hotspot.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/hs16/6873059-javac-versioning-hotspot.patch Tue Mar 30 20:37:12 2010 +0100 @@ -0,0 +1,245 @@ +# HG changeset patch +# User andrew +# Date 1252756207 -3600 +# Node ID 0fc81f0a8ca8642c9e4b6901fa23b59c29ac81d7 +# Parent 682194ca1d8d5e705da06c5974ffcda76b0a7add +6873059: Explicitly use -source 6 -target 6 when compiling with the boot jdk +Summary: The build fails if the bootstrap JDK defaults to <1.5 +Reviewed-by: jcoomes + +diff -r 682194ca1d8d -r 0fc81f0a8ca8 make/linux/makefiles/jvmti.make +--- a/make/linux/makefiles/jvmti.make Thu Sep 10 09:04:41 2009 -0400 ++++ b/make/linux/makefiles/jvmti.make Sat Sep 12 12:50:07 2009 +0100 +@@ -70,10 +70,10 @@ + both = $(JvmtiGenClass) $(JvmtiSrcDir)/jvmti.xml $(JvmtiSrcDir)/jvmtiLib.xsl + + $(JvmtiGenClass): $(JvmtiGenSource) +- $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -g -d $(JvmtiOutDir) $(JvmtiGenSource) ++ $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -d $(JvmtiOutDir) $(JvmtiGenSource) + + $(JvmtiEnvFillClass): $(JvmtiEnvFillSource) +- $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -g -d $(JvmtiOutDir) $(JvmtiEnvFillSource) ++ $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -d $(JvmtiOutDir) $(JvmtiEnvFillSource) + + $(JvmtiOutDir)/jvmtiEnter.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnter.xsl + @echo Generating $@ +diff -r 682194ca1d8d -r 0fc81f0a8ca8 make/linux/makefiles/rules.make +--- a/make/linux/makefiles/rules.make Thu Sep 10 09:04:41 2009 -0400 ++++ b/make/linux/makefiles/rules.make Sat Sep 12 12:50:07 2009 +0100 +@@ -122,12 +122,20 @@ + endif + endif + ++COMPILE.JAVAC += $(BOOTSTRAP_JAVAC_FLAGS) ++ + SUM = /usr/bin/sum + + # 'gmake MAKE_VERBOSE=y' gives all the gory details. + QUIETLY$(MAKE_VERBOSE) = @ + RUN.JAR$(MAKE_VERBOSE) += >/dev/null + ++# Settings for javac ++BOOT_SOURCE_LANGUAGE_VERSION = 6 ++BOOT_TARGET_CLASS_VERSION = 6 ++JAVAC_FLAGS = -g -encoding ascii ++BOOTSTRAP_JAVAC_FLAGS = $(JAVAC_FLAGS) -source $(BOOT_SOURCE_LANGUAGE_VERSION) -target $(BOOT_TARGET_CLASS_VERSION) ++ + # With parallel makes, print a message at the end of compilation. + ifeq ($(findstring j,$(MFLAGS)),j) + COMPILE_DONE = && { echo Done with $<; } +diff -r 682194ca1d8d -r 0fc81f0a8ca8 make/linux/makefiles/sa.make +--- a/make/linux/makefiles/sa.make Thu Sep 10 09:04:41 2009 -0400 ++++ b/make/linux/makefiles/sa.make Sat Sep 12 12:50:07 2009 +0100 +@@ -74,8 +74,8 @@ + mkdir -p $(SA_CLASSDIR); \ + fi + +- $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -g -d $(SA_CLASSDIR) $(AGENT_FILES1) +- $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -g -d $(SA_CLASSDIR) $(AGENT_FILES2) ++ $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) $(AGENT_FILES1) ++ $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) $(AGENT_FILES2) + + $(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 -r 682194ca1d8d -r 0fc81f0a8ca8 make/linux/makefiles/top.make +--- a/make/linux/makefiles/top.make Thu Sep 10 09:04:41 2009 -0400 ++++ b/make/linux/makefiles/top.make Sat Sep 12 12:50:07 2009 +0100 +@@ -24,7 +24,7 @@ + + # top.make is included in the Makefile in the build directories. + # It DOES NOT include the vm dependency info in order to be faster. +-# It's main job is to implement the incremental form of make lists. ++# Its main job is to implement the incremental form of make lists. + # It also: + # -builds and runs adlc via adlc.make + # -generates JVMTI source and docs via jvmti.make (JSR-163) +@@ -114,7 +114,7 @@ + # make makeDeps: (and zap the cached db files to force a nonincremental run) + + $(GENERATED)/$(MakeDepsClass): $(MakeDepsSources) +- @$(REMOTE) $(COMPILE.JAVAC) -classpath $(GAMMADIR)/src/share/tools/MakeDeps -g -d $(GENERATED) $(MakeDepsSources) ++ @$(REMOTE) $(COMPILE.JAVAC) -classpath $(GAMMADIR)/src/share/tools/MakeDeps -d $(GENERATED) $(MakeDepsSources) + @echo Removing $(Incremental_Lists) to force regeneration. + @rm -f $(Incremental_Lists) + @$(CDG) echo >$(Cached_plat) +diff -r 682194ca1d8d -r 0fc81f0a8ca8 make/solaris/makefiles/jvmti.make +--- a/make/solaris/makefiles/jvmti.make Thu Sep 10 09:04:41 2009 -0400 ++++ b/make/solaris/makefiles/jvmti.make Sat Sep 12 12:50:07 2009 +0100 +@@ -69,10 +69,10 @@ + both = $(JvmtiGenClass) $(JvmtiSrcDir)/jvmti.xml $(JvmtiSrcDir)/jvmtiLib.xsl + + $(JvmtiGenClass): $(JvmtiGenSource) +- $(QUIETLY) $(COMPILE.JAVAC) -g -d $(JvmtiOutDir) $(JvmtiGenSource) ++ $(QUIETLY) $(COMPILE.JAVAC) -d $(JvmtiOutDir) $(JvmtiGenSource) + + $(JvmtiEnvFillClass): $(JvmtiEnvFillSource) +- $(QUIETLY) $(COMPILE.JAVAC) -g -d $(JvmtiOutDir) $(JvmtiEnvFillSource) ++ $(QUIETLY) $(COMPILE.JAVAC) -d $(JvmtiOutDir) $(JvmtiEnvFillSource) + + $(JvmtiOutDir)/jvmtiEnter.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnter.xsl + @echo Generating $@ +diff -r 682194ca1d8d -r 0fc81f0a8ca8 make/solaris/makefiles/rules.make +--- a/make/solaris/makefiles/rules.make Thu Sep 10 09:04:41 2009 -0400 ++++ b/make/solaris/makefiles/rules.make Sat Sep 12 12:50:07 2009 +0100 +@@ -122,12 +122,20 @@ + endif + endif + ++COMPILE.JAVAC += $(BOOTSTRAP_JAVAC_FLAGS) ++ + SUM = /usr/bin/sum + + # 'gmake MAKE_VERBOSE=y' gives all the gory details. + QUIETLY$(MAKE_VERBOSE) = @ + RUN.JAR$(MAKE_VERBOSE) += >/dev/null + ++# Settings for javac ++BOOT_SOURCE_LANGUAGE_VERSION = 6 ++BOOT_TARGET_CLASS_VERSION = 6 ++JAVAC_FLAGS = -g -encoding ascii ++BOOTSTRAP_JAVAC_FLAGS = $(JAVAC_FLAGS) -source $(BOOT_SOURCE_LANGUAGE_VERSION) -target $(BOOT_TARGET_CLASS_VERSION) ++ + # With parallel makes, print a message at the end of compilation. + ifeq ($(findstring j,$(MFLAGS)),j) + COMPILE_DONE = && { echo Done with $<; } +diff -r 682194ca1d8d -r 0fc81f0a8ca8 make/solaris/makefiles/sa.make +--- a/make/solaris/makefiles/sa.make Thu Sep 10 09:04:41 2009 -0400 ++++ b/make/solaris/makefiles/sa.make Sat Sep 12 12:50:07 2009 +0100 +@@ -67,8 +67,8 @@ + $(QUIETLY) if [ ! -d $(SA_CLASSDIR) ] ; then \ + mkdir -p $(SA_CLASSDIR); \ + fi +- $(QUIETLY) $(COMPILE.JAVAC) -source 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -g -d $(SA_CLASSDIR) $(AGENT_FILES1) +- $(QUIETLY) $(COMPILE.JAVAC) -source 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -g -d $(SA_CLASSDIR) $(AGENT_FILES2) ++ $(QUIETLY) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) $(AGENT_FILES1) ++ $(QUIETLY) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) $(AGENT_FILES2) + + $(QUIETLY) $(COMPILE.RMIC) -classpath $(SA_CLASSDIR) -d $(SA_CLASSDIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer + $(QUIETLY) echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES) +diff -r 682194ca1d8d -r 0fc81f0a8ca8 make/solaris/makefiles/top.make +--- a/make/solaris/makefiles/top.make Thu Sep 10 09:04:41 2009 -0400 ++++ b/make/solaris/makefiles/top.make Sat Sep 12 12:50:07 2009 +0100 +@@ -24,7 +24,7 @@ + + # top.make is included in the Makefile in the build directories. + # It DOES NOT include the vm dependency info in order to be faster. +-# It's main job is to implement the incremental form of make lists. ++# Its main job is to implement the incremental form of make lists. + # It also: + # -builds and runs adlc via adlc.make + # -generates JVMTI source and docs via jvmti.make (JSR-163) +@@ -112,7 +112,7 @@ + # make makeDeps: (and zap the cached db files to force a nonincremental run) + + $(GENERATED)/$(MakeDepsClass): $(MakeDepsSources) +- @$(COMPILE.JAVAC) -classpath $(GAMMADIR)/src/share/tools/MakeDeps -g -d $(GENERATED) $(MakeDepsSources) ++ @$(COMPILE.JAVAC) -classpath $(GAMMADIR)/src/share/tools/MakeDeps -d $(GENERATED) $(MakeDepsSources) + @echo Removing $(Incremental_Lists) to force regeneration. + @rm -f $(Incremental_Lists) + @$(CDG) echo >$(Cached_plat) +diff -r 682194ca1d8d -r 0fc81f0a8ca8 make/windows/makefiles/generated.make +--- a/make/windows/makefiles/generated.make Thu Sep 10 09:04:41 2009 -0400 ++++ b/make/windows/makefiles/generated.make Sat Sep 12 12:50:07 2009 +0100 +@@ -91,7 +91,7 @@ + classes/MakeDeps.class: $(MakeDepsSources) + if exist classes rmdir /s /q classes + mkdir classes +- $(COMPILE_JAVAC) -classpath $(WorkSpace)\src\share\tools\MakeDeps -g -d classes $(MakeDepsSources) ++ $(COMPILE_JAVAC) -classpath $(WorkSpace)\src\share\tools\MakeDeps -d classes $(MakeDepsSources) + + !if ("$(Variant)" == "compiler2") || ("$(Variant)" == "tiered") + +diff -r 682194ca1d8d -r 0fc81f0a8ca8 make/windows/makefiles/jvmti.make +--- a/make/windows/makefiles/jvmti.make Thu Sep 10 09:04:41 2009 -0400 ++++ b/make/windows/makefiles/jvmti.make Sat Sep 12 12:50:07 2009 +0100 +@@ -68,10 +68,10 @@ + @if not exist $(JvmtiOutDir) mkdir $(JvmtiOutDir) + + $(JvmtiGenClass): $(JvmtiGenSource) +- $(COMPILE_JAVAC) -g -d $(JvmtiOutDir) $(JvmtiGenSource) ++ $(COMPILE_JAVAC) -d $(JvmtiOutDir) $(JvmtiGenSource) + + $(JvmtiEnvFillClass): $(JvmtiEnvFillSource) +- @$(COMPILE_JAVAC) -g -d $(JvmtiOutDir) $(JvmtiEnvFillSource) ++ @$(COMPILE_JAVAC) -d $(JvmtiOutDir) $(JvmtiEnvFillSource) + + $(JvmtiOutDir)/jvmtiEnter.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnter.xsl + @echo Generating $@ +diff -r 682194ca1d8d -r 0fc81f0a8ca8 make/windows/makefiles/rules.make +--- a/make/windows/makefiles/rules.make Thu Sep 10 09:04:41 2009 -0400 ++++ b/make/windows/makefiles/rules.make Sat Sep 12 12:50:07 2009 +0100 +@@ -29,7 +29,7 @@ + RUN_JAVAP=$(BootStrapDir)\bin\javap + RUN_JAVAH=$(BootStrapDir)\bin\javah + RUN_JAR=$(BootStrapDir)\bin\jar +-COMPILE_JAVAC=$(BootStrapDir)\bin\javac ++COMPILE_JAVAC=$(BootStrapDir)\bin\javac $(BOOTSTRAP_JAVAC_FLAGS) + COMPILE_RMIC=$(BootStrapDir)\bin\rmic + BOOT_JAVA_HOME=$(BootStrapDir) + !else +@@ -37,11 +37,17 @@ + RUN_JAVAP=javap + RUN_JAVAH=javah + RUN_JAR=jar +-COMPILE_JAVAC=javac ++COMPILE_JAVAC=javac $(BOOTSTRAP_JAVAC_FLAGS) + COMPILE_RMIC=rmic + BOOT_JAVA_HOME= + !endif + ++# Settings for javac ++BOOT_SOURCE_LANGUAGE_VERSION=6 ++BOOT_TARGET_CLASS_VERSION=6 ++JAVAC_FLAGS=-g -encoding ascii ++BOOTSTRAP_JAVAC_FLAGS=$(JAVAC_FLAGS) -source $(BOOT_SOURCE_LANGUAGE_VERSION) -target $(BOOT_TARGET_CLASS_VERSION) ++ + ProjectFile=vm.vcproj + + !if "$(MSC_VER)" == "1200" +diff -r 682194ca1d8d -r 0fc81f0a8ca8 make/windows/makefiles/sa.make +--- a/make/windows/makefiles/sa.make Thu Sep 10 09:04:41 2009 -0400 ++++ b/make/windows/makefiles/sa.make Sat Sep 12 12:50:07 2009 +0100 +@@ -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 -classpath $(SA_CLASSPATH) -g -d $(SA_CLASSDIR) .... +- @$(COMPILE_JAVAC) -source 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -g -d $(SA_CLASSDIR) $(AGENT_FILES1:/=\) +- @$(COMPILE_JAVAC) -source 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -g -d $(SA_CLASSDIR) $(AGENT_FILES2:/=\) ++ @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:/=\) + $(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 +diff -r 682194ca1d8d -r 0fc81f0a8ca8 make/windows/projectfiles/common/Makefile +--- a/make/windows/projectfiles/common/Makefile Thu Sep 10 09:04:41 2009 -0400 ++++ b/make/windows/projectfiles/common/Makefile Sat Sep 12 12:50:07 2009 +0100 +@@ -179,6 +179,6 @@ + $(HOTSPOTBUILDSPACE)/classes/MakeDeps.class: $(MakeDepsSources) + @if exist $(HOTSPOTBUILDSPACE)\classes rmdir /s /q $(HOTSPOTBUILDSPACE)\classes + @mkdir $(HOTSPOTBUILDSPACE)\classes +- @$(COMPILE_JAVAC) -classpath $(HOTSPOTWORKSPACE)\src\share\tools\MakeDeps -g -d $(HOTSPOTBUILDSPACE)/classes $(MakeDepsSources) ++ @$(COMPILE_JAVAC) -classpath $(HOTSPOTWORKSPACE)\src\share\tools\MakeDeps -d $(HOTSPOTBUILDSPACE)/classes $(MakeDepsSources) + + FORCE: diff -r 906953e7c9af -r 911fc7449289 patches/hotspot/original/6873059-javac-versioning-hotspot.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/original/6873059-javac-versioning-hotspot.patch Tue Mar 30 20:37:12 2010 +0100 @@ -0,0 +1,245 @@ +# HG changeset patch +# User andrew +# Date 1252756207 -3600 +# Node ID 0fc81f0a8ca8642c9e4b6901fa23b59c29ac81d7 +# Parent 682194ca1d8d5e705da06c5974ffcda76b0a7add +6873059: Explicitly use -source 6 -target 6 when compiling with the boot jdk +Summary: The build fails if the bootstrap JDK defaults to <1.5 +Reviewed-by: jcoomes + +diff -Nru openjdk.orig/hotspot/make/linux/makefiles/jvmti.make openjdk/hotspot/make/linux/makefiles/jvmti.make +--- openjdk.orig/hotspot/make/linux/makefiles/jvmti.make 2010-03-29 21:25:49.000000000 +0100 ++++ openjdk/hotspot/make/linux/makefiles/jvmti.make 2010-03-29 21:30:06.000000000 +0100 +@@ -70,10 +70,10 @@ + both = $(JvmtiGenClass) $(JvmtiSrcDir)/jvmti.xml $(JvmtiSrcDir)/jvmtiLib.xsl + + $(JvmtiGenClass): $(JvmtiGenSource) +- $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -g -d $(JvmtiOutDir) $(JvmtiGenSource) ++ $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -d $(JvmtiOutDir) $(JvmtiGenSource) + + $(JvmtiEnvFillClass): $(JvmtiEnvFillSource) +- $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -g -d $(JvmtiOutDir) $(JvmtiEnvFillSource) ++ $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -d $(JvmtiOutDir) $(JvmtiEnvFillSource) + + $(JvmtiOutDir)/jvmtiEnter.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnter.xsl + @echo Generating $@ +diff -Nru openjdk.orig/hotspot/make/linux/makefiles/rules.make openjdk/hotspot/make/linux/makefiles/rules.make +--- openjdk.orig/hotspot/make/linux/makefiles/rules.make 2010-03-29 21:25:49.000000000 +0100 ++++ openjdk/hotspot/make/linux/makefiles/rules.make 2010-03-29 21:30:06.000000000 +0100 +@@ -122,12 +122,20 @@ + endif + endif + ++COMPILE.JAVAC += $(BOOTSTRAP_JAVAC_FLAGS) ++ + SUM = /usr/bin/sum + + # 'gmake MAKE_VERBOSE=y' gives all the gory details. + QUIETLY$(MAKE_VERBOSE) = @ + RUN.JAR$(MAKE_VERBOSE) += >/dev/null + ++# Settings for javac ++BOOT_SOURCE_LANGUAGE_VERSION = 6 ++BOOT_TARGET_CLASS_VERSION = 6 ++JAVAC_FLAGS = -g -encoding ascii ++BOOTSTRAP_JAVAC_FLAGS = $(JAVAC_FLAGS) -source $(BOOT_SOURCE_LANGUAGE_VERSION) -target $(BOOT_TARGET_CLASS_VERSION) ++ + # With parallel makes, print a message at the end of compilation. + ifeq ($(findstring j,$(MFLAGS)),j) + COMPILE_DONE = && { echo Done with $<; } +diff -Nru openjdk.orig/hotspot/make/linux/makefiles/sa.make openjdk/hotspot/make/linux/makefiles/sa.make +--- openjdk.orig/hotspot/make/linux/makefiles/sa.make 2010-03-29 21:25:48.000000000 +0100 ++++ openjdk/hotspot/make/linux/makefiles/sa.make 2010-03-29 21:30:06.000000000 +0100 +@@ -74,8 +74,8 @@ + mkdir -p $(SA_CLASSDIR); \ + fi + +- $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -g -d $(SA_CLASSDIR) $(AGENT_FILES1) +- $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -g -d $(SA_CLASSDIR) $(AGENT_FILES2) ++ $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) $(AGENT_FILES1) ++ $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) $(AGENT_FILES2) + + $(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.orig/hotspot/make/linux/makefiles/top.make openjdk/hotspot/make/linux/makefiles/top.make +--- openjdk.orig/hotspot/make/linux/makefiles/top.make 2010-03-29 21:25:49.000000000 +0100 ++++ openjdk/hotspot/make/linux/makefiles/top.make 2010-03-29 21:30:06.000000000 +0100 +@@ -24,7 +24,7 @@ + + # top.make is included in the Makefile in the build directories. + # It DOES NOT include the vm dependency info in order to be faster. +-# It's main job is to implement the incremental form of make lists. ++# Its main job is to implement the incremental form of make lists. + # It also: + # -builds and runs adlc via adlc.make + # -generates JVMTI source and docs via jvmti.make (JSR-163) +@@ -116,7 +116,7 @@ + # make makeDeps: (and zap the cached db files to force a nonincremental run) + + $(GENERATED)/$(MakeDepsClass): $(MakeDepsSources) +- @$(REMOTE) $(COMPILE.JAVAC) -classpath $(GAMMADIR)/src/share/tools/MakeDeps -g -d $(GENERATED) $(MakeDepsSources) ++ @$(REMOTE) $(COMPILE.JAVAC) -classpath $(GAMMADIR)/src/share/tools/MakeDeps -d $(GENERATED) $(MakeDepsSources) + @echo Removing $(Incremental_Lists) to force regeneration. + @rm -f $(Incremental_Lists) + @$(CDG) echo >$(Cached_plat) +diff -Nru openjdk.orig/hotspot/make/solaris/makefiles/jvmti.make openjdk/hotspot/make/solaris/makefiles/jvmti.make +--- openjdk.orig/hotspot/make/solaris/makefiles/jvmti.make 2010-02-17 03:11:04.000000000 +0000 ++++ openjdk/hotspot/make/solaris/makefiles/jvmti.make 2010-03-29 21:30:06.000000000 +0100 +@@ -69,10 +69,10 @@ + both = $(JvmtiGenClass) $(JvmtiSrcDir)/jvmti.xml $(JvmtiSrcDir)/jvmtiLib.xsl + + $(JvmtiGenClass): $(JvmtiGenSource) +- $(QUIETLY) $(COMPILE.JAVAC) -g -d $(JvmtiOutDir) $(JvmtiGenSource) ++ $(QUIETLY) $(COMPILE.JAVAC) -d $(JvmtiOutDir) $(JvmtiGenSource) + + $(JvmtiEnvFillClass): $(JvmtiEnvFillSource) +- $(QUIETLY) $(COMPILE.JAVAC) -g -d $(JvmtiOutDir) $(JvmtiEnvFillSource) ++ $(QUIETLY) $(COMPILE.JAVAC) -d $(JvmtiOutDir) $(JvmtiEnvFillSource) + + $(JvmtiOutDir)/jvmtiEnter.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnter.xsl + @echo Generating $@ +diff -Nru openjdk.orig/hotspot/make/solaris/makefiles/rules.make openjdk/hotspot/make/solaris/makefiles/rules.make +--- openjdk.orig/hotspot/make/solaris/makefiles/rules.make 2010-03-29 21:25:49.000000000 +0100 ++++ openjdk/hotspot/make/solaris/makefiles/rules.make 2010-03-29 21:30:06.000000000 +0100 +@@ -122,12 +122,20 @@ + endif + endif + ++COMPILE.JAVAC += $(BOOTSTRAP_JAVAC_FLAGS) ++ + SUM = /usr/bin/sum + + # 'gmake MAKE_VERBOSE=y' gives all the gory details. + QUIETLY$(MAKE_VERBOSE) = @ + RUN.JAR$(MAKE_VERBOSE) += >/dev/null + ++# Settings for javac ++BOOT_SOURCE_LANGUAGE_VERSION = 6 ++BOOT_TARGET_CLASS_VERSION = 6 ++JAVAC_FLAGS = -g -encoding ascii ++BOOTSTRAP_JAVAC_FLAGS = $(JAVAC_FLAGS) -source $(BOOT_SOURCE_LANGUAGE_VERSION) -target $(BOOT_TARGET_CLASS_VERSION) ++ + # With parallel makes, print a message at the end of compilation. + ifeq ($(findstring j,$(MFLAGS)),j) + COMPILE_DONE = && { echo Done with $<; } +diff -Nru openjdk.orig/hotspot/make/solaris/makefiles/sa.make openjdk/hotspot/make/solaris/makefiles/sa.make +--- openjdk.orig/hotspot/make/solaris/makefiles/sa.make 2010-02-17 03:11:04.000000000 +0000 ++++ openjdk/hotspot/make/solaris/makefiles/sa.make 2010-03-29 21:30:06.000000000 +0100 +@@ -67,8 +67,8 @@ + $(QUIETLY) if [ ! -d $(SA_CLASSDIR) ] ; then \ + mkdir -p $(SA_CLASSDIR); \ + fi +- $(QUIETLY) $(COMPILE.JAVAC) -source 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -g -d $(SA_CLASSDIR) $(AGENT_FILES1) +- $(QUIETLY) $(COMPILE.JAVAC) -source 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -g -d $(SA_CLASSDIR) $(AGENT_FILES2) ++ $(QUIETLY) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) $(AGENT_FILES1) ++ $(QUIETLY) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) $(AGENT_FILES2) + + $(QUIETLY) $(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.orig/hotspot/make/solaris/makefiles/top.make openjdk/hotspot/make/solaris/makefiles/top.make +--- openjdk.orig/hotspot/make/solaris/makefiles/top.make 2010-02-17 03:11:04.000000000 +0000 ++++ openjdk/hotspot/make/solaris/makefiles/top.make 2010-03-29 21:30:06.000000000 +0100 +@@ -24,7 +24,7 @@ + + # top.make is included in the Makefile in the build directories. + # It DOES NOT include the vm dependency info in order to be faster. +-# It's main job is to implement the incremental form of make lists. ++# Its main job is to implement the incremental form of make lists. + # It also: + # -builds and runs adlc via adlc.make + # -generates JVMTI source and docs via jvmti.make (JSR-163) +@@ -112,7 +112,7 @@ + # make makeDeps: (and zap the cached db files to force a nonincremental run) + + $(GENERATED)/$(MakeDepsClass): $(MakeDepsSources) +- @$(COMPILE.JAVAC) -classpath $(GAMMADIR)/src/share/tools/MakeDeps -g -d $(GENERATED) $(MakeDepsSources) ++ @$(COMPILE.JAVAC) -classpath $(GAMMADIR)/src/share/tools/MakeDeps -d $(GENERATED) $(MakeDepsSources) + @echo Removing $(Incremental_Lists) to force regeneration. + @rm -f $(Incremental_Lists) + @$(CDG) echo >$(Cached_plat) +diff -Nru openjdk.orig/hotspot/make/windows/makefiles/generated.make openjdk/hotspot/make/windows/makefiles/generated.make +--- openjdk.orig/hotspot/make/windows/makefiles/generated.make 2010-02-17 03:11:04.000000000 +0000 ++++ openjdk/hotspot/make/windows/makefiles/generated.make 2010-03-29 21:30:06.000000000 +0100 +@@ -91,7 +91,7 @@ + classes/MakeDeps.class: $(MakeDepsSources) + if exist classes rmdir /s /q classes + mkdir classes +- $(COMPILE_JAVAC) -classpath $(WorkSpace)\src\share\tools\MakeDeps -g -d classes $(MakeDepsSources) ++ $(COMPILE_JAVAC) -classpath $(WorkSpace)\src\share\tools\MakeDeps -d classes $(MakeDepsSources) + + !if ("$(Variant)" == "compiler2") || ("$(Variant)" == "tiered") + +diff -Nru openjdk.orig/hotspot/make/windows/makefiles/jvmti.make openjdk/hotspot/make/windows/makefiles/jvmti.make +--- openjdk.orig/hotspot/make/windows/makefiles/jvmti.make 2010-02-17 03:11:04.000000000 +0000 ++++ openjdk/hotspot/make/windows/makefiles/jvmti.make 2010-03-29 21:30:06.000000000 +0100 +@@ -68,10 +68,10 @@ + @if not exist $(JvmtiOutDir) mkdir $(JvmtiOutDir) + + $(JvmtiGenClass): $(JvmtiGenSource) +- $(COMPILE_JAVAC) -g -d $(JvmtiOutDir) $(JvmtiGenSource) ++ $(COMPILE_JAVAC) -d $(JvmtiOutDir) $(JvmtiGenSource) + + $(JvmtiEnvFillClass): $(JvmtiEnvFillSource) +- @$(COMPILE_JAVAC) -g -d $(JvmtiOutDir) $(JvmtiEnvFillSource) ++ @$(COMPILE_JAVAC) -d $(JvmtiOutDir) $(JvmtiEnvFillSource) + + $(JvmtiOutDir)/jvmtiEnter.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnter.xsl + @echo Generating $@ +diff -Nru openjdk.orig/hotspot/make/windows/makefiles/rules.make openjdk/hotspot/make/windows/makefiles/rules.make +--- openjdk.orig/hotspot/make/windows/makefiles/rules.make 2010-02-17 03:11:04.000000000 +0000 ++++ openjdk/hotspot/make/windows/makefiles/rules.make 2010-03-29 21:30:42.000000000 +0100 +@@ -29,7 +29,7 @@ + RUN_JAVAP=$(BootStrapDir)\bin\javap + RUN_JAVAH=$(BootStrapDir)\bin\javah + RUN_JAR=$(BootStrapDir)\bin\jar +-COMPILE_JAVAC=$(BootStrapDir)\bin\javac ++COMPILE_JAVAC=$(BootStrapDir)\bin\javac $(BOOTSTRAP_JAVAC_FLAGS) + COMPILE_RMIC=$(BootStrapDir)\bin\rmic + BOOT_JAVA_HOME=$(BootStrapDir) + !else +@@ -37,11 +37,17 @@ + RUN_JAVAP=javap + RUN_JAVAH=javah + RUN_JAR=jar +-COMPILE_JAVAC=javac ++COMPILE_JAVAC=javac $(BOOTSTRAP_JAVAC_FLAGS) + COMPILE_RMIC=rmic + BOOT_JAVA_HOME= + !endif + ++# Settings for javac ++BOOT_SOURCE_LANGUAGE_VERSION=6 ++BOOT_TARGET_CLASS_VERSION=6 ++JAVAC_FLAGS=-g -encoding ascii ++BOOTSTRAP_JAVAC_FLAGS=$(JAVAC_FLAGS) -source $(BOOT_SOURCE_LANGUAGE_VERSION) -target $(BOOT_TARGET_CLASS_VERSION) ++ + !if "$(MSC_VER)" == "1200" From ahughes at redhat.com Tue Mar 30 13:14:52 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Tue, 30 Mar 2010 20:14:52 +0000 Subject: IcedTea6 (head) build failure when parameter --with-hotspot-build=hs16 is used In-Reply-To: <17c6771e1003300951p183e89aci219e791276f9881e@mail.gmail.com> References: <4BB2345A.7040500@redhat.com> <17c6771e1003300951p183e89aci219e791276f9881e@mail.gmail.com> Message-ID: <17c6771e1003301314y65f97497md407b65e24986981@mail.gmail.com> On 30 March 2010 16:51, Andrew John Hughes wrote: > On 30 March 2010 17:26, Pavel Tisnovsky wrote: >> Hi, >> >> I'm trying to build IcedTea6 (head) using parameter >> --with-hotspot-build=hs16 >> >> but build failed with this error message: >> >> Applying patches/extensions/netx-dist.patch >> patching file openjdk/jdk/make/common/internal/Defs-netx.gmk >> patching file openjdk/jdk/make/common/internal/ImportComponents.gmk >> Hunk #2 succeeded at 121 (offset -1 lines). >> patching file openjdk/jdk/make/common/shared/Defs.gmk >> Hunk #1 succeeded at 350 (offset 6 lines). >> Checking patches/extensions/netx-umask.patch >> Applying patches/extensions/netx-umask.patch >> patching file openjdk/jdk/make/launchers/Makefile.launcher >> patching file openjdk/jdk/src/share/bin/java.c >> Hunk #5 succeeded at 2044 (offset 6 lines). >> Checking patches/icedtea-jtreg-httpTest.patch >> Applying patches/icedtea-jtreg-httpTest.patch >> patching file openjdk/jdk/test/java/net/URL/TestHttps.java >> Checking patches/openjdk/6873059-javac-versioning-corba.patch >> Applying patches/openjdk/6873059-javac-versioning-corba.patch >> patching file openjdk/corba/make/common/shared/Defs-java.gmk >> Hunk #1 succeeded at 176 (offset -3 lines). >> Checking patches/openjdk/6873059-javac-versioning-hotspot.patch >> 1 out of 2 hunks FAILED -- saving rejects to file >> openjdk/hotspot/make/windows/makefiles/rules.make.rej >> ERROR patch patches/openjdk/6873059-javac-versioning-hotspot.patch >> FAILED! >> WARNING make clean-patch before retrying a fix >> make: *** [stamps/patch.stamp] Error 2 >> >> Do we still suppot hs16 in IcedTea? >> >> Cheers, >> Pavel >> > > hs16 needs a different version of this patch. ?We'll probably be > importing OpenJDK6 b19 which uses HotSpot 16 anyway within the next > week or so. > -- > Andrew :-) > > Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > Support Free Java! > Contribute to GNU Classpath and the OpenJDK > http://www.gnu.org/software/classpath > http://openjdk.java.net > > PGP Key: 94EFD9D8 (http://subkeys.pgp.net) > Fingerprint: F8EF F1EA 401E 2E60 15FA ?7927 142C 2591 94EF D9D8 > Fixed: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=911fc7449289 -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From andrew at icedtea.classpath.org Tue Mar 30 15:14:00 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 30 Mar 2010 22:14:00 +0000 Subject: /hg/release/icedtea6-1.6: Add new security patches and fix srcdi... Message-ID: changeset d48a4f542e7d in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=d48a4f542e7d author: Andrew John Hughes date: Tue Mar 30 23:04:54 2010 +0100 Add new security patches and fix srcdir!=builddir issues. 2009-03-30 Andrew John Hughes * patches/icedtea-systemtap.patch: Moved to HotSpot- specific patch tree. * Makefile.am: Add new security patches and add $(HSBUILD) to systemtap patch. Put copied OpenJDK files in openjdk-copy rather than a duplicate rt directory in the build tree. * NEWS: List new security patches. * patches/hotspot/default/systemtap.patch: From patches /icedtea-systemtap.patch. * patches/hotspot/original/icedtea-format.patch, * patches/hotspot/original/systemtap.patch: Added for original HotSpot build. * patches/security/20100330/6626217.patch, * patches/security/20100330/6633872.patch, * patches/security/20100330/6639665.patch, * patches/security/20100330/6736390.patch, * patches/security/20100330/6745393.patch, * patches/security/20100330/6887703.patch, * patches/security/20100330/6888149.patch, * patches/security/20100330/6892265.patch, * patches/security/20100330/6893947.patch, * patches/security/20100330/6893954.patch, * patches/security/20100330/6898622.patch, * patches/security/20100330/6898739.patch, * patches/security/20100330/6899653.patch, * patches/security/20100330/6902299.patch, * patches/security/20100330/6904691.patch, * patches/security/20100330/6909597.patch, * patches/security/20100330/6910590.patch, * patches/security/20100330/6914823.patch, * patches/security/20100330/6914866.patch, * patches/security/20100330/6932480.patch, * patches/security/20100330/hotspot/default/6894807.patch, * patches/security/20100330/hotspot/original/6894807.patch: New security and hardening patches http://www.oracle.com/technology/deploy/security/critical-patch- updates/javacpumar2010.html diffstat: 29 files changed, 4048 insertions(+), 187 deletions(-) ChangeLog | 40 Makefile.am | 29 NEWS | 24 patches/hotspot/default/systemtap.patch | 182 ++ patches/hotspot/original/icedtea-format.patch | 48 patches/hotspot/original/systemtap.patch | 154 + patches/icedtea-systemtap.patch | 182 -- patches/security/20100330/6626217.patch | 180 ++ patches/security/20100330/6633872.patch | 443 +++++ patches/security/20100330/6639665.patch | 51 patches/security/20100330/6736390.patch | 18 patches/security/20100330/6745393.patch | 1233 ++++++++++++++ patches/security/20100330/6887703.patch | 28 patches/security/20100330/6888149.patch | 33 patches/security/20100330/6892265.patch | 35 patches/security/20100330/6893947.patch | 86 patches/security/20100330/6893954.patch | 248 ++ patches/security/20100330/6898622.patch | 20 patches/security/20100330/6898739.patch | 437 ++++ patches/security/20100330/6899653.patch | 27 patches/security/20100330/6902299.patch | 104 + patches/security/20100330/6904691.patch | 166 + patches/security/20100330/6909597.patch | 74 patches/security/20100330/6910590.patch | 10 patches/security/20100330/6914823.patch | 80 patches/security/20100330/6914866.patch | 118 + patches/security/20100330/6932480.patch | 43 patches/security/20100330/hotspot/default/6894807.patch | 27 patches/security/20100330/hotspot/original/6894807.patch | 115 + diffs (truncated from 4391 to 500 lines): diff -r 924928f21072 -r d48a4f542e7d ChangeLog --- a/ChangeLog Thu Mar 18 18:41:04 2010 +0000 +++ b/ChangeLog Tue Mar 30 23:04:54 2010 +0100 @@ -1,3 +1,43 @@ 2010-03-18 Pavel Tisnovsky + + * patches/icedtea-systemtap.patch: + Moved to HotSpot-specific patch tree. + * Makefile.am: Add new security patches + and add $(HSBUILD) to systemtap patch. + Put copied OpenJDK files in openjdk-copy + rather than a duplicate rt directory + in the build tree. + * NEWS: List new security patches. + * patches/hotspot/default/systemtap.patch: + From patches/icedtea-systemtap.patch. + * patches/hotspot/original/icedtea-format.patch, + * patches/hotspot/original/systemtap.patch: + Added for original HotSpot build. + * patches/security/20100330/6626217.patch, + * patches/security/20100330/6633872.patch, + * patches/security/20100330/6639665.patch, + * patches/security/20100330/6736390.patch, + * patches/security/20100330/6745393.patch, + * patches/security/20100330/6887703.patch, + * patches/security/20100330/6888149.patch, + * patches/security/20100330/6892265.patch, + * patches/security/20100330/6893947.patch, + * patches/security/20100330/6893954.patch, + * patches/security/20100330/6898622.patch, + * patches/security/20100330/6898739.patch, + * patches/security/20100330/6899653.patch, + * patches/security/20100330/6902299.patch, + * patches/security/20100330/6904691.patch, + * patches/security/20100330/6909597.patch, + * patches/security/20100330/6910590.patch, + * patches/security/20100330/6914823.patch, + * patches/security/20100330/6914866.patch, + * patches/security/20100330/6932480.patch, + * patches/security/20100330/hotspot/default/6894807.patch, + * patches/security/20100330/hotspot/original/6894807.patch: + New security and hardening patches + http://www.oracle.com/technology/deploy/security/critical-patch-updates/javacpumar2010.html + 2010-03-18 Pavel Tisnovsky * patches/icedtea-jtreg-httpTest.patch: new regression test diff -r 924928f21072 -r d48a4f542e7d Makefile.am --- a/Makefile.am Thu Mar 18 18:41:04 2010 +0000 +++ b/Makefile.am Tue Mar 30 23:04:54 2010 +0100 @@ -720,7 +720,7 @@ endif endif if ENABLE_SYSTEMTAP -ICEDTEA_PATCHES += patches/icedtea-systemtap.patch +ICEDTEA_PATCHES += patches/hotspot/$(HSBUILD)/systemtap.patch endif ICEDTEA_PATCHES += \ @@ -750,6 +750,27 @@ ICEDTEA_PATCHES += \ patches/openjdk/oj100103-debugger-socket-overflow.patch \ patches/hotspot/$(HSBUILD)/icedtea-gcc-stack-markings.patch \ patches/icedtea-jtreg-httpTest.patch \ + patches/security/20100330/6626217.patch \ + patches/security/20100330/6633872.patch \ + patches/security/20100330/6639665.patch \ + patches/security/20100330/6736390.patch \ + patches/security/20100330/6745393.patch \ + patches/security/20100330/6887703.patch \ + patches/security/20100330/6888149.patch \ + patches/security/20100330/6892265.patch \ + patches/security/20100330/6893947.patch \ + patches/security/20100330/6893954.patch \ + patches/security/20100330/hotspot/$(HSBUILD)/6894807.patch \ + patches/security/20100330/6898622.patch \ + patches/security/20100330/6898739.patch \ + patches/security/20100330/6899653.patch \ + patches/security/20100330/6902299.patch \ + patches/security/20100330/6904691.patch \ + patches/security/20100330/6909597.patch \ + patches/security/20100330/6910590.patch \ + patches/security/20100330/6914823.patch \ + patches/security/20100330/6914866.patch \ + patches/security/20100330/6932480.patch \ $(DISTRIBUTION_PATCHES) stamps/extract.stamp: stamps/download.stamp @@ -1477,9 +1498,9 @@ stamps/copy-source-files.stamp: stamps/o stamps/copy-source-files.stamp: stamps/overlay.stamp for copy_dir in $(ICEDTEA_COPY_DIRS) ; \ do \ - mkdir -p rt/$$copy_dir ; \ + mkdir -p openjdk-copy/$$copy_dir ; \ cp -pPRf openjdk/jdk/src/share/classes/$$copy_dir/*.java \ - rt/$$copy_dir ; \ + openjdk-copy/$$copy_dir ; \ done mkdir -p stamps touch stamps/copy-source-files.stamp @@ -1592,7 +1613,7 @@ bootstrap/jdk1.7.0/jre/lib/tools.jar: st # rt-closed.jar class files. rt-source-files.txt: stamps/replace-hotspot.stamp stamps/copy-source-files.stamp - find $(abs_top_srcdir)/rt $(LIVECONNECT_SRCS) -name '*.java' \ + find $(abs_top_srcdir)/rt $(LIVECONNECT_SRCS) openjdk-copy -name '*.java' \ | sort -u > $@ stamps/rt-class-files.stamp: rt-source-files.txt diff -r 924928f21072 -r d48a4f542e7d NEWS --- a/NEWS Thu Mar 18 18:41:04 2010 +0000 +++ b/NEWS Tue Mar 30 23:04:54 2010 +0100 @@ -1,10 +1,32 @@ New in release 1.6.3 (2010-03-XX) -New in release 1.6.3 (2010-03-XX) +New in release 1.6.3 (2010-03-30) - Enable debuginfo for saproc and jsig - Add missing mkbc.c - Backport of 6822370: ReentrantReadWriteLock: threads hung when there are no threads holding onto the lock - Increase ThreadStackSize by 512kb on 32-bit Zero platforms - Make the original HotSpot build work for normal builds and disable Zero/Shark builds with it +- Latest security updates and hardening patches: + - (CVE-2010-0837): JAR "unpack200" must verify input parameters (6902299) + - (CVE-2010-0845): No ClassCastException for HashAttributeSet constructors if run with -Xcomp (6894807) + - (CVE-2010-0838): CMM readMabCurveData Buffer Overflow Vulnerability (6899653) + - (CVE-2010-0082): Loader-constraint table allows arrays instead of only the base-classes (6626217) + - (CVE-2010-0095): Subclasses of InetAddress may incorrectly interpret network addresses (6893954) + - (CVE-2010-0085): File TOCTOU deserialization vulnerability (6736390) + - (CVE-2010-0091): Unsigned applet can retrieve the dragged information before drop action occurs (6887703) + - (CVE-2010-0088): Inflater/Deflater clone issues (6745393) + - (CVE-2010-0084): Policy/PolicyFile leak dynamic ProtectionDomains. (6633872) + - (CVE-2010-0092): AtomicReferenceArray causes SIGSEGV -> SEGV_MAPERR error (6888149) + - (CVE-2010-0094): Deserialization of RMIConnectionImpl objects should enforce stricter checks (6893947) + - (CVE-2010-0093): System.arraycopy unable to reference elements beyond Integer.MAX_VALUE bytes (6892265) + - (CVE-2010-0840): Applet Trusted Methods Chaining Privilege Escalation Vulnerability (6904691) + - (CVE-2010-0848): AWT Library Invalid Index Vulnerability (6914823) + - (CVE-2010-0847): ImagingLib arbitrary code execution vulnerability (6914866) + - (CVE-2009-3555): TLS: MITM attacks via session renegotiation + - 6639665: ThreadGroup finalizer allows creation of false root ThreadGroups + - 6898622: ObjectIdentifer.equals is not capable of detecting incorrectly encoded CommonName OIDs + - 6910590: Application can modify command array in ProcessBuilder + - 6909597: JPEGImageReader stepX Integer Overflow Vulnerability + - 6932480: Crash in CompilerThread/Parser. Unloaded array klass? New in release 1.6.2 (2009-11-09) - Latest security updates: diff -r 924928f21072 -r d48a4f542e7d patches/hotspot/default/systemtap.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/default/systemtap.patch Tue Mar 30 23:04:54 2010 +0100 @@ -0,0 +1,182 @@ +diff -r 945bf7540697 make/linux/makefiles/dtrace.make +--- openjdk/hotspot/make/linux/makefiles/dtrace.make Thu Jan 22 14:42:01 2009 -0800 ++++ openjdk/hotspot/make/linux/makefiles/dtrace.make Mon Feb 02 13:47:34 2009 +0100 +@@ -25,3 +25,7 @@ + # Linux does not build jvm_db + LIBJVM_DB = + ++# But it does have a Systemtap dtrace compatible sys/sdt.h ++CFLAGS += -DDTRACE_ENABLED ++ ++# It doesn't support HAVE_DTRACE_H though. +--- openjdk/hotspot/src/share/vm/prims/jni.cpp 2009-10-13 15:34:52.499809508 +0200 ++++ openjdk/hotspot/src/share/vm/prims/jni.cpp 2009-10-13 15:31:26.117823588 +0200 +@@ -1747,10 +1744,7 @@ + JNI_QUICK_ENTRY(void, jni_Set##Result##Field(JNIEnv *env, jobject obj, jfieldID fieldID, Argument value)) \ + JNIWrapper("Set" XSTR(Result) "Field"); \ + \ +- HS_DTRACE_PROBE_CDECL_N(hotspot_jni, Set##Result##Field__entry, \ +- ( JNIEnv*, jobject, jfieldID FP_SELECT_##Result(COMMA Argument,/*empty*/) ) ); \ +- HS_DTRACE_PROBE_N(hotspot_jni, Set##Result##Field__entry, \ +- ( env, obj, fieldID FP_SELECT_##Result(COMMA value,/*empty*/) ) ); \ ++ FP_SELECT_##Result(DTRACE_PROBE4(hotspot_jni, Set##Result##Field__entry, env, obj, fieldID, value),DTRACE_PROBE3(hotspot_jni, Set##Result##Field__entry, env, obj, fieldID)); \ + \ + oop o = JNIHandles::resolve_non_null(obj); \ + klassOop k = o->klass(); \ +@@ -1924,10 +1918,7 @@ + \ + JNI_ENTRY(void, jni_SetStatic##Result##Field(JNIEnv *env, jclass clazz, jfieldID fieldID, Argument value)) \ + JNIWrapper("SetStatic" XSTR(Result) "Field"); \ +- HS_DTRACE_PROBE_CDECL_N(hotspot_jni, SetStatic##Result##Field__entry,\ +- ( JNIEnv*, jclass, jfieldID FP_SELECT_##Result(COMMA Argument,/*empty*/) ) ); \ +- HS_DTRACE_PROBE_N(hotspot_jni, SetStatic##Result##Field__entry, \ +- ( env, clazz, fieldID FP_SELECT_##Result(COMMA value,/*empty*/) ) ); \ ++ FP_SELECT_##Result(DTRACE_PROBE4(hotspot_jni, SetStatic##Result##Field__entry, env, clazz, fieldID, value),DTRACE_PROBE3(hotspot_jni, SetStatic##Result##Field__entry, env, clazz, fieldID)); \ + \ + JNIid* id = jfieldIDWorkaround::from_static_jfieldID(fieldID); \ + assert(id->is_static_field_id(), "invalid static field id"); \ +@@ -2116,7 +2101,7 @@ + DT_RETURN_MARK(GetObjectArrayElement, jobject, (const jobject&)ret); + objArrayOop a = objArrayOop(JNIHandles::resolve_non_null(array)); + if (a->is_within_bounds(index)) { +- jobject ret = JNIHandles::make_local(env, a->obj_at(index)); ++ ret = JNIHandles::make_local(env, a->obj_at(index)); + return ret; + } else { + char buf[jintAsStringSize]; +@@ -2150,14 +2150,14 @@ + + #define DEFINE_NEWSCALARARRAY(Return,Allocator,Result) \ + \ +- DT_RETURN_MARK_DECL_FOR(Result, New##Result##Array, Return);\ ++ DT_RETURN_MARK_DECL(New##Result##Array, Return);\ + \ + JNI_ENTRY(Return, \ + jni_New##Result##Array(JNIEnv *env, jsize len)) \ + JNIWrapper("New" XSTR(Result) "Array"); \ + DTRACE_PROBE2(hotspot_jni, New##Result##Array__entry, env, len);\ + Return ret = NULL;\ +- DT_RETURN_MARK_FOR(Result, New##Result##Array, Return, (const Return&)ret);\ ++ DT_RETURN_MARK(New##Result##Array, Return, (const Return&)ret);\ + \ + oop obj= oopFactory::Allocator(len, CHECK_0); \ + ret = (Return) JNIHandles::make_local(env, obj); \ + +diff -r 945bf7540697 src/share/vm/utilities/dtrace.hpp +--- openjdk/hotspot/src/share/vm/utilities/dtrace.hpp Thu Jan 22 14:42:01 2009 -0800 ++++ openjdk/hotspot/src/share/vm/utilities/dtrace.hpp Mon Feb 02 13:47:34 2009 +0100 +@@ -1,5 +1,6 @@ + /* + * Copyright 2005-2007 Sun Microsystems, Inc. All Rights Reserved. ++ * Copyright 2009 Red Hat, Inc. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it +@@ -22,14 +23,14 @@ + * + */ + +-#if defined(SOLARIS) && defined(DTRACE_ENABLED) ++#if defined(DTRACE_ENABLED) + + #include + + #define DTRACE_ONLY(x) x + #define NOT_DTRACE(x) + +-#else // ndef SOLARIS || ndef DTRACE_ENABLED ++#else // ndef DTRACE_ENABLED + + #define DTRACE_ONLY(x) + #define NOT_DTRACE(x) x +@@ -40,9 +41,16 @@ + #define DTRACE_PROBE3(a,b,c,d,e) {;} + #define DTRACE_PROBE4(a,b,c,d,e,f) {;} + #define DTRACE_PROBE5(a,b,c,d,e,f,g) {;} ++#define DTRACE_PROBE6(a,b,c,d,e,f,g,h) {;} ++#define DTRACE_PROBE7(a,b,c,d,e,f,g,h,i) {;} ++#define DTRACE_PROBE8(a,b,c,d,e,f,g,h,i,j) {;} ++#define DTRACE_PROBE9(a,b,c,d,e,f,g,h,i,j,k) {;} ++#define DTRACE_PROBE10(a,b,c,d,e,f,g,h,i,j,k,l) {;} + + #endif + ++#if defined(SOLARIS) ++// Solaris dtrace needs actual extern function decls. + #define HS_DTRACE_PROBE_FN(provider,name)\ + __dtrace_##provider##___##name + +@@ -50,6 +58,11 @@ + DTRACE_ONLY(extern "C" void HS_DTRACE_PROBE_FN(provider,name) args) + #define HS_DTRACE_PROBE_CDECL_N(provider,name,args) \ + DTRACE_ONLY(extern void HS_DTRACE_PROBE_FN(provider,name) args) ++#else ++// Systemtap dtrace compatible probes on GNU/Linux don't. ++#define HS_DTRACE_PROBE_DECL_N(provider,name,args) ++#define HS_DTRACE_PROBE_CDECL_N(provider,name,args) ++#endif + + /* Dtrace probe declarations */ + #define HS_DTRACE_PROBE_DECL(provider,name) \ +@@ -88,6 +101,8 @@ + uintptr_t,uintptr_t,uintptr_t)) + + /* Dtrace probe definitions */ ++#if defined(SOLARIS) ++// Solaris dtrace uses actual function calls. + #define HS_DTRACE_PROBE_N(provider,name, args) \ + DTRACE_ONLY(HS_DTRACE_PROBE_FN(provider,name) args) + +@@ -123,3 +138,29 @@ + HS_DTRACE_PROBE_N(provider,name,((uintptr_t)a0,(uintptr_t)a1,(uintptr_t)a2,\ + (uintptr_t)a3,(uintptr_t)a4,(uintptr_t)a5,(uintptr_t)a6,(uintptr_t)a7,\ + (uintptr_t)a8,(uintptr_t)a9)) ++#else ++// Systemtap dtrace compatible probes on GNU/Linux use direct macros. ++#define HS_DTRACE_PROBE(provider,name) HS_DTRACE_PROBE0(provider,name) ++#define HS_DTRACE_PROBE0(provider,name)\ ++ DTRACE_PROBE(provider,name) ++#define HS_DTRACE_PROBE1(provider,name,a0)\ ++ DTRACE_PROBE1(provider,name,a0) ++#define HS_DTRACE_PROBE2(provider,name,a0,a1)\ ++ DTRACE_PROBE2(provider,name,a0,a1) ++#define HS_DTRACE_PROBE3(provider,name,a0,a1,a2)\ ++ DTRACE_PROBE3(provider,name,a0,a1,a2) ++#define HS_DTRACE_PROBE4(provider,name,a0,a1,a2,a3)\ ++ DTRACE_PROBE4(provider,name,a0,a1,a2,a3) ++#define HS_DTRACE_PROBE5(provider,name,a0,a1,a2,a3,a4)\ ++ DTRACE_PROBE5(provider,name,a0,a1,a2,a3,a4) ++#define HS_DTRACE_PROBE6(provider,name,a0,a1,a2,a3,a4,a5)\ ++ DTRACE_PROBE6(provider,name,a0,a1,a2,a3,a4,a5) ++#define HS_DTRACE_PROBE7(provider,name,a0,a1,a2,a3,a4,a5,a6)\ ++ DTRACE_PROBE7(provider,name,a0,a1,a2,a3,a4,a5,a6) ++#define HS_DTRACE_PROBE8(provider,name,a0,a1,a2,a3,a4,a5,a6,a7)\ ++ DTRACE_PROBE8(provider,name,a0,a1,a2,a3,a4,a5,a6,a7) ++#define HS_DTRACE_PROBE9(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8)\ ++ DTRACE_PROBE9(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8) ++#define HS_DTRACE_PROBE10(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8)\ ++ DTRACE_PROBE10(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8) ++#endif +--- openjdk/hotspot/src/share/vm/runtime/arguments.cpp 2009-03-04 14:39:43.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp 2009-03-04 22:11:37.000000000 +0100 +@@ -2272,16 +2272,16 @@ + FLAG_SET_CMDLINE(bool, DisplayVMOutputToStderr, false); + FLAG_SET_CMDLINE(bool, DisplayVMOutputToStdout, true); + } else if (match_option(option, "-XX:+ExtendedDTraceProbes", &tail)) { +-#ifdef SOLARIS ++#ifdef DTRACE_ENABLED + FLAG_SET_CMDLINE(bool, ExtendedDTraceProbes, true); + FLAG_SET_CMDLINE(bool, DTraceMethodProbes, true); + FLAG_SET_CMDLINE(bool, DTraceAllocProbes, true); + FLAG_SET_CMDLINE(bool, DTraceMonitorProbes, true); +-#else // ndef SOLARIS ++#else // ndef DTRACE_ENABLED + jio_fprintf(defaultStream::error_stream(), +- "ExtendedDTraceProbes flag is only applicable on Solaris\n"); ++ "ExtendedDTraceProbes flag is only applicable on dtrace enabled builds\n"); + return JNI_EINVAL; +-#endif // ndef SOLARIS ++#endif // ndef DTRACE_ENABLED + } else + #ifdef ASSERT + if (match_option(option, "-XX:+FullGCALot", &tail)) { diff -r 924928f21072 -r d48a4f542e7d patches/hotspot/original/icedtea-format.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/original/icedtea-format.patch Tue Mar 30 23:04:54 2010 +0100 @@ -0,0 +1,48 @@ +diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp openjdk/hotspot/src/share/vm/runtime/arguments.cpp +--- openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp 2010-03-11 14:46:20.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp 2010-03-11 17:20:52.000000000 +0000 +@@ -1268,7 +1268,7 @@ + + // Feed the cache size setting into the JDK + char buffer[1024]; +- sprintf(buffer, "java.lang.Integer.IntegerCache.high=%d", AutoBoxCacheMax); ++ sprintf(buffer, "java.lang.Integer.IntegerCache.high=" INTX_FORMAT, AutoBoxCacheMax); + add_property(buffer); + } + #endif +diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/safepoint.cpp openjdk/hotspot/src/share/vm/runtime/safepoint.cpp +--- openjdk.orig/hotspot/src/share/vm/runtime/safepoint.cpp 2009-04-24 08:30:57.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/runtime/safepoint.cpp 2010-03-11 17:20:52.000000000 +0000 +@@ -733,7 +733,7 @@ + if (DieOnSafepointTimeout) { + char msg[1024]; + VM_Operation *op = VMThread::vm_operation(); +- sprintf(msg, "Safepoint sync time longer than %d ms detected when executing %s.", ++ sprintf(msg, "Safepoint sync time longer than " INTX_FORMAT " ms detected when executing %s.", + SafepointTimeoutDelay, + op != NULL ? op->name() : "no vm operation"); + fatal(msg); +diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/synchronizer.cpp openjdk/hotspot/src/share/vm/runtime/synchronizer.cpp +--- openjdk.orig/hotspot/src/share/vm/runtime/synchronizer.cpp 2009-04-24 08:30:57.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/runtime/synchronizer.cpp 2010-03-11 17:21:19.000000000 +0000 +@@ -427,7 +427,7 @@ + // asserts is that error message -- often something about negative array + // indices -- is opaque. + +-#define CTASSERT(x) { int tag[1-(2*!(x))]; printf ("Tag @%X\n", tag); } ++#define CTASSERT(x) { int tag[1-(2*!(x))]; printf ("Tag @%p\n", tag); } + + void ObjectMonitor::ctAsserts() { + CTASSERT(offset_of (ObjectMonitor, _header) == 0); +diff -Nru openjdk.orig/hotspot/src/share/vm/utilities/vmError.cpp openjdk/hotspot/src/share/vm/utilities/vmError.cpp +--- openjdk.orig/hotspot/src/share/vm/utilities/vmError.cpp 2010-03-11 14:46:19.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/utilities/vmError.cpp 2010-03-11 17:20:52.000000000 +0000 +@@ -313,7 +313,7 @@ + + strncpy(buf, file, buflen); + if (len + 10 < buflen) { +- sprintf(buf + len, ":" SIZE_FORMAT, _lineno); ++ sprintf(buf + len, ":%d", _lineno); + } + st->print(" (%s)", buf); + } else { diff -r 924928f21072 -r d48a4f542e7d patches/hotspot/original/systemtap.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/original/systemtap.patch Tue Mar 30 23:04:54 2010 +0100 @@ -0,0 +1,154 @@ +diff -Nru ../openjdk.orig/hotspot/build/linux/makefiles/dtrace.make ../openjdk/hotspot/build/linux/makefiles/dtrace.make +--- ../openjdk.orig/hotspot/build/linux/makefiles/dtrace.make 2009-04-24 08:30:52.000000000 +0100 ++++ ../openjdk/hotspot/build/linux/makefiles/dtrace.make 2010-03-30 20:43:06.000000000 +0100 +@@ -25,3 +25,7 @@ + # Linux does not build jvm_db + LIBJVM_DB = + ++# But it does have a Systemtap dtrace compatible sys/sdt.h ++CFLAGS += -DDTRACE_ENABLED ++ ++# It doesn't support HAVE_DTRACE_H though. +diff -Nru ../openjdk.orig/hotspot/src/share/vm/prims/jni.cpp ../openjdk/hotspot/src/share/vm/prims/jni.cpp +--- ../openjdk.orig/hotspot/src/share/vm/prims/jni.cpp 2010-03-30 20:41:19.000000000 +0100 ++++ ../openjdk/hotspot/src/share/vm/prims/jni.cpp 2010-03-30 20:43:06.000000000 +0100 +@@ -1744,10 +1744,7 @@ + JNI_QUICK_ENTRY(void, jni_Set##Result##Field(JNIEnv *env, jobject obj, jfieldID fieldID, Argument value)) \ + JNIWrapper("Set" XSTR(Result) "Field"); \ + \ +- HS_DTRACE_PROBE_CDECL_N(hotspot_jni, Set##Result##Field__entry, \ +- ( JNIEnv*, jobject, jfieldID FP_SELECT_##Result(COMMA Argument,/*empty*/) ) ); \ +- HS_DTRACE_PROBE_N(hotspot_jni, Set##Result##Field__entry, \ +- ( env, obj, fieldID FP_SELECT_##Result(COMMA value,/*empty*/) ) ); \ ++ FP_SELECT_##Result(DTRACE_PROBE4(hotspot_jni, Set##Result##Field__entry, env, obj, fieldID, value),DTRACE_PROBE3(hotspot_jni, Set##Result##Field__entry, env, obj, fieldID)); \ + \ + oop o = JNIHandles::resolve_non_null(obj); \ + klassOop k = o->klass(); \ +@@ -1921,10 +1918,7 @@ + \ + JNI_ENTRY(void, jni_SetStatic##Result##Field(JNIEnv *env, jclass clazz, jfieldID fieldID, Argument value)) \ + JNIWrapper("SetStatic" XSTR(Result) "Field"); \ +- HS_DTRACE_PROBE_CDECL_N(hotspot_jni, SetStatic##Result##Field__entry,\ +- ( JNIEnv*, jclass, jfieldID FP_SELECT_##Result(COMMA Argument,/*empty*/) ) ); \ +- HS_DTRACE_PROBE_N(hotspot_jni, SetStatic##Result##Field__entry, \ +- ( env, clazz, fieldID FP_SELECT_##Result(COMMA value,/*empty*/) ) ); \ ++ FP_SELECT_##Result(DTRACE_PROBE4(hotspot_jni, SetStatic##Result##Field__entry, env, clazz, fieldID, value),DTRACE_PROBE3(hotspot_jni, SetStatic##Result##Field__entry, env, clazz, fieldID)); \ + \ + JNIid* id = jfieldIDWorkaround::from_static_jfieldID(fieldID); \ + assert(id->is_static_field_id(), "invalid static field id"); \ +@@ -2107,7 +2101,7 @@ + DT_RETURN_MARK(GetObjectArrayElement, jobject, (const jobject&)ret); + objArrayOop a = objArrayOop(JNIHandles::resolve_non_null(array)); + if (a->is_within_bounds(index)) { +- jobject ret = JNIHandles::make_local(env, a->obj_at(index)); ++ ret = JNIHandles::make_local(env, a->obj_at(index)); + return ret; + } else { + char buf[jintAsStringSize]; +@@ -2141,14 +2135,14 @@ + + #define DEFINE_NEWSCALARARRAY(Return,Allocator,Result) \ + \ +- DT_RETURN_MARK_DECL_FOR(Result, New##Result##Array, Return);\ ++ DT_RETURN_MARK_DECL(New##Result##Array, Return);\ + \ + JNI_ENTRY(Return, \ + jni_New##Result##Array(JNIEnv *env, jsize len)) \ + JNIWrapper("New" XSTR(Result) "Array"); \ + DTRACE_PROBE2(hotspot_jni, New##Result##Array__entry, env, len);\ + Return ret = NULL;\ +- DT_RETURN_MARK_FOR(Result, New##Result##Array, Return, (const Return&)ret);\ ++ DT_RETURN_MARK(New##Result##Array, Return, (const Return&)ret);\ + \ + oop obj= oopFactory::Allocator(len, CHECK_0); \ + ret = (Return) JNIHandles::make_local(env, obj); \ +diff -Nru ../openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp ../openjdk/hotspot/src/share/vm/runtime/arguments.cpp +--- ../openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp 2010-03-30 20:41:21.000000000 +0100 ++++ ../openjdk/hotspot/src/share/vm/runtime/arguments.cpp 2010-03-30 20:43:54.000000000 +0100 +@@ -2164,16 +2164,16 @@ + FLAG_SET_CMDLINE(bool, DisplayVMOutputToStderr, false); + FLAG_SET_CMDLINE(bool, DisplayVMOutputToStdout, true); + } else if (match_option(option, "-XX:+ExtendedDTraceProbes", &tail)) { +-#ifdef SOLARIS ++#ifdef DTRACE_ENABLED + FLAG_SET_CMDLINE(bool, ExtendedDTraceProbes, true); + FLAG_SET_CMDLINE(bool, DTraceMethodProbes, true); + FLAG_SET_CMDLINE(bool, DTraceAllocProbes, true); + FLAG_SET_CMDLINE(bool, DTraceMonitorProbes, true); +-#else // ndef SOLARIS ++#else // ndef DTRACE_ENABLED + jio_fprintf(defaultStream::error_stream(), +- "ExtendedDTraceProbes flag is only applicable on Solaris\n"); ++ "ExtendedDTraceProbes flag is only applicable on dtrace enabled builds\n"); + return JNI_EINVAL; +-#endif // ndef SOLARIS ++#endif // ndef DTRACE_ENABLED + } else + #ifdef ASSERT + if (match_option(option, "-XX:+FullGCALot", &tail)) { +diff -Nru ../openjdk.orig/hotspot/src/share/vm/utilities/dtrace.hpp ../openjdk/hotspot/src/share/vm/utilities/dtrace.hpp +--- ../openjdk.orig/hotspot/src/share/vm/utilities/dtrace.hpp 2009-04-24 08:30:57.000000000 +0100 ++++ ../openjdk/hotspot/src/share/vm/utilities/dtrace.hpp 2010-03-30 20:43:06.000000000 +0100 +@@ -3,6 +3,7 @@ + #endif + /* + * Copyright 2005-2007 Sun Microsystems, Inc. All Rights Reserved. ++ * Copyright 2009 Red Hat, Inc. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it +@@ -25,14 +26,14 @@ + * + */ + +-#if defined(SOLARIS) && defined(DTRACE_ENABLED) ++#if defined(DTRACE_ENABLED) + + #include + + #define DTRACE_ONLY(x) x + #define NOT_DTRACE(x) + +-#else // ndef SOLARIS || ndef DTRACE_ENABLED ++#else // ndef DTRACE_ENABLED From andrew at icedtea.classpath.org Tue Mar 30 15:20:42 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 30 Mar 2010 22:20:42 +0000 Subject: /hg/release/icedtea6-1.8: Add new security updates. Message-ID: changeset 6ffc7f201041 in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=6ffc7f201041 author: Andrew John Hughes date: Tue Mar 30 23:19:58 2010 +0100 Add new security updates. 2009-03-30 Andrew John Hughes * Makefile.am: Add new security patches. * NEWS: List new security patches. * patches/security/20100330/6626217.patch, * patches/security/20100330/6633872.patch, * patches/security/20100330/6639665.patch, * patches/security/20100330/6736390.patch, * patches/security/20100330/6745393.patch, * patches/security/20100330/6887703.patch, * patches/security/20100330/6888149.patch, * patches/security/20100330/6892265.patch, * patches/security/20100330/6893947.patch, * patches/security/20100330/6893954.patch, * patches/security/20100330/6898622.patch, * patches/security/20100330/6898739.patch, * patches/security/20100330/6899653.patch, * patches/security/20100330/6902299.patch, * patches/security/20100330/6904691.patch, * patches/security/20100330/6909597.patch, * patches/security/20100330/6910590.patch, * patches/security/20100330/6914823.patch, * patches/security/20100330/6914866.patch, * patches/security/20100330/6932480.patch, * patches/security/20100330/hotspot/hs16/6894807.patch, * patches/security/20100330/hotspot/original/6894807.patch: New security and hardening patches http://www.oracle.com/technology/deploy/security/critical-patch- updates/javacpumar2010.html diffstat: 25 files changed, 3649 insertions(+), 1 deletion(-) ChangeLog | 29 Makefile.am | 23 NEWS | 22 patches/security/20100330/6626217.patch | 180 ++ patches/security/20100330/6633872.patch | 443 +++++ patches/security/20100330/6639665.patch | 51 patches/security/20100330/6736390.patch | 18 patches/security/20100330/6745393.patch | 1233 ++++++++++++++ patches/security/20100330/6887703.patch | 28 patches/security/20100330/6888149.patch | 33 patches/security/20100330/6892265.patch | 35 patches/security/20100330/6893947.patch | 86 patches/security/20100330/6893954.patch | 248 ++ patches/security/20100330/6898622.patch | 20 patches/security/20100330/6898739.patch | 437 ++++ patches/security/20100330/6899653.patch | 27 patches/security/20100330/6902299.patch | 104 + patches/security/20100330/6904691.patch | 166 + patches/security/20100330/6909597.patch | 74 patches/security/20100330/6910590.patch | 10 patches/security/20100330/6914823.patch | 80 patches/security/20100330/6914866.patch | 118 + patches/security/20100330/6932480.patch | 43 patches/security/20100330/hotspot/hs16/6894807.patch | 115 + patches/security/20100330/hotspot/original/6894807.patch | 27 diffs (truncated from 3765 to 500 lines): diff -r c65048b3e9d7 -r 6ffc7f201041 ChangeLog --- a/ChangeLog Thu Mar 25 15:14:34 2010 +0100 +++ b/ChangeLog Tue Mar 30 23:19:58 2010 +0100 @@ -1,3 +1,32 @@ 2010-03-25 Matthias Klose + + * Makefile.am: Add new security patches. + * NEWS: List new security patches. + * patches/security/20100330/6626217.patch, + * patches/security/20100330/6633872.patch, + * patches/security/20100330/6639665.patch, + * patches/security/20100330/6736390.patch, + * patches/security/20100330/6745393.patch, + * patches/security/20100330/6887703.patch, + * patches/security/20100330/6888149.patch, + * patches/security/20100330/6892265.patch, + * patches/security/20100330/6893947.patch, + * patches/security/20100330/6893954.patch, + * patches/security/20100330/6898622.patch, + * patches/security/20100330/6898739.patch, + * patches/security/20100330/6899653.patch, + * patches/security/20100330/6902299.patch, + * patches/security/20100330/6904691.patch, + * patches/security/20100330/6909597.patch, + * patches/security/20100330/6910590.patch, + * patches/security/20100330/6914823.patch, + * patches/security/20100330/6914866.patch, + * patches/security/20100330/6932480.patch, + * patches/security/20100330/hotspot/hs16/6894807.patch, + * patches/security/20100330/hotspot/original/6894807.patch: + New security and hardening patches + http://www.oracle.com/technology/deploy/security/critical-patch-updates/javacpumar2010.html + 2010-03-25 Matthias Klose * configure.ac: Bump version to 1.8. diff -r c65048b3e9d7 -r 6ffc7f201041 Makefile.am --- a/Makefile.am Thu Mar 25 15:14:34 2010 +0100 +++ b/Makefile.am Tue Mar 30 23:19:58 2010 +0100 @@ -299,7 +299,28 @@ ICEDTEA_PATCHES = \ patches/extensions/netx.patch \ patches/extensions/netx-dist.patch \ patches/extensions/netx-umask.patch \ - patches/icedtea-jtreg-httpTest.patch + patches/icedtea-jtreg-httpTest.patch \ + patches/security/20100330/6626217.patch \ + patches/security/20100330/6633872.patch \ + patches/security/20100330/6639665.patch \ + patches/security/20100330/6736390.patch \ + patches/security/20100330/6745393.patch \ + patches/security/20100330/6887703.patch \ + patches/security/20100330/6888149.patch \ + patches/security/20100330/6892265.patch \ + patches/security/20100330/6893947.patch \ + patches/security/20100330/6893954.patch \ + patches/security/20100330/hotspot/$(HSBUILD)/6894807.patch \ + patches/security/20100330/6898622.patch \ + patches/security/20100330/6898739.patch \ + patches/security/20100330/6899653.patch \ + patches/security/20100330/6902299.patch \ + patches/security/20100330/6904691.patch \ + patches/security/20100330/6909597.patch \ + patches/security/20100330/6910590.patch \ + patches/security/20100330/6914823.patch \ + patches/security/20100330/6914866.patch \ + patches/security/20100330/6932480.patch if WITH_RHINO ICEDTEA_PATCHES += \ diff -r c65048b3e9d7 -r 6ffc7f201041 NEWS --- a/NEWS Thu Mar 25 15:14:34 2010 +0100 +++ b/NEWS Tue Mar 30 23:19:58 2010 +0100 @@ -7,6 +7,28 @@ New in release 1.8 (2010-XX-XX): - Addition of security updates applied in IcedTea6 1.6.2. - Many bug fixes: http://blogs.sun.com/darcy/resource/OpenJDK_6/openjdk6-b18-changes-summary.html +- Latest security updates and hardening patches: + - (CVE-2010-0837): JAR "unpack200" must verify input parameters (6902299) + - (CVE-2010-0845): No ClassCastException for HashAttributeSet constructors if run with -Xcomp (6894807) + - (CVE-2010-0838): CMM readMabCurveData Buffer Overflow Vulnerability (6899653) + - (CVE-2010-0082): Loader-constraint table allows arrays instead of only the base-classes (6626217) + - (CVE-2010-0095): Subclasses of InetAddress may incorrectly interpret network addresses (6893954) + - (CVE-2010-0085): File TOCTOU deserialization vulnerability (6736390) + - (CVE-2010-0091): Unsigned applet can retrieve the dragged information before drop action occurs (6887703) + - (CVE-2010-0088): Inflater/Deflater clone issues (6745393) + - (CVE-2010-0084): Policy/PolicyFile leak dynamic ProtectionDomains. (6633872) + - (CVE-2010-0092): AtomicReferenceArray causes SIGSEGV -> SEGV_MAPERR error (6888149) + - (CVE-2010-0094): Deserialization of RMIConnectionImpl objects should enforce stricter checks (6893947) + - (CVE-2010-0093): System.arraycopy unable to reference elements beyond Integer.MAX_VALUE bytes (6892265) + - (CVE-2010-0840): Applet Trusted Methods Chaining Privilege Escalation Vulnerability (6904691) + - (CVE-2010-0848): AWT Library Invalid Index Vulnerability (6914823) + - (CVE-2010-0847): ImagingLib arbitrary code execution vulnerability (6914866) + - (CVE-2009-3555): TLS: MITM attacks via session renegotiation + - 6639665: ThreadGroup finalizer allows creation of false root ThreadGroups + - 6898622: ObjectIdentifer.equals is not capable of detecting incorrectly encoded CommonName OIDs + - 6910590: Application can modify command array in ProcessBuilder + - 6909597: JPEGImageReader stepX Integer Overflow Vulnerability + - 6932480: Crash in CompilerThread/Parser. Unloaded array klass? - Old plugin removed; NPPlugin is now the default and is controlled by --enable/disable-plugin. As with the old plugin, it produces a IcedTeaPlugin.so library rather than IcedTeaNPPlugin.so. diff -r c65048b3e9d7 -r 6ffc7f201041 patches/security/20100330/6626217.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/security/20100330/6626217.patch Tue Mar 30 23:19:58 2010 +0100 @@ -0,0 +1,180 @@ +# HG changeset patch +# User acorn +# Date 1261523209 18000 +# Node ID 209a7a8a8f966dc4d6b45333cf4f3fa6648a6ecb +# Parent 75e095764f403b7425e30711b00cc038554a1ae9 +6626217: Fixed loader constraint array handling +Summary: Loader constraints track array elements, not arrays themselves. +Reviewed-by: dcubed, kevinw + +diff --git openjdk.orig/hotspot/src/share/vm/ci/ciEnv.cpp openjdk/hotspot/src/share/vm/ci/ciEnv.cpp +--- openjdk.orig/hotspot/src/share/vm/ci/ciEnv.cpp ++++ openjdk/hotspot/src/share/vm/ci/ciEnv.cpp +@@ -348,30 +348,6 @@ ciKlass* ciEnv::get_klass_by_name_impl(c + if (found_klass != NULL) { + // Found it. Build a CI handle. + return get_object(found_klass)->as_klass(); +- } +- +- // If we fail to find an array klass, look again for its element type. +- // The element type may be available either locally or via constraints. +- // In either case, if we can find the element type in the system dictionary, +- // we must build an array type around it. The CI requires array klasses +- // to be loaded if their element klasses are loaded, except when memory +- // is exhausted. +- if (sym->byte_at(0) == '[' && +- (sym->byte_at(1) == '[' || sym->byte_at(1) == 'L')) { +- // We have an unloaded array. +- // Build it on the fly if the element class exists. +- symbolOop elem_sym = oopFactory::new_symbol(sym->as_utf8()+1, +- sym->utf8_length()-1, +- KILL_COMPILE_ON_FATAL_(fail_type)); +- // Get element ciKlass recursively. +- ciKlass* elem_klass = +- get_klass_by_name_impl(accessing_klass, +- get_object(elem_sym)->as_symbol(), +- require_local); +- if (elem_klass != NULL && elem_klass->is_loaded()) { +- // Now make an array for it +- return ciObjArrayKlass::make_impl(elem_klass); +- } + } + + if (require_local) return NULL; +diff --git openjdk.orig/hotspot/src/share/vm/classfile/loaderConstraints.cpp openjdk/hotspot/src/share/vm/classfile/loaderConstraints.cpp +--- openjdk.orig/hotspot/src/share/vm/classfile/loaderConstraints.cpp ++++ openjdk/hotspot/src/share/vm/classfile/loaderConstraints.cpp +@@ -338,32 +338,6 @@ klassOop LoaderConstraintTable::find_con + } + + +-klassOop LoaderConstraintTable::find_constrained_elem_klass(symbolHandle name, +- symbolHandle elem_name, +- Handle loader, +- TRAPS) { +- LoaderConstraintEntry *p = *(find_loader_constraint(name, loader)); +- if (p != NULL) { +- assert(p->klass() == NULL, "Expecting null array klass"); +- +- // The array name has a constraint, but it will not have a class. Check +- // each loader for an associated elem +- for (int i = 0; i < p->num_loaders(); i++) { +- Handle no_protection_domain; +- +- klassOop k = SystemDictionary::find(elem_name, p->loader(i), no_protection_domain, THREAD); +- if (k != NULL) { +- // Return the first elem klass found. +- return k; +- } +- } +- } +- +- // No constraints, or else no klass loaded yet. +- return NULL; +-} +- +- + void LoaderConstraintTable::ensure_loader_constraint_capacity( + LoaderConstraintEntry *p, + int nfree) { +diff --git openjdk.orig/hotspot/src/share/vm/classfile/loaderConstraints.hpp openjdk/hotspot/src/share/vm/classfile/loaderConstraints.hpp +--- openjdk.orig/hotspot/src/share/vm/classfile/loaderConstraints.hpp ++++ openjdk/hotspot/src/share/vm/classfile/loaderConstraints.hpp +@@ -67,9 +67,6 @@ public: + Handle loader2, bool is_method, TRAPS); + + klassOop find_constrained_klass(symbolHandle name, Handle loader); +- klassOop find_constrained_elem_klass(symbolHandle name, symbolHandle elem_name, +- Handle loader, TRAPS); +- + + // Class loader constraints + +diff --git openjdk.orig/hotspot/src/share/vm/classfile/systemDictionary.cpp openjdk/hotspot/src/share/vm/classfile/systemDictionary.cpp +--- openjdk.orig/hotspot/src/share/vm/classfile/systemDictionary.cpp ++++ openjdk/hotspot/src/share/vm/classfile/systemDictionary.cpp +@@ -2113,9 +2113,8 @@ klassOop SystemDictionary::find_constrai + // a loader constraint that would require this loader to return the + // klass that is already loaded. + if (FieldType::is_array(class_name())) { +- // Array classes are hard because their klassOops are not kept in the +- // constraint table. The array klass may be constrained, but the elem class +- // may not be. ++ // For array classes, their klassOops are not kept in the ++ // constraint table. The element klassOops are. + jint dimension; + symbolOop object_key; + BasicType t = FieldType::get_array_info(class_name(), &dimension, +@@ -2125,8 +2124,9 @@ klassOop SystemDictionary::find_constrai + } else { + symbolHandle elem_name(THREAD, object_key); + MutexLocker mu(SystemDictionary_lock, THREAD); +- klass = constraints()->find_constrained_elem_klass(class_name, elem_name, class_loader, THREAD); ++ klass = constraints()->find_constrained_klass(elem_name, class_loader); + } ++ // If element class already loaded, allocate array klass + if (klass != NULL) { + klass = Klass::cast(klass)->array_klass_or_null(dimension); + } +@@ -2142,24 +2142,40 @@ klassOop SystemDictionary::find_constrai + + bool SystemDictionary::add_loader_constraint(symbolHandle class_name, + Handle class_loader1, +- Handle class_loader2, +- Thread* THREAD) { +- unsigned int d_hash1 = dictionary()->compute_hash(class_name, class_loader1); ++ Handle class_loader2, ++ Thread* THREAD) { ++ symbolHandle constraint_name; ++ if (!FieldType::is_array(class_name())) { ++ constraint_name = class_name; ++ } else { ++ // For array classes, their klassOops are not kept in the ++ // constraint table. The element classes are. ++ jint dimension; ++ symbolOop object_key; ++ BasicType t = FieldType::get_array_info(class_name(), &dimension, ++ &object_key, CHECK_(false)); ++ // primitive types always pass ++ if (t != T_OBJECT) { ++ return true; ++ } else { ++ constraint_name = symbolHandle(THREAD, object_key); ++ } ++ } ++ unsigned int d_hash1 = dictionary()->compute_hash(constraint_name, class_loader1); + int d_index1 = dictionary()->hash_to_index(d_hash1); + +- unsigned int d_hash2 = dictionary()->compute_hash(class_name, class_loader2); ++ unsigned int d_hash2 = dictionary()->compute_hash(constraint_name, class_loader2); + int d_index2 = dictionary()->hash_to_index(d_hash2); ++ { ++ MutexLocker mu_s(SystemDictionary_lock, THREAD); + +- { +- MutexLocker mu_s(SystemDictionary_lock, THREAD); ++ // Better never do a GC while we're holding these oops ++ No_Safepoint_Verifier nosafepoint; + +- // Better never do a GC while we're holding these oops +- No_Safepoint_Verifier nosafepoint; +- +- klassOop klass1 = find_class(d_index1, d_hash1, class_name, class_loader1); +- klassOop klass2 = find_class(d_index2, d_hash2, class_name, class_loader2); +- return constraints()->add_entry(class_name, klass1, class_loader1, +- klass2, class_loader2); ++ klassOop klass1 = find_class(d_index1, d_hash1, constraint_name, class_loader1); ++ klassOop klass2 = find_class(d_index2, d_hash2, constraint_name, class_loader2); ++ return constraints()->add_entry(constraint_name, klass1, class_loader1, ++ klass2, class_loader2); + } + } + +@@ -2191,6 +2207,7 @@ symbolOop SystemDictionary::find_resolut + // Returns the name of the type that failed a loader constraint check, or + // NULL if no constraint failed. The returned C string needs cleaning up + // with a ResourceMark in the caller ++// Arrays are not added to the loader constraint table, their elements are. + char* SystemDictionary::check_signature_loaders(symbolHandle signature, + Handle loader1, Handle loader2, + bool is_method, TRAPS) { diff -r c65048b3e9d7 -r 6ffc7f201041 patches/security/20100330/6633872.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/security/20100330/6633872.patch Tue Mar 30 23:19:58 2010 +0100 @@ -0,0 +1,443 @@ +--- openjdk.orig/jdk/src/share/classes/java/security/ProtectionDomain.java Mon Mar 15 10:28:30 2010 ++++ openjdk/jdk/src/share/classes/java/security/ProtectionDomain.java Mon Mar 15 10:28:30 2010 +@@ -1,5 +1,5 @@ + /* +- * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. ++ * Copyright 1997-2009 Sun Microsystems, Inc. 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 +@@ -25,9 +25,15 @@ + + package java.security; + ++import java.util.ArrayList; ++import java.util.Collections; + import java.util.Enumeration; + import java.util.List; +-import java.util.ArrayList; ++import java.util.Map; ++import java.util.WeakHashMap; ++import sun.misc.JavaSecurityProtectionDomainAccess; ++import static sun.misc.JavaSecurityProtectionDomainAccess.ProtectionDomainCache; ++import sun.misc.SharedSecrets; + import sun.security.util.Debug; + import sun.security.util.SecurityConstants; + +@@ -72,6 +78,11 @@ + or dynamic (via a policy refresh) */ + private boolean staticPermissions; + ++ /* ++ * An object used as a key when the ProtectionDomain is stored in a Map. ++ */ ++ final Key key = new Key(); ++ + private static final Debug debug = Debug.getInstance("domain"); + + /** +@@ -238,7 +249,7 @@ + /** + * Convert a ProtectionDomain to a String. + */ +- public String toString() { ++ @Override public String toString() { + String pals = ""; + if (principals != null && principals.length > 0) { + StringBuilder palBuf = new StringBuilder("(principals "); +@@ -396,4 +407,29 @@ + + return mergedPerms; + } ++ ++ /** ++ * Used for storing ProtectionDomains as keys in a Map. ++ */ ++ final class Key {} ++ ++ static { ++ SharedSecrets.setJavaSecurityProtectionDomainAccess( ++ new JavaSecurityProtectionDomainAccess() { ++ public ProtectionDomainCache getProtectionDomainCache() { ++ return new ProtectionDomainCache() { ++ private final Map map = ++ Collections.synchronizedMap ++ (new WeakHashMap()); ++ public void put(ProtectionDomain pd, ++ PermissionCollection pc) { ++ map.put((pd == null ? null : pd.key), pc); ++ } ++ public PermissionCollection get(ProtectionDomain pd) { ++ return pd == null ? map.get(null) : map.get(pd.key); ++ } ++ }; ++ } ++ }); ++ } + } +--- openjdk.orig/jdk/src/share/classes/java/security/Policy.java Mon Mar 15 10:28:30 2010 ++++ openjdk/jdk/src/share/classes/java/security/Policy.java Mon Mar 15 10:28:30 2010 +@@ -1,5 +1,5 @@ + /* +- * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. ++ * Copyright 1997-2009 Sun Microsystems, Inc. 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 +@@ -28,22 +28,19 @@ + + import java.io.*; + import java.lang.RuntimePermission; ++import java.lang.reflect.*; + import java.net.MalformedURLException; + import java.net.URL; + import java.util.Enumeration; + import java.util.Hashtable; +-import java.util.Vector; +-import java.util.StringTokenizer; + import java.util.PropertyPermission; +- +-import java.lang.reflect.*; +- ++import java.util.StringTokenizer; ++import java.util.Vector; + import java.util.WeakHashMap; +-import sun.security.util.Debug; + import sun.security.jca.GetInstance; ++import sun.security.util.Debug; + import sun.security.util.SecurityConstants; + +- + /** + * A Policy object is responsible for determining whether code executing + * in the Java runtime environment has permission to perform a +@@ -113,8 +110,8 @@ + + private static final Debug debug = Debug.getInstance("policy"); + +- // Cache mapping ProtectionDomain to PermissionCollection +- private WeakHashMap pdMapping; ++ // Cache mapping ProtectionDomain.Key to PermissionCollection ++ private WeakHashMap pdMapping; + + /** package private for AccessControlContext */ + static boolean isSet() +@@ -307,7 +304,7 @@ + synchronized (p) { + if (p.pdMapping == null) { + p.pdMapping = +- new WeakHashMap(); ++ new WeakHashMap(); + } + } + +@@ -323,7 +320,7 @@ + + synchronized (p.pdMapping) { + // cache of pd to permissions +- p.pdMapping.put(policyDomain, policyPerms); ++ p.pdMapping.put(policyDomain.key, policyPerms); + } + } + return; +@@ -638,7 +635,7 @@ + } + + synchronized (pdMapping) { +- pc = pdMapping.get(domain); ++ pc = pdMapping.get(domain.key); + } + + if (pc != null) { +@@ -697,7 +694,7 @@ + } + + synchronized (pdMapping) { +- pc = pdMapping.get(domain); ++ pc = pdMapping.get(domain.key); + } + + if (pc != null) { +@@ -711,7 +708,7 @@ + + synchronized (pdMapping) { + // cache it +- pdMapping.put(domain, pc); ++ pdMapping.put(domain.key, pc); + } + + return pc.implies(permission); +@@ -747,21 +744,25 @@ + this.params = params; + } + +- public String getType() { return type; } ++ @Override public String getType() { return type; } + +- public Policy.Parameters getParameters() { return params; } ++ @Override public Policy.Parameters getParameters() { return params; } + +- public Provider getProvider() { return p; } ++ @Override public Provider getProvider() { return p; } + ++ @Override + public PermissionCollection getPermissions(CodeSource codesource) { + return spi.engineGetPermissions(codesource); + } ++ @Override + public PermissionCollection getPermissions(ProtectionDomain domain) { + return spi.engineGetPermissions(domain); + } ++ @Override + public boolean implies(ProtectionDomain domain, Permission perm) { + return spi.engineImplies(domain, perm); + } ++ @Override + public void refresh() { + spi.engineRefresh(); + } +@@ -803,7 +804,7 @@ + * @exception SecurityException - if this PermissionCollection object + * has been marked readonly + */ +- public void add(Permission permission) { ++ @Override public void add(Permission permission) { + perms.add(permission); + } + +@@ -816,7 +817,7 @@ + * @return true if "permission" is implied by the permissions in + * the collection, false if not. + */ From andrew at icedtea.classpath.org Tue Mar 30 15:57:23 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 30 Mar 2010 22:57:23 +0000 Subject: /hg/release/icedtea6-1.6: 2 new changesets Message-ID: changeset 566af2483fbb in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=566af2483fbb author: Andrew John Hughes date: Tue Mar 30 23:56:02 2010 +0100 Remove broken regexp usage in .hgignore. 2009-03-30 Andrew John Hughes * .hgignore: Remove broken regexp usage which hides too many files. changeset 6728bebba215 in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=6728bebba215 author: Andrew John Hughes date: Tue Mar 30 23:57:15 2010 +0100 Backport NSS bug fix. 2009-09-03 Andrew John Hughes PR icedtea/356 * HACKING: Updated. * Makefile.am: Add two new patches. Copy nss.cfg to jre/lib/security if NSS is enabled. * configure.ac:Check for NSS and set NSS_LIBDIR and ENABLE_NSS if found. * nss.cfg.in: Template for the nss configuration file. * patches/icedtea-nss-6763530.patch: Fix for Sun bug 6763530 which is triggered by newer versions of NSS. * patches/icedtea-nss-config.patch: Patch java.security with the PCKS11 provider configuration. diffstat: 8 files changed, 132 insertions(+), 7 deletions(-) .hgignore | 11 +++---- ChangeLog | 22 ++++++++++++++ HACKING | 4 ++ Makefile.am | 13 ++++++++ configure.ac | 20 +++++++++++++ nss.cfg.in | 4 ++ patches/icedtea-nss-6763530.patch | 55 +++++++++++++++++++++++++++++++++++++ patches/icedtea-nss-config.patch | 10 ++++++ diffs (232 lines): diff -r d48a4f542e7d -r 6728bebba215 .hgignore --- a/.hgignore Tue Mar 30 23:04:54 2010 +0100 +++ b/.hgignore Tue Mar 30 23:57:15 2010 +0100 @@ -1,7 +1,4 @@ syntax: glob syntax: glob -*~ - -syntax: regexp configure missing aclocal.m4 @@ -9,7 +6,6 @@ cacao cacao netbeans visualvm -openjdk bootstrap debian lib @@ -464,9 +460,12 @@ rt/netscape/javascript/JSUtil.java rt/netscape/javascript/JSUtil.java generated/sun/awt/X11/generator/sizer.32.orig pulseaudio/bin -pulseaudio/.*\.o +pulseaudio/*.o pulseaudio/src/native/org_.*.h -pulseaudio/.*jar +pulseaudio/*.jar pulse-java.jar hotspot.tar.gz ports/hotspot/src/cpu/zero/vm/bytecodes_arm.s + +syntax:regexp +openjdk diff -r d48a4f542e7d -r 6728bebba215 ChangeLog --- a/ChangeLog Tue Mar 30 23:04:54 2010 +0100 +++ b/ChangeLog Tue Mar 30 23:57:15 2010 +0100 @@ -1,3 +1,25 @@ 2009-03-30 Andrew John Hughes + + PR icedtea/356 + * HACKING: Updated. + * Makefile.am: + Add two new patches. Copy nss.cfg to jre/lib/security if + NSS is enabled. + * configure.ac:Check for NSS and set NSS_LIBDIR + and ENABLE_NSS if found. + * nss.cfg.in: Template for the nss configuration file. + * patches/icedtea-nss-6763530.patch: + Fix for Sun bug 6763530 which is triggered by newer + versions of NSS. + * patches/icedtea-nss-config.patch: Patch java.security + with the PCKS11 provider configuration. + +2009-03-30 Andrew John Hughes + + * .hgignore: + Remove broken regexp usage which hides too + many files. + 2009-03-30 Andrew John Hughes * patches/icedtea-systemtap.patch: diff -r d48a4f542e7d -r 6728bebba215 HACKING --- a/HACKING Tue Mar 30 23:04:54 2010 +0100 +++ b/HACKING Tue Mar 30 23:57:15 2010 +0100 @@ -124,7 +124,9 @@ The following patches are only applied t since b22 was from "before hg". * icedtea-dnd-filelists.patch: Fix drag and drop behaviour when dragging a file list between JVMs (S5079469). Backported from OpenJDK. * icedtea-signed-types-hot6.patch: Make use of unsigned/signed types explicit. -* openjdk/6648816.patch: Backport of regression (NPE) fix in AccessControlContext +* openjdk/6648816.patch: Backport of regression (NPE) fix in AccessControlContext (PR364/S6648816) +* icedtea-nss-config.patch: Add the NSS PKCS11 security provider. (PR356) +* icedtea-nss-6763530.patch: Fix PKCS11 provider when used with newer version of NSS (>=3.12.3) (PR356, S6763530). The following patches are only applied to OpenJDK in IcedTea: diff -r d48a4f542e7d -r 6728bebba215 Makefile.am --- a/Makefile.am Tue Mar 30 23:04:54 2010 +0100 +++ b/Makefile.am Tue Mar 30 23:57:15 2010 +0100 @@ -723,6 +723,11 @@ ICEDTEA_PATCHES += patches/hotspot/$(HSB ICEDTEA_PATCHES += patches/hotspot/$(HSBUILD)/systemtap.patch endif +if ENABLE_NSS +ICEDTEA_PATCHES += patches/icedtea-nss-config.patch \ + patches/icedtea-nss-6763530.patch +endif + ICEDTEA_PATCHES += \ patches/icedtea-demo-swingapplet.patch \ patches/icedtea-awt-window-size.patch \ @@ -1283,6 +1288,10 @@ if ENABLE_SYSTEMTAP cp $(abs_top_builddir)/tapset/jstack.stp \ $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset/jstack.stp endif +if ENABLE_NSS + cp $(abs_top_builddir)/nss.cfg \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security; +endif @echo "IcedTea is served:" $(BUILD_OUTPUT_DIR) mkdir -p stamps touch stamps/icedtea.stamp @@ -1375,6 +1384,10 @@ if ENABLE_SYSTEMTAP fi; \ cp $(abs_top_builddir)/tapset/jstack.stp \ $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset/jstack.stp +endif +if ENABLE_NSS + cp $(abs_top_builddir)/nss.cfg \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security; endif @echo "IcedTea (debug build) is served:" \ $(BUILD_OUTPUT_DIR)-debug diff -r d48a4f542e7d -r 6728bebba215 configure.ac --- a/configure.ac Tue Mar 30 23:04:54 2010 +0100 +++ b/configure.ac Tue Mar 30 23:57:15 2010 +0100 @@ -156,6 +156,14 @@ AC_ARG_ENABLE([systemtap], [ENABLE_SYSTEMTAP="${enableval}"], [ENABLE_SYSTEMTAP='no']) AM_CONDITIONAL([ENABLE_SYSTEMTAP], [test x$ENABLE_SYSTEMTAP = xyes]) AC_MSG_RESULT(${ENABLE_SYSTEMTAP}) + +AC_MSG_CHECKING([whether to include the NSS-based security provider]) +AC_ARG_ENABLE([nss], + [AS_HELP_STRING([--enable-nss], + [Enable inclusion of NSS security provider])], + [ENABLE_NSS="${enableval}"], [ENABLE_NSS='no']) +AM_CONDITIONAL([ENABLE_NSS], [test x$ENABLE_NSS = xyes]) +AC_MSG_RESULT(${ENABLE_NSS}) AC_MSG_CHECKING(how many parallel build jobs to execute) AC_ARG_WITH([parallel-jobs], @@ -525,6 +533,18 @@ return EXIT_SUCCESS; AC_SUBST(MOZILLA_VERSION_COLLAPSED, $xulrunner_cv_collapsed_version) fi +if test "x${ENABLE_NSS}" = "xyes" +then + PKG_CHECK_MODULES(NSS, nss, [NSS_FOUND=yes], [NSS_FOUND=no]) + if test "x${NSS_FOUND}" = xno + then + AC_MSG_ERROR([Could not find NSS. Either install it or configure using --disable-nss.]) + fi + NSS_LIBDIR=`$PKG_CONFIG --variable=libdir nss` + AC_SUBST(NSS_LIBDIR) + AC_CONFIG_FILES([nss.cfg]) +fi + AC_MSG_CHECKING(for --with-additional-vms) AC_ARG_WITH(additional-vms, AC_HELP_STRING([--with-additional-vms=vm-list], [build additional virtual machines. Valid value is a comma separated string with the backend names `cacao', `zero' and `shark'.]), diff -r d48a4f542e7d -r 6728bebba215 nss.cfg.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nss.cfg.in Tue Mar 30 23:57:15 2010 +0100 @@ -0,0 +1,4 @@ +name = NSS +nssLibraryDirectory = @NSS_LIBDIR@ +nssDbMode = noDb +attributes = compatibility diff -r d48a4f542e7d -r 6728bebba215 patches/icedtea-nss-6763530.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-nss-6763530.patch Tue Mar 30 23:57:15 2010 +0100 @@ -0,0 +1,55 @@ +diff -r 1f83d4e42eda src/share/classes/sun/security/pkcs11/P11ECKeyFactory.java +--- openjdk.orig/jdk/src/share/classes/sun/security/pkcs11/P11ECKeyFactory.java Mon Aug 31 12:55:15 2009 +0900 ++++ openjdk/jdk/src/share/classes/sun/security/pkcs11/P11ECKeyFactory.java Thu Sep 03 18:47:40 2009 +0100 +@@ -40,6 +40,8 @@ + import sun.security.pkcs11.wrapper.*; + import static sun.security.pkcs11.wrapper.PKCS11Constants.*; + ++import sun.security.util.DerValue; ++ + /** + * EC KeyFactory implemenation. + * +@@ -201,7 +203,14 @@ + + private PublicKey generatePublic(ECPoint point, ECParameterSpec params) throws PKCS11Exception { + byte[] encodedParams = ECParameters.encodeParameters(params); +- byte[] encodedPoint = ECParameters.encodePoint(point, params.getCurve()); ++ DerValue pkECPoint = new DerValue(DerValue.tag_OctetString, ++ ECParameters.encodePoint(point, params.getCurve())); ++ byte[] encodedPoint = null; ++ try { ++ encodedPoint = pkECPoint.toByteArray(); ++ } catch (IOException e) { ++ throw new IllegalArgumentException("Could not DER encode point", e); ++ } + CK_ATTRIBUTE[] attributes = new CK_ATTRIBUTE[] { + new CK_ATTRIBUTE(CKA_CLASS, CKO_PUBLIC_KEY), + new CK_ATTRIBUTE(CKA_KEY_TYPE, CKK_EC), +diff -r 1f83d4e42eda src/share/classes/sun/security/pkcs11/P11Key.java +--- openjdk.orig/jdk/src/share/classes/sun/security/pkcs11/P11Key.java Mon Aug 31 12:55:15 2009 +0900 ++++ openjdk/jdk/src/share/classes/sun/security/pkcs11/P11Key.java Thu Sep 03 18:47:40 2009 +0100 +@@ -44,6 +44,8 @@ + import sun.security.pkcs11.wrapper.*; + import static sun.security.pkcs11.wrapper.PKCS11Constants.*; + ++import sun.security.util.DerValue; ++ + /** + * Key implementation classes. + * +@@ -1014,10 +1016,13 @@ + }; + fetchAttributes(attributes); + try { ++ DerValue wECPoint = new DerValue(attributes[0].getByteArray()); ++ if (wECPoint.getTag() != DerValue.tag_OctetString) ++ throw new IOException("Unexpected tag: " + wECPoint.getTag()); + params = P11ECKeyFactory.decodeParameters + (attributes[1].getByteArray()); + w = P11ECKeyFactory.decodePoint +- (attributes[0].getByteArray(), params.getCurve()); ++ (wECPoint.getDataBytes(), params.getCurve()); + } catch (Exception e) { + throw new RuntimeException("Could not parse key values", e); + } diff -r d48a4f542e7d -r 6728bebba215 patches/icedtea-nss-config.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-nss-config.patch Tue Mar 30 23:57:15 2010 +0100 @@ -0,0 +1,10 @@ +--- openjdk.orig/jdk/src/share/lib/security/java.security 2009-08-25 11:43:59.000000000 +0100 ++++ openjdk/jdk/src/share/lib/security/java.security 2009-08-27 14:23:54.000000000 +0100 +@@ -51,6 +51,7 @@ + security.provider.6=com.sun.security.sasl.Provider + security.provider.7=org.jcp.xml.dsig.internal.dom.XMLDSigRI + security.provider.8=sun.security.smartcardio.SunPCSC ++security.provider.9=sun.security.pkcs11.SunPKCS11 ${java.home}/lib/security/nss.cfg + + # + # Select the source of seed data for SecureRandom. By default an From andrew at icedtea.classpath.org Tue Mar 30 16:47:19 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 30 Mar 2010 23:47:19 +0000 Subject: /hg/icedtea: Add security patches. Sync Makefile.am closer to I... Message-ID: changeset 86ea08fc3e46 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=86ea08fc3e46 author: Andrew John Hughes date: Wed Mar 31 00:47:11 2010 +0100 Add security patches. Sync Makefile.am closer to IcedTea6. 2010-03-31 Andrew John Hughes * Makefile.am: (HOTSPOT_CHANGESET): Updated for new security patches. (JDK_CHANGESET): Likewise. (HOTSPOT_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (SHARE): Changed from JDK_SHARE to match IcedTea6. (SOLARIS): Likewise (from JDK_SOLARIS). (OPENJDK_SOURCEPATH_DIRS): Use $(SHARE) and $(SOLARIS). (SOURCEPATH_DIRS): Remove NETX_SRCDIR. (ICEDTEA_BOOTSTRAP_DIRS): Use $(SHARE). (netx.stamp): Add NETX_SRCDIR to sourcepath. * THANKYOU: Add C. K. Jester-Young who contributed the initial Perl version of javac.in. diffstat: 3 files changed, 43 insertions(+), 27 deletions(-) ChangeLog | 17 +++++++++++++++++ Makefile.am | 52 +++++++++++++++++++++++++--------------------------- THANKYOU | 1 + diffs (136 lines): diff -r 3b4234249c40 -r 86ea08fc3e46 ChangeLog --- a/ChangeLog Thu Mar 11 15:14:36 2010 -0500 +++ b/ChangeLog Wed Mar 31 00:47:11 2010 +0100 @@ -1,3 +1,20 @@ 2010-03-11 Jon VanAlten + + * Makefile.am: + (HOTSPOT_CHANGESET): Updated for new security patches. + (JDK_CHANGESET): Likewise. + (HOTSPOT_SHA256SUM): Likewise. + (JDK_SHA256SUM): Likewise. + (SHARE): Changed from JDK_SHARE to match IcedTea6. + (SOLARIS): Likewise (from JDK_SOLARIS). + (OPENJDK_SOURCEPATH_DIRS): Use $(SHARE) and $(SOLARIS). + (SOURCEPATH_DIRS): Remove NETX_SRCDIR. + (ICEDTEA_BOOTSTRAP_DIRS): Use $(SHARE). + (netx.stamp): Add NETX_SRCDIR to sourcepath. + * THANKYOU: + Add C. K. Jester-Young who contributed + the initial Perl version of javac.in. + 2010-03-11 Jon VanAlten * patches/icedtea-systemtap.patch: diff -r 3b4234249c40 -r 86ea08fc3e46 Makefile.am --- a/Makefile.am Thu Mar 11 15:14:36 2010 -0500 +++ b/Makefile.am Wed Mar 31 00:47:11 2010 +0100 @@ -3,18 +3,18 @@ OPENJDK_VERSION = b84 OPENJDK_VERSION = b84 CORBA_CHANGESET = 007f7db4cbea -HOTSPOT_CHANGESET = 9ee70b22738a +HOTSPOT_CHANGESET = f42ed4c1b561 JAXP_CHANGESET = 495072db688b JAXWS_CHANGESET = 702e7f7e94c3 -JDK_CHANGESET = 917976e88f76 +JDK_CHANGESET = a6da33732b35 LANGTOOLS_CHANGESET = 6a6c3d5c6956 OPENJDK_CHANGESET = 8bab12c58534 CORBA_SHA256SUM = 50955e1352e4da5f31c9a27e22bbbc1bee6c3b1c1533650349def2502e5588e0 -HOTSPOT_SHA256SUM = 5349b2baa758ca0750adc73e913e894acd2d54b626da24e55f8592a87542fe24 +HOTSPOT_SHA256SUM = a8d439fcd1dffc919bc2fd275edf3c5b6740c77a1d1daaa6085db78954483303 JAXP_SHA256SUM = bee3d39feaf266ec1f0293abcde9cddb2553a09b1e400816187efbf86c6a2563 JAXWS_SHA256SUM = 242f03256d5065b6b5a26f904591051382fe2b5989c31907859ba0c2ea3389fd -JDK_SHA256SUM = 1faa4d03d315dcfdf8554299cbc266566100965ffc2529ba8927a4c43d25fd69 +JDK_SHA256SUM = b131df485752d8a635af0d24081cb20042f7ded1df96ff756df23792f6a717d2 LANGTOOLS_SHA256SUM = ff0451422ba9ff27a295bb11021c1b19d59d2f02ed893553f7919ddeede6aa2f OPENJDK_SHA256SUM = 6b0a46f1ca49906ccbe229f4dd5a6cb71914bcff5ce91ace261e88f62336ca97 @@ -82,8 +82,8 @@ BUILD_DEBUG_JRE_ARCH_DIR = $(BUILD_OUTPU # Source directories -JDK_SHARE = openjdk-boot/jdk/src/share/classes -JDK_SOLARIS = openjdk-boot/jdk/src/solaris/classes +SHARE = openjdk-boot/jdk/src/share/classes +SOLARIS = openjdk-boot/jdk/src/solaris/classes LANGTOOLS = openjdk-boot/langtools/src/share/classes CORBA = openjdk-boot/corba/src/share/classes JAXWS = $(BUILD_OUTPUT_DIR)/jaxws/drop/jaxws_src/src @@ -102,29 +102,29 @@ endif endif OPENJDK_SOURCEPATH_DIRS = \ - $(JDK_SHARE):$(JDK_SOLARIS):$(LANGTOOLS):$(CORBA):$(JAXWS_COND) + $(SHARE):$(SOLARIS):$(LANGTOOLS):$(CORBA):$(JAXWS_COND) -SOURCEPATH_DIRS = $(abs_top_builddir)/generated:$(OPENJDK_SOURCEPATH_DIRS):$(NETX_SRCDIR) +SOURCEPATH_DIRS = $(abs_top_builddir)/generated:$(OPENJDK_SOURCEPATH_DIRS) # Sources used from OpenJDK. if LACKS_SUN_AWT_TOOLKIT ICEDTEA_BOOTSTRAP_DIRS = \ - $(JDK_SHARE)/com/sun/jdi \ - $(JDK_SHARE)/com/sun/tools/jdi \ - $(JDK_SHARE)/com/sun/net/httpserver \ - $(JDK_SHARE)/java/io \ - $(JDK_SHARE)/java/security/cert \ - $(JDK_SHARE)/java/util \ - $(JDK_SHARE)/java/rmi \ - $(JDK_SHARE)/javax/net/ssl \ - $(JDK_SHARE)/javax/rmi/ssl \ - $(JDK_SHARE)/javax/script \ - $(JDK_SHARE)/javax/security/auth/kerberos \ - $(JDK_SHARE)/javax/security/sasl \ - $(JDK_SHARE)/javax/swing/plaf/basic \ - $(JDK_SHARE)/sun/awt/ \ - $(JDK_SHARE)/sun/rmi/rmic \ - $(JDK_SHARE)/sun/tools/java \ + $(SHARE)/com/sun/jdi \ + $(SHARE)/com/sun/tools/jdi \ + $(SHARE)/com/sun/net/httpserver \ + $(SHARE)/java/io \ + $(SHARE)/java/security/cert \ + $(SHARE)/java/util \ + $(SHARE)/java/rmi \ + $(SHARE)/javax/net/ssl \ + $(SHARE)/javax/rmi/ssl \ + $(SHARE)/javax/script \ + $(SHARE)/javax/security/auth/kerberos \ + $(SHARE)/javax/security/sasl \ + $(SHARE)/javax/swing/plaf/basic \ + $(SHARE)/sun/awt/ \ + $(SHARE)/sun/rmi/rmic \ + $(SHARE)/sun/tools/java \ $(LANGTOOLS)/com/sun/mirror \ $(LANGTOOLS)/com/sun/tools/apt @@ -2081,8 +2081,6 @@ clean-liveconnect: rm -f stamps/liveconnect.stamp # NetX - -# netx # requires availability of OpenJDK source code including # a patch applied to sun.plugin.AppletViewerPanel and generated sources @@ -2094,7 +2092,7 @@ stamps/netx.stamp: netx-source-files.txt $(ICEDTEA_BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ -d $(abs_top_builddir)/netx.build \ -classpath $(abs_top_builddir)/lib/rt:$(SYSTEM_JDK_DIR)/jre/lib/rt.jar \ - -sourcepath $(SOURCEPATH_DIRS) \ + -sourcepath $(NETX_SRCDIR):$(SOURCEPATH_DIRS) \ -bootclasspath \'\' \ @netx-source-files.txt ; mkdir -p stamps diff -r 3b4234249c40 -r 86ea08fc3e46 THANKYOU --- a/THANKYOU Thu Mar 11 15:14:36 2010 -0500 +++ b/THANKYOU Wed Mar 31 00:47:11 2010 +0100 @@ -5,3 +5,4 @@ us know. Please keep this list in alphab us know. Please keep this list in alphabetic order. Alon Bar-Lev (alon.barlev at gmail.com) +C. K. Jester-Young (cky944 at gmail.com) \ No newline at end of file From doko at icedtea.classpath.org Tue Mar 30 17:10:32 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Wed, 31 Mar 2010 00:10:32 +0000 Subject: /hg/icedtea6: acinclude.m4 (ENABLE_ZERO_BUILD): Depend on IT_SET... Message-ID: changeset a86471da922d in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=a86471da922d author: doko at ubuntu.com date: Wed Mar 31 01:46:55 2010 +0200 acinclude.m4 (ENABLE_ZERO_BUILD): Depend on IT_SET_ARCH_SETTINGS 2010-03-31 Matthias Klose * acinclude.m4 (ENABLE_ZERO_BUILD): Depend on IT_SET_ARCH_SETTINGS. diffstat: 2 files changed, 5 insertions(+) ChangeLog | 4 ++++ acinclude.m4 | 1 + diffs (22 lines): diff -r 911fc7449289 -r a86471da922d ChangeLog --- a/ChangeLog Tue Mar 30 20:37:12 2010 +0100 +++ b/ChangeLog Wed Mar 31 01:46:55 2010 +0200 @@ -1,3 +1,7 @@ 2010-03-30 Andrew John Hughes + + * acinclude.m4 (ENABLE_ZERO_BUILD): Depend on IT_SET_ARCH_SETTINGS. + 2010-03-30 Andrew John Hughes * patches/openjdk/6873059-javac-versioning-hotspot.patch: diff -r 911fc7449289 -r a86471da922d acinclude.m4 --- a/acinclude.m4 Tue Mar 30 20:37:12 2010 +0100 +++ b/acinclude.m4 Wed Mar 31 01:46:55 2010 +0200 @@ -726,6 +726,7 @@ AC_DEFUN([FIND_TOOL], AC_DEFUN([ENABLE_ZERO_BUILD], [ + AC_REQUIRE([IT_SET_ARCH_SETTINGS]) AC_MSG_CHECKING([whether to use the zero-assembler port]) use_zero=no AC_ARG_ENABLE([zero], From doko at icedtea.classpath.org Tue Mar 30 17:17:17 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Wed, 31 Mar 2010 00:17:17 +0000 Subject: /hg/release/icedtea6-1.8: acinclude.m4 (ENABLE_ZERO_BUILD): Depe... Message-ID: changeset e3d17434ea31 in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=e3d17434ea31 author: doko at ubuntu.com date: Wed Mar 31 01:53:39 2010 +0200 acinclude.m4 (ENABLE_ZERO_BUILD): Depend on IT_SET_ARCH_SETTINGS 2010-03-31 Matthias Klose * acinclude.m4 (ENABLE_ZERO_BUILD): Depend on IT_SET_ARCH_SETTINGS. diffstat: 1 file changed, 4 insertions(+) ChangeLog | 4 ++++ diffs (11 lines): diff -r 6ffc7f201041 -r e3d17434ea31 ChangeLog --- a/ChangeLog Tue Mar 30 23:19:58 2010 +0100 +++ b/ChangeLog Wed Mar 31 01:53:39 2010 +0200 @@ -1,3 +1,7 @@ 2009-03-30 Andrew John Hughes + + * acinclude.m4 (ENABLE_ZERO_BUILD): Depend on IT_SET_ARCH_SETTINGS. + 2009-03-30 Andrew John Hughes * Makefile.am: Add new security patches. From doko at icedtea.classpath.org Tue Mar 30 17:21:43 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Wed, 31 Mar 2010 00:21:43 +0000 Subject: /hg/release/icedtea6-1.7: acinclude.m4 (ENABLE_ZERO_BUILD): Depe... Message-ID: changeset c5a5f60295cf in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=c5a5f60295cf author: doko at ubuntu.com date: Wed Mar 31 01:58:07 2010 +0200 acinclude.m4 (ENABLE_ZERO_BUILD): Depend on SET_ARCH_DIRS 2010-03-31 Matthias Klose * acinclude.m4 (ENABLE_ZERO_BUILD): Depend on SET_ARCH_DIRS. diffstat: 2 files changed, 5 insertions(+) ChangeLog | 4 ++++ acinclude.m4 | 1 + diffs (22 lines): diff -r 6bd87ceec77a -r c5a5f60295cf ChangeLog --- a/ChangeLog Thu Mar 18 18:43:01 2010 +0000 +++ b/ChangeLog Wed Mar 31 01:58:07 2010 +0200 @@ -1,3 +1,7 @@ 2010-03-18 Pavel Tisnovsky + + * acinclude.m4 (ENABLE_ZERO_BUILD): Depend on SET_ARCH_DIRS. + 2010-03-18 Pavel Tisnovsky * patches/icedtea-jtreg-httpTest.patch: new regression test diff -r 6bd87ceec77a -r c5a5f60295cf acinclude.m4 --- a/acinclude.m4 Thu Mar 18 18:43:01 2010 +0000 +++ b/acinclude.m4 Wed Mar 31 01:58:07 2010 +0200 @@ -698,6 +698,7 @@ AC_DEFUN([FIND_TOOL], AC_DEFUN([ENABLE_ZERO_BUILD], [ + AC_REQUIRE([SET_ARCH_DIRS]) AC_MSG_CHECKING([whether to use the zero-assembler port]) use_zero=no AC_ARG_ENABLE([zero], From andrew at icedtea.classpath.org Tue Mar 30 17:37:48 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 31 Mar 2010 00:37:48 +0000 Subject: /hg/icedtea6: 3 new changesets Message-ID: changeset ecb1cacd7a34 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=ecb1cacd7a34 author: Andrew John Hughes date: Tue Mar 30 23:23:15 2010 +0100 Add security updates. 2009-03-30 Andrew John Hughes * Makefile.am: Add new security patches. * NEWS: List new security patches. * patches/security/20100330/6626217.patch, * patches/security/20100330/6633872.patch, * patches/security/20100330/6639665.patch, * patches/security/20100330/6736390.patch, * patches/security/20100330/6745393.patch, * patches/security/20100330/6887703.patch, * patches/security/20100330/6888149.patch, * patches/security/20100330/6892265.patch, * patches/security/20100330/6893947.patch, * patches/security/20100330/6893954.patch, * patches/security/20100330/6898622.patch, * patches/security/20100330/6898739.patch, * patches/security/20100330/6899653.patch, * patches/security/20100330/6902299.patch, * patches/security/20100330/6904691.patch, * patches/security/20100330/6909597.patch, * patches/security/20100330/6910590.patch, * patches/security/20100330/6914823.patch, * patches/security/20100330/6914866.patch, * patches/security/20100330/6932480.patch, * patches/security/20100330/hotspot/hs16/6894807.patch, * patches/security/20100330/hotspot/original/6894807.patch: New security and hardening patches http://www.oracle.com/technology/deploy/security/critical-patch- updates/javacpumar2010.html changeset f625a9f9cdab in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=f625a9f9cdab author: Andrew John Hughes date: Wed Mar 31 01:36:09 2010 +0100 Support hs16 with security patches. 2009-03-31 Andrew John Hughes * patches/security/20100330/6894807.patch, * patches/security/20100330/hotspot/hs16/6894807.patch, * patches/security/20100330/hotspot/original/6894807.patch: Move 6894807 patch to top-level; same for both hs14 and hs16. * Makefile.am: Use $(HSBUILD) appropriately. * patches/hotspot/hs16/6873059-javac-versioning-hotspot.patch: Fix paths. * patches/security/20100330/6626217.patch, * patches/security/20100330/hotspot/hs16/6626217.patch, * patches/security/20100330/hotspot/original/6626217.patch: Split 6626217 into hs14 and hs16 versions. changeset 924b3dc09a33 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=924b3dc09a33 author: Andrew John Hughes date: Wed Mar 31 01:37:16 2010 +0100 Merge diffstat: 27 files changed, 3739 insertions(+), 27 deletions(-) ChangeLog | 47 Makefile.am | 23 NEWS | 22 acinclude.m4 | 1 patches/hotspot/hs16/6873059-javac-versioning-hotspot.patch | 52 patches/security/20100330/6633872.patch | 443 +++ patches/security/20100330/6639665.patch | 51 patches/security/20100330/6736390.patch | 18 patches/security/20100330/6745393.patch | 1233 +++++++++++ patches/security/20100330/6887703.patch | 28 patches/security/20100330/6888149.patch | 33 patches/security/20100330/6892265.patch | 35 patches/security/20100330/6893947.patch | 86 patches/security/20100330/6893954.patch | 248 ++ patches/security/20100330/6894807.patch | 27 patches/security/20100330/6898622.patch | 20 patches/security/20100330/6898739.patch | 437 +++ patches/security/20100330/6899653.patch | 27 patches/security/20100330/6902299.patch | 104 patches/security/20100330/6904691.patch | 166 + patches/security/20100330/6909597.patch | 74 patches/security/20100330/6910590.patch | 10 patches/security/20100330/6914823.patch | 80 patches/security/20100330/6914866.patch | 118 + patches/security/20100330/6932480.patch | 43 patches/security/20100330/hotspot/hs16/6626217.patch | 160 + patches/security/20100330/hotspot/original/6626217.patch | 180 + diffs (truncated from 3985 to 500 lines): diff -r 911fc7449289 -r 924b3dc09a33 ChangeLog --- a/ChangeLog Tue Mar 30 20:37:12 2010 +0100 +++ b/ChangeLog Wed Mar 31 01:37:16 2010 +0100 @@ -1,3 +1,50 @@ 2010-03-30 Andrew John Hughes + + * patches/security/20100330/6894807.patch, + * patches/security/20100330/hotspot/hs16/6894807.patch, + * patches/security/20100330/hotspot/original/6894807.patch: + Move 6894807 patch to top-level; same for both hs14 and hs16. + * Makefile.am: Use $(HSBUILD) appropriately. + * patches/hotspot/hs16/6873059-javac-versioning-hotspot.patch: + Fix paths. + * patches/security/20100330/6626217.patch, + * patches/security/20100330/hotspot/hs16/6626217.patch, + * patches/security/20100330/hotspot/original/6626217.patch: + Split 6626217 into hs14 and hs16 versions. + +2010-03-31 Matthias Klose + + * acinclude.m4 (ENABLE_ZERO_BUILD): Depend on IT_SET_ARCH_SETTINGS. + +2009-03-30 Andrew John Hughes + + * Makefile.am: Add new security patches. + * NEWS: List new security patches. + * patches/security/20100330/6626217.patch, + * patches/security/20100330/6633872.patch, + * patches/security/20100330/6639665.patch, + * patches/security/20100330/6736390.patch, + * patches/security/20100330/6745393.patch, + * patches/security/20100330/6887703.patch, + * patches/security/20100330/6888149.patch, + * patches/security/20100330/6892265.patch, + * patches/security/20100330/6893947.patch, + * patches/security/20100330/6893954.patch, + * patches/security/20100330/6898622.patch, + * patches/security/20100330/6898739.patch, + * patches/security/20100330/6899653.patch, + * patches/security/20100330/6902299.patch, + * patches/security/20100330/6904691.patch, + * patches/security/20100330/6909597.patch, + * patches/security/20100330/6910590.patch, + * patches/security/20100330/6914823.patch, + * patches/security/20100330/6914866.patch, + * patches/security/20100330/6932480.patch, + * patches/security/20100330/hotspot/hs16/6894807.patch, + * patches/security/20100330/hotspot/original/6894807.patch: + New security and hardening patches + http://www.oracle.com/technology/deploy/security/critical-patch-updates/javacpumar2010.html + 2010-03-30 Andrew John Hughes * patches/openjdk/6873059-javac-versioning-hotspot.patch: diff -r 911fc7449289 -r 924b3dc09a33 Makefile.am --- a/Makefile.am Tue Mar 30 20:37:12 2010 +0100 +++ b/Makefile.am Wed Mar 31 01:37:16 2010 +0100 @@ -314,7 +314,28 @@ ICEDTEA_PATCHES = \ patches/icedtea-jtreg-httpTest.patch \ patches/openjdk/6873059-javac-versioning-corba.patch \ patches/hotspot/$(HSBUILD)/6873059-javac-versioning-hotspot.patch \ - patches/openjdk/6873059-javac-versioning-jdk.patch + patches/openjdk/6873059-javac-versioning-jdk.patch \ + patches/security/20100330/hotspot/$(HSBUILD)/6626217.patch \ + patches/security/20100330/6633872.patch \ + patches/security/20100330/6639665.patch \ + patches/security/20100330/6736390.patch \ + patches/security/20100330/6745393.patch \ + patches/security/20100330/6887703.patch \ + patches/security/20100330/6888149.patch \ + patches/security/20100330/6892265.patch \ + patches/security/20100330/6893947.patch \ + patches/security/20100330/6893954.patch \ + patches/security/20100330/6894807.patch \ + patches/security/20100330/6898622.patch \ + patches/security/20100330/6898739.patch \ + patches/security/20100330/6899653.patch \ + patches/security/20100330/6902299.patch \ + patches/security/20100330/6904691.patch \ + patches/security/20100330/6909597.patch \ + patches/security/20100330/6910590.patch \ + patches/security/20100330/6914823.patch \ + patches/security/20100330/6914866.patch \ + patches/security/20100330/6932480.patch if WITH_RHINO ICEDTEA_PATCHES += \ diff -r 911fc7449289 -r 924b3dc09a33 NEWS --- a/NEWS Tue Mar 30 20:37:12 2010 +0100 +++ b/NEWS Wed Mar 31 01:37:16 2010 +0100 @@ -7,6 +7,28 @@ New in release 1.8 (2010-XX-XX): - Addition of security updates applied in IcedTea6 1.6.2. - Many bug fixes: http://blogs.sun.com/darcy/resource/OpenJDK_6/openjdk6-b18-changes-summary.html +- Latest security updates and hardening patches: + - (CVE-2010-0837): JAR "unpack200" must verify input parameters (6902299) + - (CVE-2010-0845): No ClassCastException for HashAttributeSet constructors if run with -Xcomp (6894807) + - (CVE-2010-0838): CMM readMabCurveData Buffer Overflow Vulnerability (6899653) + - (CVE-2010-0082): Loader-constraint table allows arrays instead of only the base-classes (6626217) + - (CVE-2010-0095): Subclasses of InetAddress may incorrectly interpret network addresses (6893954) + - (CVE-2010-0085): File TOCTOU deserialization vulnerability (6736390) + - (CVE-2010-0091): Unsigned applet can retrieve the dragged information before drop action occurs (6887703) + - (CVE-2010-0088): Inflater/Deflater clone issues (6745393) + - (CVE-2010-0084): Policy/PolicyFile leak dynamic ProtectionDomains. (6633872) + - (CVE-2010-0092): AtomicReferenceArray causes SIGSEGV -> SEGV_MAPERR error (6888149) + - (CVE-2010-0094): Deserialization of RMIConnectionImpl objects should enforce stricter checks (6893947) + - (CVE-2010-0093): System.arraycopy unable to reference elements beyond Integer.MAX_VALUE bytes (6892265) + - (CVE-2010-0840): Applet Trusted Methods Chaining Privilege Escalation Vulnerability (6904691) + - (CVE-2010-0848): AWT Library Invalid Index Vulnerability (6914823) + - (CVE-2010-0847): ImagingLib arbitrary code execution vulnerability (6914866) + - (CVE-2009-3555): TLS: MITM attacks via session renegotiation + - 6639665: ThreadGroup finalizer allows creation of false root ThreadGroups + - 6898622: ObjectIdentifer.equals is not capable of detecting incorrectly encoded CommonName OIDs + - 6910590: Application can modify command array in ProcessBuilder + - 6909597: JPEGImageReader stepX Integer Overflow Vulnerability + - 6932480: Crash in CompilerThread/Parser. Unloaded array klass? - Old plugin removed; NPPlugin is now the default and is controlled by --enable/disable-plugin. As with the old plugin, it produces a IcedTeaPlugin.so library rather than IcedTeaNPPlugin.so. diff -r 911fc7449289 -r 924b3dc09a33 acinclude.m4 --- a/acinclude.m4 Tue Mar 30 20:37:12 2010 +0100 +++ b/acinclude.m4 Wed Mar 31 01:37:16 2010 +0100 @@ -726,6 +726,7 @@ AC_DEFUN([FIND_TOOL], AC_DEFUN([ENABLE_ZERO_BUILD], [ + AC_REQUIRE([IT_SET_ARCH_SETTINGS]) AC_MSG_CHECKING([whether to use the zero-assembler port]) use_zero=no AC_ARG_ENABLE([zero], diff -r 911fc7449289 -r 924b3dc09a33 patches/hotspot/hs16/6873059-javac-versioning-hotspot.patch --- a/patches/hotspot/hs16/6873059-javac-versioning-hotspot.patch Tue Mar 30 20:37:12 2010 +0100 +++ b/patches/hotspot/hs16/6873059-javac-versioning-hotspot.patch Wed Mar 31 01:37:16 2010 +0100 @@ -8,8 +8,8 @@ Reviewed-by: jcoomes Reviewed-by: jcoomes diff -r 682194ca1d8d -r 0fc81f0a8ca8 make/linux/makefiles/jvmti.make ---- a/make/linux/makefiles/jvmti.make Thu Sep 10 09:04:41 2009 -0400 -+++ b/make/linux/makefiles/jvmti.make Sat Sep 12 12:50:07 2009 +0100 +--- openjdk.orig/hotspot/make/linux/makefiles/jvmti.make Thu Sep 10 09:04:41 2009 -0400 ++++ openjdk/hotspot/make/linux/makefiles/jvmti.make Sat Sep 12 12:50:07 2009 +0100 @@ -70,10 +70,10 @@ both = $(JvmtiGenClass) $(JvmtiSrcDir)/jvmti.xml $(JvmtiSrcDir)/jvmtiLib.xsl @@ -24,8 +24,8 @@ diff -r 682194ca1d8d -r 0fc81f0a8ca8 mak $(JvmtiOutDir)/jvmtiEnter.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnter.xsl @echo Generating $@ diff -r 682194ca1d8d -r 0fc81f0a8ca8 make/linux/makefiles/rules.make ---- a/make/linux/makefiles/rules.make Thu Sep 10 09:04:41 2009 -0400 -+++ b/make/linux/makefiles/rules.make Sat Sep 12 12:50:07 2009 +0100 +--- openjdk.orig/hotspot/make/linux/makefiles/rules.make Thu Sep 10 09:04:41 2009 -0400 ++++ openjdk/hotspot/make/linux/makefiles/rules.make Sat Sep 12 12:50:07 2009 +0100 @@ -122,12 +122,20 @@ endif endif @@ -48,8 +48,8 @@ diff -r 682194ca1d8d -r 0fc81f0a8ca8 mak ifeq ($(findstring j,$(MFLAGS)),j) COMPILE_DONE = && { echo Done with $<; } diff -r 682194ca1d8d -r 0fc81f0a8ca8 make/linux/makefiles/sa.make ---- a/make/linux/makefiles/sa.make Thu Sep 10 09:04:41 2009 -0400 -+++ b/make/linux/makefiles/sa.make Sat Sep 12 12:50:07 2009 +0100 +--- openjdk.orig/hotspot/make/linux/makefiles/sa.make Thu Sep 10 09:04:41 2009 -0400 ++++ openjdk/hotspot/make/linux/makefiles/sa.make Sat Sep 12 12:50:07 2009 +0100 @@ -74,8 +74,8 @@ mkdir -p $(SA_CLASSDIR); \ fi @@ -62,8 +62,8 @@ diff -r 682194ca1d8d -r 0fc81f0a8ca8 mak $(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 -r 682194ca1d8d -r 0fc81f0a8ca8 make/linux/makefiles/top.make ---- a/make/linux/makefiles/top.make Thu Sep 10 09:04:41 2009 -0400 -+++ b/make/linux/makefiles/top.make Sat Sep 12 12:50:07 2009 +0100 +--- openjdk.orig/hotspot/make/linux/makefiles/top.make Thu Sep 10 09:04:41 2009 -0400 ++++ openjdk/hotspot/make/linux/makefiles/top.make Sat Sep 12 12:50:07 2009 +0100 @@ -24,7 +24,7 @@ # top.make is included in the Makefile in the build directories. @@ -83,8 +83,8 @@ diff -r 682194ca1d8d -r 0fc81f0a8ca8 mak @rm -f $(Incremental_Lists) @$(CDG) echo >$(Cached_plat) diff -r 682194ca1d8d -r 0fc81f0a8ca8 make/solaris/makefiles/jvmti.make ---- a/make/solaris/makefiles/jvmti.make Thu Sep 10 09:04:41 2009 -0400 -+++ b/make/solaris/makefiles/jvmti.make Sat Sep 12 12:50:07 2009 +0100 +--- openjdk.orig/hotspot/make/solaris/makefiles/jvmti.make Thu Sep 10 09:04:41 2009 -0400 ++++ openjdk/hotspot/make/solaris/makefiles/jvmti.make Sat Sep 12 12:50:07 2009 +0100 @@ -69,10 +69,10 @@ both = $(JvmtiGenClass) $(JvmtiSrcDir)/jvmti.xml $(JvmtiSrcDir)/jvmtiLib.xsl @@ -99,8 +99,8 @@ diff -r 682194ca1d8d -r 0fc81f0a8ca8 mak $(JvmtiOutDir)/jvmtiEnter.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnter.xsl @echo Generating $@ diff -r 682194ca1d8d -r 0fc81f0a8ca8 make/solaris/makefiles/rules.make ---- a/make/solaris/makefiles/rules.make Thu Sep 10 09:04:41 2009 -0400 -+++ b/make/solaris/makefiles/rules.make Sat Sep 12 12:50:07 2009 +0100 +--- openjdk.orig/hotspot/make/solaris/makefiles/rules.make Thu Sep 10 09:04:41 2009 -0400 ++++ openjdk/hotspot/make/solaris/makefiles/rules.make Sat Sep 12 12:50:07 2009 +0100 @@ -122,12 +122,20 @@ endif endif @@ -123,8 +123,8 @@ diff -r 682194ca1d8d -r 0fc81f0a8ca8 mak ifeq ($(findstring j,$(MFLAGS)),j) COMPILE_DONE = && { echo Done with $<; } diff -r 682194ca1d8d -r 0fc81f0a8ca8 make/solaris/makefiles/sa.make ---- a/make/solaris/makefiles/sa.make Thu Sep 10 09:04:41 2009 -0400 -+++ b/make/solaris/makefiles/sa.make Sat Sep 12 12:50:07 2009 +0100 +--- openjdk.orig/hotspot/make/solaris/makefiles/sa.make Thu Sep 10 09:04:41 2009 -0400 ++++ openjdk/hotspot/make/solaris/makefiles/sa.make Sat Sep 12 12:50:07 2009 +0100 @@ -67,8 +67,8 @@ $(QUIETLY) if [ ! -d $(SA_CLASSDIR) ] ; then \ mkdir -p $(SA_CLASSDIR); \ @@ -137,8 +137,8 @@ diff -r 682194ca1d8d -r 0fc81f0a8ca8 mak $(QUIETLY) $(COMPILE.RMIC) -classpath $(SA_CLASSDIR) -d $(SA_CLASSDIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer $(QUIETLY) echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES) diff -r 682194ca1d8d -r 0fc81f0a8ca8 make/solaris/makefiles/top.make ---- a/make/solaris/makefiles/top.make Thu Sep 10 09:04:41 2009 -0400 -+++ b/make/solaris/makefiles/top.make Sat Sep 12 12:50:07 2009 +0100 +--- openjdk.orig/hotspot/make/solaris/makefiles/top.make Thu Sep 10 09:04:41 2009 -0400 ++++ openjdk/hotspot/make/solaris/makefiles/top.make Sat Sep 12 12:50:07 2009 +0100 @@ -24,7 +24,7 @@ # top.make is included in the Makefile in the build directories. @@ -158,8 +158,8 @@ diff -r 682194ca1d8d -r 0fc81f0a8ca8 mak @rm -f $(Incremental_Lists) @$(CDG) echo >$(Cached_plat) diff -r 682194ca1d8d -r 0fc81f0a8ca8 make/windows/makefiles/generated.make ---- a/make/windows/makefiles/generated.make Thu Sep 10 09:04:41 2009 -0400 -+++ b/make/windows/makefiles/generated.make Sat Sep 12 12:50:07 2009 +0100 +--- openjdk.orig/hotspot/make/windows/makefiles/generated.make Thu Sep 10 09:04:41 2009 -0400 ++++ openjdk/hotspot/make/windows/makefiles/generated.make Sat Sep 12 12:50:07 2009 +0100 @@ -91,7 +91,7 @@ classes/MakeDeps.class: $(MakeDepsSources) if exist classes rmdir /s /q classes @@ -170,8 +170,8 @@ diff -r 682194ca1d8d -r 0fc81f0a8ca8 mak !if ("$(Variant)" == "compiler2") || ("$(Variant)" == "tiered") diff -r 682194ca1d8d -r 0fc81f0a8ca8 make/windows/makefiles/jvmti.make ---- a/make/windows/makefiles/jvmti.make Thu Sep 10 09:04:41 2009 -0400 -+++ b/make/windows/makefiles/jvmti.make Sat Sep 12 12:50:07 2009 +0100 +--- openjdk.orig/hotspot/make/windows/makefiles/jvmti.make Thu Sep 10 09:04:41 2009 -0400 ++++ openjdk/hotspot/make/windows/makefiles/jvmti.make Sat Sep 12 12:50:07 2009 +0100 @@ -68,10 +68,10 @@ @if not exist $(JvmtiOutDir) mkdir $(JvmtiOutDir) @@ -186,8 +186,8 @@ diff -r 682194ca1d8d -r 0fc81f0a8ca8 mak $(JvmtiOutDir)/jvmtiEnter.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnter.xsl @echo Generating $@ diff -r 682194ca1d8d -r 0fc81f0a8ca8 make/windows/makefiles/rules.make ---- a/make/windows/makefiles/rules.make Thu Sep 10 09:04:41 2009 -0400 -+++ b/make/windows/makefiles/rules.make Sat Sep 12 12:50:07 2009 +0100 +--- openjdk.orig/hotspot/make/windows/makefiles/rules.make Thu Sep 10 09:04:41 2009 -0400 ++++ openjdk/hotspot/make/windows/makefiles/rules.make Sat Sep 12 12:50:07 2009 +0100 @@ -29,7 +29,7 @@ RUN_JAVAP=$(BootStrapDir)\bin\javap RUN_JAVAH=$(BootStrapDir)\bin\javah @@ -217,8 +217,8 @@ diff -r 682194ca1d8d -r 0fc81f0a8ca8 mak !if "$(MSC_VER)" == "1200" diff -r 682194ca1d8d -r 0fc81f0a8ca8 make/windows/makefiles/sa.make ---- a/make/windows/makefiles/sa.make Thu Sep 10 09:04:41 2009 -0400 -+++ b/make/windows/makefiles/sa.make Sat Sep 12 12:50:07 2009 +0100 +--- openjdk.orig/hotspot/make/windows/makefiles/sa.make Thu Sep 10 09:04:41 2009 -0400 ++++ openjdk/hotspot/make/windows/makefiles/sa.make Sat Sep 12 12:50:07 2009 +0100 @@ -55,9 +55,9 @@ $(GENERATED)\sa-jdi.jar: $(AGENT_FILES1:/=\) $(AGENT_FILES2:/=\) @if not exist $(SA_CLASSDIR) mkdir $(SA_CLASSDIR) @@ -233,8 +233,8 @@ diff -r 682194ca1d8d -r 0fc81f0a8ca8 mak $(QUIETLY) echo $(SA_BUILD_VERSION_PROP)> $(SA_PROPERTIES) $(QUIETLY) rm -f $(SA_CLASSDIR)/sun/jvm/hotspot/utilities/soql/sa.js diff -r 682194ca1d8d -r 0fc81f0a8ca8 make/windows/projectfiles/common/Makefile ---- a/make/windows/projectfiles/common/Makefile Thu Sep 10 09:04:41 2009 -0400 -+++ b/make/windows/projectfiles/common/Makefile Sat Sep 12 12:50:07 2009 +0100 +--- openjdk.orig/hotspot/make/windows/projectfiles/common/Makefile Thu Sep 10 09:04:41 2009 -0400 ++++ openjdk/hotspot/make/windows/projectfiles/common/Makefile Sat Sep 12 12:50:07 2009 +0100 @@ -179,6 +179,6 @@ $(HOTSPOTBUILDSPACE)/classes/MakeDeps.class: $(MakeDepsSources) @if exist $(HOTSPOTBUILDSPACE)\classes rmdir /s /q $(HOTSPOTBUILDSPACE)\classes diff -r 911fc7449289 -r 924b3dc09a33 patches/security/20100330/6633872.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/security/20100330/6633872.patch Wed Mar 31 01:37:16 2010 +0100 @@ -0,0 +1,443 @@ +--- openjdk.orig/jdk/src/share/classes/java/security/ProtectionDomain.java Mon Mar 15 10:28:30 2010 ++++ openjdk/jdk/src/share/classes/java/security/ProtectionDomain.java Mon Mar 15 10:28:30 2010 +@@ -1,5 +1,5 @@ + /* +- * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. ++ * Copyright 1997-2009 Sun Microsystems, Inc. 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 +@@ -25,9 +25,15 @@ + + package java.security; + ++import java.util.ArrayList; ++import java.util.Collections; + import java.util.Enumeration; + import java.util.List; +-import java.util.ArrayList; ++import java.util.Map; ++import java.util.WeakHashMap; ++import sun.misc.JavaSecurityProtectionDomainAccess; ++import static sun.misc.JavaSecurityProtectionDomainAccess.ProtectionDomainCache; ++import sun.misc.SharedSecrets; + import sun.security.util.Debug; + import sun.security.util.SecurityConstants; + +@@ -72,6 +78,11 @@ + or dynamic (via a policy refresh) */ + private boolean staticPermissions; + ++ /* ++ * An object used as a key when the ProtectionDomain is stored in a Map. ++ */ ++ final Key key = new Key(); ++ + private static final Debug debug = Debug.getInstance("domain"); + + /** +@@ -238,7 +249,7 @@ + /** + * Convert a ProtectionDomain to a String. + */ +- public String toString() { ++ @Override public String toString() { + String pals = ""; + if (principals != null && principals.length > 0) { + StringBuilder palBuf = new StringBuilder("(principals "); +@@ -396,4 +407,29 @@ + + return mergedPerms; + } ++ ++ /** ++ * Used for storing ProtectionDomains as keys in a Map. ++ */ ++ final class Key {} ++ ++ static { ++ SharedSecrets.setJavaSecurityProtectionDomainAccess( ++ new JavaSecurityProtectionDomainAccess() { ++ public ProtectionDomainCache getProtectionDomainCache() { ++ return new ProtectionDomainCache() { ++ private final Map map = ++ Collections.synchronizedMap ++ (new WeakHashMap()); ++ public void put(ProtectionDomain pd, ++ PermissionCollection pc) { ++ map.put((pd == null ? null : pd.key), pc); ++ } ++ public PermissionCollection get(ProtectionDomain pd) { ++ return pd == null ? map.get(null) : map.get(pd.key); ++ } ++ }; ++ } ++ }); ++ } + } +--- openjdk.orig/jdk/src/share/classes/java/security/Policy.java Mon Mar 15 10:28:30 2010 ++++ openjdk/jdk/src/share/classes/java/security/Policy.java Mon Mar 15 10:28:30 2010 +@@ -1,5 +1,5 @@ + /* +- * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. ++ * Copyright 1997-2009 Sun Microsystems, Inc. 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 +@@ -28,22 +28,19 @@ + + import java.io.*; + import java.lang.RuntimePermission; ++import java.lang.reflect.*; + import java.net.MalformedURLException; + import java.net.URL; + import java.util.Enumeration; + import java.util.Hashtable; +-import java.util.Vector; +-import java.util.StringTokenizer; + import java.util.PropertyPermission; +- +-import java.lang.reflect.*; +- ++import java.util.StringTokenizer; ++import java.util.Vector; + import java.util.WeakHashMap; +-import sun.security.util.Debug; + import sun.security.jca.GetInstance; ++import sun.security.util.Debug; + import sun.security.util.SecurityConstants; + +- + /** + * A Policy object is responsible for determining whether code executing + * in the Java runtime environment has permission to perform a +@@ -113,8 +110,8 @@ + + private static final Debug debug = Debug.getInstance("policy"); + +- // Cache mapping ProtectionDomain to PermissionCollection +- private WeakHashMap pdMapping; ++ // Cache mapping ProtectionDomain.Key to PermissionCollection ++ private WeakHashMap pdMapping; + + /** package private for AccessControlContext */ + static boolean isSet() +@@ -307,7 +304,7 @@ + synchronized (p) { + if (p.pdMapping == null) { + p.pdMapping = +- new WeakHashMap(); ++ new WeakHashMap(); + } + } + +@@ -323,7 +320,7 @@ + + synchronized (p.pdMapping) { + // cache of pd to permissions +- p.pdMapping.put(policyDomain, policyPerms); ++ p.pdMapping.put(policyDomain.key, policyPerms); + } + } + return; +@@ -638,7 +635,7 @@ + } + + synchronized (pdMapping) { +- pc = pdMapping.get(domain); ++ pc = pdMapping.get(domain.key); + } + + if (pc != null) { +@@ -697,7 +694,7 @@ + } + + synchronized (pdMapping) { +- pc = pdMapping.get(domain); ++ pc = pdMapping.get(domain.key); + } + + if (pc != null) { +@@ -711,7 +708,7 @@ + + synchronized (pdMapping) { + // cache it +- pdMapping.put(domain, pc); ++ pdMapping.put(domain.key, pc); + } + + return pc.implies(permission); +@@ -747,21 +744,25 @@ + this.params = params; + } + +- public String getType() { return type; } ++ @Override public String getType() { return type; } + +- public Policy.Parameters getParameters() { return params; } ++ @Override public Policy.Parameters getParameters() { return params; } + +- public Provider getProvider() { return p; } ++ @Override public Provider getProvider() { return p; } + ++ @Override + public PermissionCollection getPermissions(CodeSource codesource) { + return spi.engineGetPermissions(codesource); + } ++ @Override + public PermissionCollection getPermissions(ProtectionDomain domain) { + return spi.engineGetPermissions(domain); + } ++ @Override + public boolean implies(ProtectionDomain domain, Permission perm) { + return spi.engineImplies(domain, perm); + } ++ @Override + public void refresh() { + spi.engineRefresh(); + } +@@ -803,7 +804,7 @@ + * @exception SecurityException - if this PermissionCollection object + * has been marked readonly + */ +- public void add(Permission permission) { ++ @Override public void add(Permission permission) { + perms.add(permission); + } + +@@ -816,7 +817,7 @@ + * @return true if "permission" is implied by the permissions in + * the collection, false if not. + */ +- public boolean implies(Permission permission) { ++ @Override public boolean implies(Permission permission) { + return perms.implies(permission); + } + +@@ -826,7 +827,7 @@ + * + * @return an enumeration of all the Permissions. + */ From andrew at icedtea.classpath.org Tue Mar 30 17:49:53 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 31 Mar 2010 00:49:53 +0000 Subject: /hg/release/icedtea6-1.7: 2 new changesets Message-ID: changeset 786e03271cb9 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=786e03271cb9 author: Andrew John Hughes date: Wed Mar 31 01:49:06 2010 +0100 Add security updates. 2009-03-30 Andrew John Hughes * Makefile.am: Add new security patches. * NEWS: List new security patches. * patches/security/20100330/6633872.patch, * patches/security/20100330/6639665.patch, * patches/security/20100330/6736390.patch, * patches/security/20100330/6745393.patch, * patches/security/20100330/6887703.patch, * patches/security/20100330/6888149.patch, * patches/security/20100330/6892265.patch, * patches/security/20100330/6893947.patch, * patches/security/20100330/6893954.patch, * patches/security/20100330/6894807.patch, * patches/security/20100330/6898622.patch, * patches/security/20100330/6898739.patch, * patches/security/20100330/6899653.patch, * patches/security/20100330/6902299.patch, * patches/security/20100330/6904691.patch, * patches/security/20100330/6909597.patch, * patches/security/20100330/6910590.patch, * patches/security/20100330/6914823.patch, * patches/security/20100330/6914866.patch, * patches/security/20100330/6932480.patch, * patches/security/20100330/hotspot/hs16/6626217.patch, * patches/security/20100330/hotspot/original/6626217.patch: New security and hardening patches http://www.oracle.com/technology/deploy/security/critical-patch- updates/javacpumar2010.html changeset 8571317a9879 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=8571317a9879 author: Andrew John Hughes date: Wed Mar 31 01:49:46 2010 +0100 Merge diffstat: 26 files changed, 3703 insertions(+), 2 deletions(-) ChangeLog | 33 Makefile.am | 23 NEWS | 27 acinclude.m4 | 1 patches/security/20100330/6633872.patch | 443 +++++ patches/security/20100330/6639665.patch | 51 patches/security/20100330/6736390.patch | 18 patches/security/20100330/6745393.patch | 1233 ++++++++++++++ patches/security/20100330/6887703.patch | 28 patches/security/20100330/6888149.patch | 33 patches/security/20100330/6892265.patch | 35 patches/security/20100330/6893947.patch | 86 patches/security/20100330/6893954.patch | 248 ++ patches/security/20100330/6894807.patch | 27 patches/security/20100330/6898622.patch | 20 patches/security/20100330/6898739.patch | 437 ++++ patches/security/20100330/6899653.patch | 27 patches/security/20100330/6902299.patch | 104 + patches/security/20100330/6904691.patch | 166 + patches/security/20100330/6909597.patch | 74 patches/security/20100330/6910590.patch | 10 patches/security/20100330/6914823.patch | 80 patches/security/20100330/6914866.patch | 118 + patches/security/20100330/6932480.patch | 43 patches/security/20100330/hotspot/hs16/6626217.patch | 160 + patches/security/20100330/hotspot/original/6626217.patch | 180 ++ diffs (truncated from 3827 to 500 lines): diff -r 6bd87ceec77a -r 8571317a9879 ChangeLog --- a/ChangeLog Thu Mar 18 18:43:01 2010 +0000 +++ b/ChangeLog Wed Mar 31 01:49:46 2010 +0100 @@ -1,3 +1,36 @@ 2010-03-18 Pavel Tisnovsky + + * acinclude.m4 (ENABLE_ZERO_BUILD): Depend on SET_ARCH_DIRS. + +2010-03-30 Andrew John Hughes + + * Makefile.am: Add new security patches. + * NEWS: List new security patches. + * patches/security/20100330/6633872.patch, + * patches/security/20100330/6639665.patch, + * patches/security/20100330/6736390.patch, + * patches/security/20100330/6745393.patch, + * patches/security/20100330/6887703.patch, + * patches/security/20100330/6888149.patch, + * patches/security/20100330/6892265.patch, + * patches/security/20100330/6893947.patch, + * patches/security/20100330/6893954.patch, + * patches/security/20100330/6894807.patch, + * patches/security/20100330/6898622.patch, + * patches/security/20100330/6898739.patch, + * patches/security/20100330/6899653.patch, + * patches/security/20100330/6902299.patch, + * patches/security/20100330/6904691.patch, + * patches/security/20100330/6909597.patch, + * patches/security/20100330/6910590.patch, + * patches/security/20100330/6914823.patch, + * patches/security/20100330/6914866.patch, + * patches/security/20100330/6932480.patch, + * patches/security/20100330/hotspot/hs16/6626217.patch, + * patches/security/20100330/hotspot/original/6626217.patch: + New security and hardening patches + http://www.oracle.com/technology/deploy/security/critical-patch-updates/javacpumar2010.html + 2010-03-18 Pavel Tisnovsky * patches/icedtea-jtreg-httpTest.patch: new regression test diff -r 6bd87ceec77a -r 8571317a9879 Makefile.am --- a/Makefile.am Thu Mar 18 18:43:01 2010 +0000 +++ b/Makefile.am Wed Mar 31 01:49:46 2010 +0100 @@ -310,7 +310,28 @@ ICEDTEA_PATCHES = \ patches/icedtea-parisc.patch \ patches/icedtea-sh4-support.patch \ patches/libpng.patch \ - patches/icedtea-jtreg-httpTest.patch + patches/icedtea-jtreg-httpTest.patch \ + patches/security/20100330/hotspot/$(HSBUILD)/6626217.patch \ + patches/security/20100330/6633872.patch \ + patches/security/20100330/6639665.patch \ + patches/security/20100330/6736390.patch \ + patches/security/20100330/6745393.patch \ + patches/security/20100330/6887703.patch \ + patches/security/20100330/6888149.patch \ + patches/security/20100330/6892265.patch \ + patches/security/20100330/6893947.patch \ + patches/security/20100330/6893954.patch \ + patches/security/20100330/6894807.patch \ + patches/security/20100330/6898622.patch \ + patches/security/20100330/6898739.patch \ + patches/security/20100330/6899653.patch \ + patches/security/20100330/6902299.patch \ + patches/security/20100330/6904691.patch \ + patches/security/20100330/6909597.patch \ + patches/security/20100330/6910590.patch \ + patches/security/20100330/6914823.patch \ + patches/security/20100330/6914866.patch \ + patches/security/20100330/6932480.patch if WITH_RHINO ICEDTEA_PATCHES += \ diff -r 6bd87ceec77a -r 8571317a9879 NEWS --- a/NEWS Thu Mar 18 18:43:01 2010 +0000 +++ b/NEWS Wed Mar 31 01:49:46 2010 +0100 @@ -1,4 +1,29 @@ New in release 1.7 (2010-02-26): -New in release 1.7 (2010-02-26): +New in release 1.7.2 (2010-03-30): + +- Latest security updates and hardening patches: + - (CVE-2010-0837): JAR "unpack200" must verify input parameters (6902299) + - (CVE-2010-0845): No ClassCastException for HashAttributeSet constructors if run with -Xcomp (6894807) + - (CVE-2010-0838): CMM readMabCurveData Buffer Overflow Vulnerability (6899653) + - (CVE-2010-0082): Loader-constraint table allows arrays instead of only the base-classes (6626217) + - (CVE-2010-0095): Subclasses of InetAddress may incorrectly interpret network addresses (6893954) + - (CVE-2010-0085): File TOCTOU deserialization vulnerability (6736390) + - (CVE-2010-0091): Unsigned applet can retrieve the dragged information before drop action occurs (6887703) + - (CVE-2010-0088): Inflater/Deflater clone issues (6745393) + - (CVE-2010-0084): Policy/PolicyFile leak dynamic ProtectionDomains. (6633872) + - (CVE-2010-0092): AtomicReferenceArray causes SIGSEGV -> SEGV_MAPERR error (6888149) + - (CVE-2010-0094): Deserialization of RMIConnectionImpl objects should enforce stricter checks (6893947) + - (CVE-2010-0093): System.arraycopy unable to reference elements beyond Integer.MAX_VALUE bytes (6892265) + - (CVE-2010-0840): Applet Trusted Methods Chaining Privilege Escalation Vulnerability (6904691) + - (CVE-2010-0848): AWT Library Invalid Index Vulnerability (6914823) + - (CVE-2010-0847): ImagingLib arbitrary code execution vulnerability (6914866) + - (CVE-2009-3555): TLS: MITM attacks via session renegotiation + - 6639665: ThreadGroup finalizer allows creation of false root ThreadGroups + - 6898622: ObjectIdentifer.equals is not capable of detecting incorrectly encoded CommonName OIDs + - 6910590: Application can modify command array in ProcessBuilder + - 6909597: JPEGImageReader stepX Integer Overflow Vulnerability + - 6932480: Crash in CompilerThread/Parser. Unloaded array klass? + +New in release 1.7.1 (2010-02-26): Bug fixes - PR179: Rhino bootclasspath issue diff -r 6bd87ceec77a -r 8571317a9879 acinclude.m4 --- a/acinclude.m4 Thu Mar 18 18:43:01 2010 +0000 +++ b/acinclude.m4 Wed Mar 31 01:49:46 2010 +0100 @@ -698,6 +698,7 @@ AC_DEFUN([FIND_TOOL], AC_DEFUN([ENABLE_ZERO_BUILD], [ + AC_REQUIRE([SET_ARCH_DIRS]) AC_MSG_CHECKING([whether to use the zero-assembler port]) use_zero=no AC_ARG_ENABLE([zero], diff -r 6bd87ceec77a -r 8571317a9879 patches/security/20100330/6633872.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/security/20100330/6633872.patch Wed Mar 31 01:49:46 2010 +0100 @@ -0,0 +1,443 @@ +--- openjdk.orig/jdk/src/share/classes/java/security/ProtectionDomain.java Mon Mar 15 10:28:30 2010 ++++ openjdk/jdk/src/share/classes/java/security/ProtectionDomain.java Mon Mar 15 10:28:30 2010 +@@ -1,5 +1,5 @@ + /* +- * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. ++ * Copyright 1997-2009 Sun Microsystems, Inc. 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 +@@ -25,9 +25,15 @@ + + package java.security; + ++import java.util.ArrayList; ++import java.util.Collections; + import java.util.Enumeration; + import java.util.List; +-import java.util.ArrayList; ++import java.util.Map; ++import java.util.WeakHashMap; ++import sun.misc.JavaSecurityProtectionDomainAccess; ++import static sun.misc.JavaSecurityProtectionDomainAccess.ProtectionDomainCache; ++import sun.misc.SharedSecrets; + import sun.security.util.Debug; + import sun.security.util.SecurityConstants; + +@@ -72,6 +78,11 @@ + or dynamic (via a policy refresh) */ + private boolean staticPermissions; + ++ /* ++ * An object used as a key when the ProtectionDomain is stored in a Map. ++ */ ++ final Key key = new Key(); ++ + private static final Debug debug = Debug.getInstance("domain"); + + /** +@@ -238,7 +249,7 @@ + /** + * Convert a ProtectionDomain to a String. + */ +- public String toString() { ++ @Override public String toString() { + String pals = ""; + if (principals != null && principals.length > 0) { + StringBuilder palBuf = new StringBuilder("(principals "); +@@ -396,4 +407,29 @@ + + return mergedPerms; + } ++ ++ /** ++ * Used for storing ProtectionDomains as keys in a Map. ++ */ ++ final class Key {} ++ ++ static { ++ SharedSecrets.setJavaSecurityProtectionDomainAccess( ++ new JavaSecurityProtectionDomainAccess() { ++ public ProtectionDomainCache getProtectionDomainCache() { ++ return new ProtectionDomainCache() { ++ private final Map map = ++ Collections.synchronizedMap ++ (new WeakHashMap()); ++ public void put(ProtectionDomain pd, ++ PermissionCollection pc) { ++ map.put((pd == null ? null : pd.key), pc); ++ } ++ public PermissionCollection get(ProtectionDomain pd) { ++ return pd == null ? map.get(null) : map.get(pd.key); ++ } ++ }; ++ } ++ }); ++ } + } +--- openjdk.orig/jdk/src/share/classes/java/security/Policy.java Mon Mar 15 10:28:30 2010 ++++ openjdk/jdk/src/share/classes/java/security/Policy.java Mon Mar 15 10:28:30 2010 +@@ -1,5 +1,5 @@ + /* +- * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. ++ * Copyright 1997-2009 Sun Microsystems, Inc. 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 +@@ -28,22 +28,19 @@ + + import java.io.*; + import java.lang.RuntimePermission; ++import java.lang.reflect.*; + import java.net.MalformedURLException; + import java.net.URL; + import java.util.Enumeration; + import java.util.Hashtable; +-import java.util.Vector; +-import java.util.StringTokenizer; + import java.util.PropertyPermission; +- +-import java.lang.reflect.*; +- ++import java.util.StringTokenizer; ++import java.util.Vector; + import java.util.WeakHashMap; +-import sun.security.util.Debug; + import sun.security.jca.GetInstance; ++import sun.security.util.Debug; + import sun.security.util.SecurityConstants; + +- + /** + * A Policy object is responsible for determining whether code executing + * in the Java runtime environment has permission to perform a +@@ -113,8 +110,8 @@ + + private static final Debug debug = Debug.getInstance("policy"); + +- // Cache mapping ProtectionDomain to PermissionCollection +- private WeakHashMap pdMapping; ++ // Cache mapping ProtectionDomain.Key to PermissionCollection ++ private WeakHashMap pdMapping; + + /** package private for AccessControlContext */ + static boolean isSet() +@@ -307,7 +304,7 @@ + synchronized (p) { + if (p.pdMapping == null) { + p.pdMapping = +- new WeakHashMap(); ++ new WeakHashMap(); + } + } + +@@ -323,7 +320,7 @@ + + synchronized (p.pdMapping) { + // cache of pd to permissions +- p.pdMapping.put(policyDomain, policyPerms); ++ p.pdMapping.put(policyDomain.key, policyPerms); + } + } + return; +@@ -638,7 +635,7 @@ + } + + synchronized (pdMapping) { +- pc = pdMapping.get(domain); ++ pc = pdMapping.get(domain.key); + } + + if (pc != null) { +@@ -697,7 +694,7 @@ + } + + synchronized (pdMapping) { +- pc = pdMapping.get(domain); ++ pc = pdMapping.get(domain.key); + } + + if (pc != null) { +@@ -711,7 +708,7 @@ + + synchronized (pdMapping) { + // cache it +- pdMapping.put(domain, pc); ++ pdMapping.put(domain.key, pc); + } + + return pc.implies(permission); +@@ -747,21 +744,25 @@ + this.params = params; + } + +- public String getType() { return type; } ++ @Override public String getType() { return type; } + +- public Policy.Parameters getParameters() { return params; } ++ @Override public Policy.Parameters getParameters() { return params; } + +- public Provider getProvider() { return p; } ++ @Override public Provider getProvider() { return p; } + ++ @Override + public PermissionCollection getPermissions(CodeSource codesource) { + return spi.engineGetPermissions(codesource); + } ++ @Override + public PermissionCollection getPermissions(ProtectionDomain domain) { + return spi.engineGetPermissions(domain); + } ++ @Override + public boolean implies(ProtectionDomain domain, Permission perm) { + return spi.engineImplies(domain, perm); + } ++ @Override + public void refresh() { + spi.engineRefresh(); + } +@@ -803,7 +804,7 @@ + * @exception SecurityException - if this PermissionCollection object + * has been marked readonly + */ +- public void add(Permission permission) { ++ @Override public void add(Permission permission) { + perms.add(permission); + } + +@@ -816,7 +817,7 @@ + * @return true if "permission" is implied by the permissions in + * the collection, false if not. + */ +- public boolean implies(Permission permission) { ++ @Override public boolean implies(Permission permission) { + return perms.implies(permission); + } + +@@ -826,7 +827,7 @@ + * + * @return an enumeration of all the Permissions. + */ +- public Enumeration elements() { ++ @Override public Enumeration elements() { + return perms.elements(); + } + } +--- openjdk.orig/jdk/src/share/classes/sun/misc/SharedSecrets.java Mon Mar 15 10:28:31 2010 ++++ openjdk/jdk/src/share/classes/sun/misc/SharedSecrets.java Mon Mar 15 10:28:30 2010 +@@ -1,5 +1,5 @@ + /* +- * Copyright 2002-2007 Sun Microsystems, Inc. All Rights Reserved. ++ * Copyright 2002-2009 Sun Microsystems, Inc. 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 +@@ -47,6 +47,7 @@ + private static JavaIODeleteOnExitAccess javaIODeleteOnExitAccess; + private static JavaNetAccess javaNetAccess; + private static JavaIOFileDescriptorAccess javaIOFileDescriptorAccess; ++ private static JavaSecurityProtectionDomainAccess javaSecurityProtectionDomainAccess; + + public static JavaUtilJarAccess javaUtilJarAccess() { + if (javaUtilJarAccess == null) { +@@ -110,4 +111,16 @@ + return javaIOFileDescriptorAccess; + } + ++ public static void setJavaSecurityProtectionDomainAccess ++ (JavaSecurityProtectionDomainAccess jspda) { ++ javaSecurityProtectionDomainAccess = jspda; ++ } ++ ++ public static JavaSecurityProtectionDomainAccess ++ getJavaSecurityProtectionDomainAccess() { ++ if (javaSecurityProtectionDomainAccess == null) ++ unsafe.ensureClassInitialized(java.security.ProtectionDomain.class); ++ ++ return javaSecurityProtectionDomainAccess; ++ } + } +--- /dev/null Mon Mar 15 10:28:31 2010 ++++ openjdk/jdk/src/share/classes/sun/misc/JavaSecurityProtectionDomainAccess.java Mon Mar 15 10:28:31 2010 +@@ -0,0 +1,40 @@ ++/* ++ * Copyright 2009 Sun Microsystems, Inc. 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 ++ * under the terms of the GNU General Public License version 2 only, as ++ * published by the Free Software Foundation. Sun designates this ++ * particular file as subject to the "Classpath" exception as provided ++ * by Sun in the LICENSE file that accompanied this code. ++ * ++ * This code is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ++ * version 2 for more details (a copy is included in the LICENSE file that ++ * accompanied this code). ++ * ++ * You should have received a copy of the GNU General Public License version ++ * 2 along with this work; if not, write to the Free Software Foundation, ++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. ++ * ++ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ++ * CA 95054 USA or visit www.sun.com if you need additional information or ++ * have any questions. ++ */ ++ ++package sun.misc; ++ ++import java.security.PermissionCollection; ++import java.security.ProtectionDomain; ++ ++public interface JavaSecurityProtectionDomainAccess { ++ interface ProtectionDomainCache { ++ void put(ProtectionDomain pd, PermissionCollection pc); ++ PermissionCollection get(ProtectionDomain pd); ++ } ++ /** ++ * Returns the ProtectionDomainCache. ++ */ ++ ProtectionDomainCache getProtectionDomainCache(); ++} +--- openjdk.orig/jdk/src/share/classes/sun/security/provider/PolicyFile.java Mon Mar 15 10:28:31 2010 ++++ openjdk/jdk/src/share/classes/sun/security/provider/PolicyFile.java Mon Mar 15 10:28:31 2010 +@@ -1,5 +1,5 @@ + /* +- * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. ++ * Copyright 1997-2009 Sun Microsystems, Inc. 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 +@@ -66,6 +66,9 @@ + import javax.sound.sampled.AudioPermission; + import javax.net.ssl.SSLPermission; + */ ++import sun.misc.JavaSecurityProtectionDomainAccess; ++import static sun.misc.JavaSecurityProtectionDomainAccess.ProtectionDomainCache; ++import sun.misc.SharedSecrets; + import sun.security.util.Password; + import sun.security.util.PolicyUtil; + import sun.security.util.PropertyExpander; +@@ -1108,7 +1111,7 @@ + /** + * Refreshes the policy object by re-reading all the policy files. + */ +- public void refresh() { ++ @Override public void refresh() { + init(url); + } + +@@ -1125,9 +1128,10 @@ + * + * @see java.security.ProtectionDomain + */ ++ @Override + public boolean implies(ProtectionDomain pd, Permission p) { + PolicyInfo pi = policyInfo.get(); +- Map pdMap = pi.getPdMapping(); ++ ProtectionDomainCache pdMap = pi.getPdMapping(); + + PermissionCollection pc = pdMap.get(pd); + +@@ -1173,6 +1177,7 @@ + * @return the Permissions granted to the provided + * ProtectionDomain. + */ ++ @Override + public PermissionCollection getPermissions(ProtectionDomain domain) { + Permissions perms = new Permissions(); + +@@ -1208,6 +1213,7 @@ + * + * @return the set of permissions according to the policy. + */ ++ @Override + public PermissionCollection getPermissions(CodeSource codesource) { + return getPermissions(new Permissions(), codesource); + } +@@ -2200,7 +2206,7 @@ + return codesource; + } + +- public String toString(){ ++ @Override public String toString(){ + StringBuilder sb = new StringBuilder(); + sb.append(ResourcesMgr.getString("(")); + sb.append(getCodeSource()); +@@ -2336,7 +2342,7 @@ + * + * @return false. + */ +- public boolean implies(Permission p) { ++ @Override public boolean implies(Permission p) { + return false; + } + +@@ -2353,7 +2359,7 @@ + * type (class) name, permission name, actions, and From andrew at icedtea.classpath.org Tue Mar 30 17:57:48 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 31 Mar 2010 00:57:48 +0000 Subject: /hg/release/icedtea6-1.7: 2 new changesets Message-ID: changeset 156b7d4d4ad3 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=156b7d4d4ad3 author: Andrew John Hughes date: Wed Mar 31 01:56:42 2010 +0100 Update NEWS for 1.7.2. 2010-03-30 Andrew John Hughes * NEWS: Update with other 1.7.2 fixes. changeset 6e9e64c22c96 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=6e9e64c22c96 author: Andrew John Hughes date: Wed Mar 31 01:57:36 2010 +0100 Bump to 1.7.2. 2010-03-31 Andrew John Hughes * configure.ac: Bump version to 1.7.2. * NEWS: Bump date of 1.7.2 release. diffstat: 3 files changed, 15 insertions(+), 2 deletions(-) ChangeLog | 9 +++++++++ NEWS | 6 +++++- configure.ac | 2 +- diffs (45 lines): diff -r 8571317a9879 -r 6e9e64c22c96 ChangeLog --- a/ChangeLog Wed Mar 31 01:49:46 2010 +0100 +++ b/ChangeLog Wed Mar 31 01:57:36 2010 +0100 @@ -1,3 +1,12 @@ 2010-03-31 Matthias Klose + + * configure.ac: Bump version to 1.7.2. + * NEWS: Bump date of 1.7.2 release. + +2010-03-31 Andrew John Hughes + + * NEWS: Update with other 1.7.2 fixes. + 2010-03-31 Matthias Klose * acinclude.m4 (ENABLE_ZERO_BUILD): Depend on SET_ARCH_DIRS. diff -r 8571317a9879 -r 6e9e64c22c96 NEWS --- a/NEWS Wed Mar 31 01:49:46 2010 +0100 +++ b/NEWS Wed Mar 31 01:57:36 2010 +0100 @@ -1,4 +1,4 @@ New in release 1.7.2 (2010-03-30): -New in release 1.7.2 (2010-03-30): +New in release 1.7.2 (2010-03-31): - Latest security updates and hardening patches: - (CVE-2010-0837): JAR "unpack200" must verify input parameters (6902299) @@ -22,6 +22,10 @@ New in release 1.7.2 (2010-03-30): - 6910590: Application can modify command array in ProcessBuilder - 6909597: JPEGImageReader stepX Integer Overflow Vulnerability - 6932480: Crash in CompilerThread/Parser. Unloaded array klass? +- Backport of 6822370: + ReentrantReadWriteLock: threads hung when there are no threads holding onto the lock +- Increase ThreadStackSize by 512kb on 32-bit Zero platforms +- Check cacerts database is valid New in release 1.7.1 (2010-02-26): diff -r 8571317a9879 -r 6e9e64c22c96 configure.ac --- a/configure.ac Wed Mar 31 01:49:46 2010 +0100 +++ b/configure.ac Wed Mar 31 01:57:36 2010 +0100 @@ -1,4 +1,4 @@ AC_INIT([icedtea6], [1.7.1], [distro-pkg -AC_INIT([icedtea6], [1.7.1], [distro-pkg-dev at openjdk.java.net]) +AC_INIT([icedtea6], [1.7.2], [distro-pkg-dev at openjdk.java.net]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) AC_CONFIG_FILES([Makefile]) From doko at icedtea.classpath.org Tue Mar 30 18:05:35 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Wed, 31 Mar 2010 01:05:35 +0000 Subject: /hg/release/icedtea6-1.8: Fix for fast bytecode in cpp interpreter Message-ID: changeset 6c90850063a6 in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=6c90850063a6 author: doko at ubuntu.com date: Wed Mar 31 02:41:55 2010 +0200 Fix for fast bytecode in cpp interpreter diffstat: 3 files changed, 20 insertions(+) ChangeLog | 4 ++++ Makefile.am | 1 + patches/zero/cppInterpreter-fast-bytecodes.patch | 15 +++++++++++++++ diffs (41 lines): diff -r e3d17434ea31 -r 6c90850063a6 ChangeLog --- a/ChangeLog Wed Mar 31 01:53:39 2010 +0200 +++ b/ChangeLog Wed Mar 31 02:41:55 2010 +0200 @@ -1,3 +1,7 @@ 2010-03-31 Matthias Klose + + * bytecodeInterpreter.cpp Fix to support fast bytecodes + 2010-03-31 Matthias Klose * acinclude.m4 (ENABLE_ZERO_BUILD): Depend on IT_SET_ARCH_SETTINGS. diff -r e3d17434ea31 -r 6c90850063a6 Makefile.am --- a/Makefile.am Wed Mar 31 01:53:39 2010 +0200 +++ b/Makefile.am Wed Mar 31 02:41:55 2010 +0200 @@ -220,6 +220,7 @@ ICEDTEA_PATCHES = \ patches/zero/6909153.patch \ patches/zero/6913869.patch \ patches/zero/6914622.patch \ + patches/zero/cppInterpreter-fast-bytecodes.patch \ patches/icedtea-notice-safepoints.patch \ patches/icedtea-parisc-opt.patch \ patches/icedtea-lucene-crash.patch \ diff -r e3d17434ea31 -r 6c90850063a6 patches/zero/cppInterpreter-fast-bytecodes.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/zero/cppInterpreter-fast-bytecodes.patch Wed Mar 31 02:41:55 2010 +0200 @@ -0,0 +1,15 @@ +Index: openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp +=================================================================== +--- openjdk.orig/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp 2010-03-19 10:35:14.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp 2010-03-19 10:39:01.000000000 +0100 +@@ -2328,6 +2328,10 @@ + } + + DEFAULT: ++ if (Bytecodes::is_defined((Bytecodes::Code)opcode)) { ++ opcode = (jubyte)Bytecodes::java_code((Bytecodes::Code)opcode); ++ goto opcode_switch; ++ } + fatal2("\t*** Unimplemented opcode: %d = %s\n", + opcode, Bytecodes::name((Bytecodes::Code)opcode)); + goto finish; From ahughes at redhat.com Tue Mar 30 18:09:39 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Wed, 31 Mar 2010 01:09:39 +0000 Subject: /hg/release/icedtea6-1.8: Fix for fast bytecode in cpp interpreter In-Reply-To: References: Message-ID: <17c6771e1003301809w6746657an2519738005cf4d2d@mail.gmail.com> On 31 March 2010 01:05, wrote: > changeset 6c90850063a6 in /hg/release/icedtea6-1.8 > details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=6c90850063a6 > author: doko at ubuntu.com > date: Wed Mar 31 02:41:55 2010 +0200 > > ? ? ? ?Fix for fast bytecode in cpp interpreter > > > diffstat: > > 3 files changed, 20 insertions(+) > ChangeLog ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? ?4 ++++ > Makefile.am ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? ?1 + > patches/zero/cppInterpreter-fast-bytecodes.patch | ? 15 +++++++++++++++ > > diffs (41 lines): > > diff -r e3d17434ea31 -r 6c90850063a6 ChangeLog > --- a/ChangeLog Wed Mar 31 01:53:39 2010 +0200 > +++ b/ChangeLog Wed Mar 31 02:41:55 2010 +0200 > @@ -1,3 +1,7 @@ 2010-03-31 ?Matthias Klose ? +2010-03-30 ?Edward Nevill ? > + > + ? ? ? * bytecodeInterpreter.cpp Fix to support fast bytecodes > + > ?2010-03-31 ?Matthias Klose ? > > ? ? ? ?* acinclude.m4 (ENABLE_ZERO_BUILD): Depend on IT_SET_ARCH_SETTINGS. > diff -r e3d17434ea31 -r 6c90850063a6 Makefile.am > --- a/Makefile.am ? ? ? Wed Mar 31 01:53:39 2010 +0200 > +++ b/Makefile.am ? ? ? Wed Mar 31 02:41:55 2010 +0200 > @@ -220,6 +220,7 @@ ICEDTEA_PATCHES = \ > ? ? ? ?patches/zero/6909153.patch \ > ? ? ? ?patches/zero/6913869.patch \ > ? ? ? ?patches/zero/6914622.patch \ > + ? ? ? patches/zero/cppInterpreter-fast-bytecodes.patch \ > ? ? ? ?patches/icedtea-notice-safepoints.patch \ > ? ? ? ?patches/icedtea-parisc-opt.patch \ > ? ? ? ?patches/icedtea-lucene-crash.patch \ > diff -r e3d17434ea31 -r 6c90850063a6 patches/zero/cppInterpreter-fast-bytecodes.patch > --- /dev/null ? Thu Jan 01 00:00:00 1970 +0000 > +++ b/patches/zero/cppInterpreter-fast-bytecodes.patch ?Wed Mar 31 02:41:55 2010 +0200 > @@ -0,0 +1,15 @@ > +Index: openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp > +=================================================================== > +--- openjdk.orig/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp ? ? ?2010-03-19 10:35:14.000000000 +0100 > ++++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp ? 2010-03-19 10:39:01.000000000 +0100 > +@@ -2328,6 +2328,10 @@ > + ? ? ? } > + > + ? ? ? DEFAULT: > ++ ? ? ? ? if (Bytecodes::is_defined((Bytecodes::Code)opcode)) { > ++ ? ? ? ? ? opcode = (jubyte)Bytecodes::java_code((Bytecodes::Code)opcode); > ++ ? ? ? ? ? goto opcode_switch; > ++ ? ? ? ? } > + ? ? ? ? ? fatal2("\t*** Unimplemented opcode: %d = %s\n", > + ? ? ? ? ? ? ? ? ?opcode, Bytecodes::name((Bytecodes::Code)opcode)); > + ? ? ? ? ? goto finish; > I didn't see any review of this for HEAD, never mind for the branch. THe HotSpot team suggested it may cause a performance deficit: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2010-March/002967.html -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From andrew at icedtea.classpath.org Tue Mar 30 18:17:29 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 31 Mar 2010 01:17:29 +0000 Subject: /hg/release/icedtea6-1.8: Fix hs16 build with new security patches. Message-ID: changeset 5131198fdc3e in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=5131198fdc3e author: Andrew John Hughes date: Wed Mar 31 02:17:13 2010 +0100 Fix hs16 build with new security patches. 2009-03-31 Andrew John Hughes * patches/security/20100330/6626217.patch, * patches/security/20100330/hotspot/hs16/6626217.patch, * patches/security/20100330/hotspot/original/6626217.patch: Split 6626217 into hs14 and hs16 versions. * Makefile.am: Use $(HSBUILD) appropriately. * patches/security/20100330/6894807.patch, * patches/security/20100330/hotspot/hs16/6894807.patch, * patches/security/20100330/hotspot/original/6894807.patch: Move 6894807 patch to top-level; same for both hs14 and hs16. diffstat: 8 files changed, 381 insertions(+), 324 deletions(-) ChangeLog | 12 Makefile.am | 4 patches/security/20100330/6626217.patch | 180 -------------- patches/security/20100330/6894807.patch | 27 ++ patches/security/20100330/hotspot/hs16/6626217.patch | 160 ++++++++++++ patches/security/20100330/hotspot/hs16/6894807.patch | 115 -------- patches/security/20100330/hotspot/original/6626217.patch | 180 ++++++++++++++ patches/security/20100330/hotspot/original/6894807.patch | 27 -- diffs (truncated from 753 to 500 lines): diff -r 6c90850063a6 -r 5131198fdc3e ChangeLog --- a/ChangeLog Wed Mar 31 02:41:55 2010 +0200 +++ b/ChangeLog Wed Mar 31 02:17:13 2010 +0100 @@ -1,3 +1,15 @@ 2010-03-30 Edward Nevill + + * patches/security/20100330/6626217.patch, + * patches/security/20100330/hotspot/hs16/6626217.patch, + * patches/security/20100330/hotspot/original/6626217.patch: + Split 6626217 into hs14 and hs16 versions. + * Makefile.am: Use $(HSBUILD) appropriately. + * patches/security/20100330/6894807.patch, + * patches/security/20100330/hotspot/hs16/6894807.patch, + * patches/security/20100330/hotspot/original/6894807.patch: + Move 6894807 patch to top-level; same for both hs14 and hs16. + 2010-03-30 Edward Nevill * bytecodeInterpreter.cpp Fix to support fast bytecodes diff -r 6c90850063a6 -r 5131198fdc3e Makefile.am --- a/Makefile.am Wed Mar 31 02:41:55 2010 +0200 +++ b/Makefile.am Wed Mar 31 02:17:13 2010 +0100 @@ -301,7 +301,7 @@ ICEDTEA_PATCHES = \ patches/extensions/netx-dist.patch \ patches/extensions/netx-umask.patch \ patches/icedtea-jtreg-httpTest.patch \ - patches/security/20100330/6626217.patch \ + patches/security/20100330/hotspot/$(HSBUILD)/6626217.patch \ patches/security/20100330/6633872.patch \ patches/security/20100330/6639665.patch \ patches/security/20100330/6736390.patch \ @@ -311,7 +311,7 @@ ICEDTEA_PATCHES = \ patches/security/20100330/6892265.patch \ patches/security/20100330/6893947.patch \ patches/security/20100330/6893954.patch \ - patches/security/20100330/hotspot/$(HSBUILD)/6894807.patch \ + patches/security/20100330/6894807.patch \ patches/security/20100330/6898622.patch \ patches/security/20100330/6898739.patch \ patches/security/20100330/6899653.patch \ diff -r 6c90850063a6 -r 5131198fdc3e patches/security/20100330/6626217.patch --- a/patches/security/20100330/6626217.patch Wed Mar 31 02:41:55 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,180 +0,0 @@ -# HG changeset patch -# User acorn -# Date 1261523209 18000 -# Node ID 209a7a8a8f966dc4d6b45333cf4f3fa6648a6ecb -# Parent 75e095764f403b7425e30711b00cc038554a1ae9 -6626217: Fixed loader constraint array handling -Summary: Loader constraints track array elements, not arrays themselves. -Reviewed-by: dcubed, kevinw - -diff --git openjdk.orig/hotspot/src/share/vm/ci/ciEnv.cpp openjdk/hotspot/src/share/vm/ci/ciEnv.cpp ---- openjdk.orig/hotspot/src/share/vm/ci/ciEnv.cpp -+++ openjdk/hotspot/src/share/vm/ci/ciEnv.cpp -@@ -348,30 +348,6 @@ ciKlass* ciEnv::get_klass_by_name_impl(c - if (found_klass != NULL) { - // Found it. Build a CI handle. - return get_object(found_klass)->as_klass(); -- } -- -- // If we fail to find an array klass, look again for its element type. -- // The element type may be available either locally or via constraints. -- // In either case, if we can find the element type in the system dictionary, -- // we must build an array type around it. The CI requires array klasses -- // to be loaded if their element klasses are loaded, except when memory -- // is exhausted. -- if (sym->byte_at(0) == '[' && -- (sym->byte_at(1) == '[' || sym->byte_at(1) == 'L')) { -- // We have an unloaded array. -- // Build it on the fly if the element class exists. -- symbolOop elem_sym = oopFactory::new_symbol(sym->as_utf8()+1, -- sym->utf8_length()-1, -- KILL_COMPILE_ON_FATAL_(fail_type)); -- // Get element ciKlass recursively. -- ciKlass* elem_klass = -- get_klass_by_name_impl(accessing_klass, -- get_object(elem_sym)->as_symbol(), -- require_local); -- if (elem_klass != NULL && elem_klass->is_loaded()) { -- // Now make an array for it -- return ciObjArrayKlass::make_impl(elem_klass); -- } - } - - if (require_local) return NULL; -diff --git openjdk.orig/hotspot/src/share/vm/classfile/loaderConstraints.cpp openjdk/hotspot/src/share/vm/classfile/loaderConstraints.cpp ---- openjdk.orig/hotspot/src/share/vm/classfile/loaderConstraints.cpp -+++ openjdk/hotspot/src/share/vm/classfile/loaderConstraints.cpp -@@ -338,32 +338,6 @@ klassOop LoaderConstraintTable::find_con - } - - --klassOop LoaderConstraintTable::find_constrained_elem_klass(symbolHandle name, -- symbolHandle elem_name, -- Handle loader, -- TRAPS) { -- LoaderConstraintEntry *p = *(find_loader_constraint(name, loader)); -- if (p != NULL) { -- assert(p->klass() == NULL, "Expecting null array klass"); -- -- // The array name has a constraint, but it will not have a class. Check -- // each loader for an associated elem -- for (int i = 0; i < p->num_loaders(); i++) { -- Handle no_protection_domain; -- -- klassOop k = SystemDictionary::find(elem_name, p->loader(i), no_protection_domain, THREAD); -- if (k != NULL) { -- // Return the first elem klass found. -- return k; -- } -- } -- } -- -- // No constraints, or else no klass loaded yet. -- return NULL; --} -- -- - void LoaderConstraintTable::ensure_loader_constraint_capacity( - LoaderConstraintEntry *p, - int nfree) { -diff --git openjdk.orig/hotspot/src/share/vm/classfile/loaderConstraints.hpp openjdk/hotspot/src/share/vm/classfile/loaderConstraints.hpp ---- openjdk.orig/hotspot/src/share/vm/classfile/loaderConstraints.hpp -+++ openjdk/hotspot/src/share/vm/classfile/loaderConstraints.hpp -@@ -67,9 +67,6 @@ public: - Handle loader2, bool is_method, TRAPS); - - klassOop find_constrained_klass(symbolHandle name, Handle loader); -- klassOop find_constrained_elem_klass(symbolHandle name, symbolHandle elem_name, -- Handle loader, TRAPS); -- - - // Class loader constraints - -diff --git openjdk.orig/hotspot/src/share/vm/classfile/systemDictionary.cpp openjdk/hotspot/src/share/vm/classfile/systemDictionary.cpp ---- openjdk.orig/hotspot/src/share/vm/classfile/systemDictionary.cpp -+++ openjdk/hotspot/src/share/vm/classfile/systemDictionary.cpp -@@ -2113,9 +2113,8 @@ klassOop SystemDictionary::find_constrai - // a loader constraint that would require this loader to return the - // klass that is already loaded. - if (FieldType::is_array(class_name())) { -- // Array classes are hard because their klassOops are not kept in the -- // constraint table. The array klass may be constrained, but the elem class -- // may not be. -+ // For array classes, their klassOops are not kept in the -+ // constraint table. The element klassOops are. - jint dimension; - symbolOop object_key; - BasicType t = FieldType::get_array_info(class_name(), &dimension, -@@ -2125,8 +2124,9 @@ klassOop SystemDictionary::find_constrai - } else { - symbolHandle elem_name(THREAD, object_key); - MutexLocker mu(SystemDictionary_lock, THREAD); -- klass = constraints()->find_constrained_elem_klass(class_name, elem_name, class_loader, THREAD); -+ klass = constraints()->find_constrained_klass(elem_name, class_loader); - } -+ // If element class already loaded, allocate array klass - if (klass != NULL) { - klass = Klass::cast(klass)->array_klass_or_null(dimension); - } -@@ -2142,24 +2142,40 @@ klassOop SystemDictionary::find_constrai - - bool SystemDictionary::add_loader_constraint(symbolHandle class_name, - Handle class_loader1, -- Handle class_loader2, -- Thread* THREAD) { -- unsigned int d_hash1 = dictionary()->compute_hash(class_name, class_loader1); -+ Handle class_loader2, -+ Thread* THREAD) { -+ symbolHandle constraint_name; -+ if (!FieldType::is_array(class_name())) { -+ constraint_name = class_name; -+ } else { -+ // For array classes, their klassOops are not kept in the -+ // constraint table. The element classes are. -+ jint dimension; -+ symbolOop object_key; -+ BasicType t = FieldType::get_array_info(class_name(), &dimension, -+ &object_key, CHECK_(false)); -+ // primitive types always pass -+ if (t != T_OBJECT) { -+ return true; -+ } else { -+ constraint_name = symbolHandle(THREAD, object_key); -+ } -+ } -+ unsigned int d_hash1 = dictionary()->compute_hash(constraint_name, class_loader1); - int d_index1 = dictionary()->hash_to_index(d_hash1); - -- unsigned int d_hash2 = dictionary()->compute_hash(class_name, class_loader2); -+ unsigned int d_hash2 = dictionary()->compute_hash(constraint_name, class_loader2); - int d_index2 = dictionary()->hash_to_index(d_hash2); -+ { -+ MutexLocker mu_s(SystemDictionary_lock, THREAD); - -- { -- MutexLocker mu_s(SystemDictionary_lock, THREAD); -+ // Better never do a GC while we're holding these oops -+ No_Safepoint_Verifier nosafepoint; - -- // Better never do a GC while we're holding these oops -- No_Safepoint_Verifier nosafepoint; -- -- klassOop klass1 = find_class(d_index1, d_hash1, class_name, class_loader1); -- klassOop klass2 = find_class(d_index2, d_hash2, class_name, class_loader2); -- return constraints()->add_entry(class_name, klass1, class_loader1, -- klass2, class_loader2); -+ klassOop klass1 = find_class(d_index1, d_hash1, constraint_name, class_loader1); -+ klassOop klass2 = find_class(d_index2, d_hash2, constraint_name, class_loader2); -+ return constraints()->add_entry(constraint_name, klass1, class_loader1, -+ klass2, class_loader2); - } - } - -@@ -2191,6 +2207,7 @@ symbolOop SystemDictionary::find_resolut - // Returns the name of the type that failed a loader constraint check, or - // NULL if no constraint failed. The returned C string needs cleaning up - // with a ResourceMark in the caller -+// Arrays are not added to the loader constraint table, their elements are. - char* SystemDictionary::check_signature_loaders(symbolHandle signature, - Handle loader1, Handle loader2, - bool is_method, TRAPS) { diff -r 6c90850063a6 -r 5131198fdc3e patches/security/20100330/6894807.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/security/20100330/6894807.patch Wed Mar 31 02:17:13 2010 +0100 @@ -0,0 +1,27 @@ +diff -Nru openjdk.orig/hotspot/src/share/vm/opto/cfgnode.cpp openjdk/hotspot/src/share/vm/opto/cfgnode.cpp +--- openjdk.orig/hotspot/src/share/vm/opto/cfgnode.cpp 2009-05-15 00:36:38.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/opto/cfgnode.cpp 2010-03-30 21:03:55.000000000 +0100 +@@ -956,6 +956,7 @@ + } + if( jtkp && ttkp ) { + if( jtkp->is_loaded() && jtkp->klass()->is_interface() && ++ !jtkp->klass_is_exact() && // Keep exact interface klass (6894807) + ttkp->is_loaded() && !ttkp->klass()->is_interface() ) { + assert(ft == ttkp->cast_to_ptr_type(jtkp->ptr()) || + ft->isa_narrowoop() && ft->make_ptr() == ttkp->cast_to_ptr_type(jtkp->ptr()), ""); +diff -Nru openjdk.orig/hotspot/src/share/vm/opto/type.cpp openjdk/hotspot/src/share/vm/opto/type.cpp +--- openjdk.orig/hotspot/src/share/vm/opto/type.cpp 2009-05-15 00:36:38.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/opto/type.cpp 2010-03-30 21:02:58.000000000 +0100 +@@ -2501,10 +2501,12 @@ + ftip->is_loaded() && ftip->klass()->is_interface() && + ktip->is_loaded() && !ktip->klass()->is_interface()) { + // Happens in a CTW of rt.jar, 320-341, no extra flags ++ assert(!ftip->klass_is_exact(), "interface could not be exact"); + return ktip->cast_to_ptr_type(ftip->ptr()); + } + if (ftkp != NULL && ktkp != NULL && + ftkp->is_loaded() && ftkp->klass()->is_interface() && ++ !ftkp->klass_is_exact() && // Keep exact interface klass + ktkp->is_loaded() && !ktkp->klass()->is_interface()) { + // Happens in a CTW of rt.jar, 320-341, no extra flags + return ktkp->cast_to_ptr_type(ftkp->ptr()); diff -r 6c90850063a6 -r 5131198fdc3e patches/security/20100330/hotspot/hs16/6626217.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/security/20100330/hotspot/hs16/6626217.patch Wed Mar 31 02:17:13 2010 +0100 @@ -0,0 +1,160 @@ +diff -Nru openjdk.orig/hotspot/src/share/vm/ci/ciEnv.cpp openjdk/hotspot/src/share/vm/ci/ciEnv.cpp +--- openjdk.orig/hotspot/src/share/vm/ci/ciEnv.cpp 2009-12-08 23:12:17.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/ci/ciEnv.cpp 2010-03-31 00:13:28.000000000 +0100 +@@ -398,30 +398,6 @@ + return get_object(found_klass)->as_klass(); + } + +- // If we fail to find an array klass, look again for its element type. +- // The element type may be available either locally or via constraints. +- // In either case, if we can find the element type in the system dictionary, +- // we must build an array type around it. The CI requires array klasses +- // to be loaded if their element klasses are loaded, except when memory +- // is exhausted. +- if (sym->byte_at(0) == '[' && +- (sym->byte_at(1) == '[' || sym->byte_at(1) == 'L')) { +- // We have an unloaded array. +- // Build it on the fly if the element class exists. +- symbolOop elem_sym = oopFactory::new_symbol(sym->as_utf8()+1, +- sym->utf8_length()-1, +- KILL_COMPILE_ON_FATAL_(fail_type)); +- // Get element ciKlass recursively. +- ciKlass* elem_klass = +- get_klass_by_name_impl(accessing_klass, +- get_object(elem_sym)->as_symbol(), +- require_local); +- if (elem_klass != NULL && elem_klass->is_loaded()) { +- // Now make an array for it +- return ciObjArrayKlass::make_impl(elem_klass); +- } +- } +- + if (require_local) return NULL; + // Not yet loaded into the VM, or not governed by loader constraints. + // Make a CI representative for it. +diff -Nru openjdk.orig/hotspot/src/share/vm/classfile/loaderConstraints.cpp openjdk/hotspot/src/share/vm/classfile/loaderConstraints.cpp +--- openjdk.orig/hotspot/src/share/vm/classfile/loaderConstraints.cpp 2009-12-08 23:12:17.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/classfile/loaderConstraints.cpp 2010-03-31 00:12:35.000000000 +0100 +@@ -335,32 +335,6 @@ + } + + +-klassOop LoaderConstraintTable::find_constrained_elem_klass(symbolHandle name, +- symbolHandle elem_name, +- Handle loader, +- TRAPS) { +- LoaderConstraintEntry *p = *(find_loader_constraint(name, loader)); +- if (p != NULL) { +- assert(p->klass() == NULL, "Expecting null array klass"); +- +- // The array name has a constraint, but it will not have a class. Check +- // each loader for an associated elem +- for (int i = 0; i < p->num_loaders(); i++) { +- Handle no_protection_domain; +- +- klassOop k = SystemDictionary::find(elem_name, p->loader(i), no_protection_domain, THREAD); +- if (k != NULL) { +- // Return the first elem klass found. +- return k; +- } +- } +- } +- +- // No constraints, or else no klass loaded yet. +- return NULL; +-} +- +- + void LoaderConstraintTable::ensure_loader_constraint_capacity( + LoaderConstraintEntry *p, + int nfree) { +diff -Nru openjdk.orig/hotspot/src/share/vm/classfile/loaderConstraints.hpp openjdk/hotspot/src/share/vm/classfile/loaderConstraints.hpp +--- openjdk.orig/hotspot/src/share/vm/classfile/loaderConstraints.hpp 2009-12-08 23:12:17.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/classfile/loaderConstraints.hpp 2010-03-31 00:12:35.000000000 +0100 +@@ -66,9 +66,6 @@ + // bool is_method, TRAPS) + + klassOop find_constrained_klass(symbolHandle name, Handle loader); +- klassOop find_constrained_elem_klass(symbolHandle name, symbolHandle elem_name, +- Handle loader, TRAPS); +- + + // Class loader constraints + +diff -Nru openjdk.orig/hotspot/src/share/vm/classfile/systemDictionary.cpp openjdk/hotspot/src/share/vm/classfile/systemDictionary.cpp +--- openjdk.orig/hotspot/src/share/vm/classfile/systemDictionary.cpp 2009-12-08 23:12:17.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/classfile/systemDictionary.cpp 2010-03-31 00:17:35.000000000 +0100 +@@ -2164,9 +2164,8 @@ + // a loader constraint that would require this loader to return the + // klass that is already loaded. + if (FieldType::is_array(class_name())) { +- // Array classes are hard because their klassOops are not kept in the +- // constraint table. The array klass may be constrained, but the elem class +- // may not be. ++ // For array classes, their klassOops are not kept in the ++ // constraint table. The element klassOops are. + jint dimension; + symbolOop object_key; + BasicType t = FieldType::get_array_info(class_name(), &dimension, +@@ -2176,8 +2175,9 @@ + } else { + symbolHandle elem_name(THREAD, object_key); + MutexLocker mu(SystemDictionary_lock, THREAD); +- klass = constraints()->find_constrained_elem_klass(class_name, elem_name, class_loader, THREAD); ++ klass = constraints()->find_constrained_klass(elem_name, class_loader); + } ++ // If element class already loaded, allocate array klass + if (klass != NULL) { + klass = Klass::cast(klass)->array_klass_or_null(dimension); + } +@@ -2195,10 +2195,27 @@ + Handle class_loader1, + Handle class_loader2, + Thread* THREAD) { +- unsigned int d_hash1 = dictionary()->compute_hash(class_name, class_loader1); ++ symbolHandle constraint_name; ++ if (!FieldType::is_array(class_name())) { ++ constraint_name = class_name; ++ } else { ++ // For array classes, their klassOops are not kept in the ++ // constraint table. The element classes are. ++ jint dimension; ++ symbolOop object_key; ++ BasicType t = FieldType::get_array_info(class_name(), &dimension, ++ &object_key, CHECK_(false)); ++ // primitive types always pass ++ if (t != T_OBJECT) { ++ return true; ++ } else { ++ constraint_name = symbolHandle(THREAD, object_key); ++ } ++ } ++ unsigned int d_hash1 = dictionary()->compute_hash(constraint_name, class_loader1); + int d_index1 = dictionary()->hash_to_index(d_hash1); + +- unsigned int d_hash2 = dictionary()->compute_hash(class_name, class_loader2); ++ unsigned int d_hash2 = dictionary()->compute_hash(constraint_name, class_loader2); + int d_index2 = dictionary()->hash_to_index(d_hash2); + + { +@@ -2207,9 +2224,9 @@ + // Better never do a GC while we're holding these oops + No_Safepoint_Verifier nosafepoint; + +- klassOop klass1 = find_class(d_index1, d_hash1, class_name, class_loader1); +- klassOop klass2 = find_class(d_index2, d_hash2, class_name, class_loader2); +- return constraints()->add_entry(class_name, klass1, class_loader1, ++ klassOop klass1 = find_class(d_index1, d_hash1, constraint_name, class_loader1); ++ klassOop klass2 = find_class(d_index2, d_hash2, constraint_name, class_loader2); ++ return constraints()->add_entry(constraint_name, klass1, class_loader1, + klass2, class_loader2); + } + } +@@ -2287,6 +2304,7 @@ + // Returns the name of the type that failed a loader constraint check, or + // NULL if no constraint failed. The returned C string needs cleaning up + // with a ResourceMark in the caller. No exception except OOME is thrown. ++// Arrays are not added to the loader constraint table, their elements are. + char* SystemDictionary::check_signature_loaders(symbolHandle signature, + Handle loader1, Handle loader2, + bool is_method, TRAPS) { diff -r 6c90850063a6 -r 5131198fdc3e patches/security/20100330/hotspot/hs16/6894807.patch --- a/patches/security/20100330/hotspot/hs16/6894807.patch Wed Mar 31 02:41:55 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,115 +0,0 @@ -# HG changeset patch -# User kvn -# Date 1265943511 28800 -# Node ID 9d4986fcac2a07806ffed8a33184da149f76719b -# Parent 209a7a8a8f966dc4d6b45333cf4f3fa6648a6ecb -6894807: No ClassCastException for HashAttributeSet constructors if run with -Xcomp -Summary: Return interface klass type if it is exact. -Reviewed-by: never - -diff --git openjdk.orig/hotspot/src/share/vm/opto/cfgnode.cpp openjdk/hotspot/src/share/vm/opto/cfgnode.cpp ---- openjdk.orig/hotspot/src/share/vm/opto/cfgnode.cpp -+++ openjdk/hotspot/src/share/vm/opto/cfgnode.cpp -@@ -797,9 +797,16 @@ const Type *PhiNode::Value( PhaseTransfo - // lattice, we must tread carefully around phis which implicitly - // convert the one to the other. - const TypeInstPtr* ttip = _type->isa_instptr(); -+ const TypeKlassPtr* ttkp = _type->isa_klassptr(); -+ - bool is_intf = false; - if (ttip != NULL) { - ciKlass* k = ttip->klass(); -+ if (k->is_loaded() && k->is_interface()) -+ is_intf = true; -+ } -+ if (ttkp != NULL) { -+ ciKlass* k = ttkp->klass(); - if (k->is_loaded() && k->is_interface()) - is_intf = true; - } -@@ -859,6 +866,8 @@ const Type *PhiNode::Value( PhaseTransfo - // uplift the type. - if( !t->empty() && ttip && ttip->is_loaded() && ttip->klass()->is_interface() ) - { assert(ft == _type, ""); } // Uplift to interface -+ else if( !t->empty() && ttkp && ttkp->is_loaded() && ttkp->klass()->is_interface() ) -+ { assert(ft == _type, ""); } // Uplift to interface - // Otherwise it's something stupid like non-overlapping int ranges - // found on dying counted loops. - else -@@ -873,12 +882,23 @@ const Type *PhiNode::Value( PhaseTransfo - // join report an interface back out. This isn't possible but happens - // because the type system doesn't interact well with interfaces. - const TypeInstPtr *jtip = jt->isa_instptr(); -+ const TypeKlassPtr *jtkp = jt->isa_klassptr(); -+ - if( jtip && ttip ) { - if( jtip->is_loaded() && jtip->klass()->is_interface() && - ttip->is_loaded() && !ttip->klass()->is_interface() ) - // Happens in a CTW of rt.jar, 320-341, no extra flags - { assert(ft == ttip->cast_to_ptr_type(jtip->ptr()), ""); jt = ft; } - } -+ if( jtkp && ttkp ) { -+ if( jtkp->is_loaded() && jtkp->klass()->is_interface() && -+ !jtkp->klass_is_exact() && // Keep exact interface klass (6894807) -+ ttkp->is_loaded() && !ttkp->klass()->is_interface() ) { -+ assert(ft == ttkp->cast_to_ptr_type(jtkp->ptr()), ""); -+ jt = ft; -+ } -+ } -+ - if (jt != ft && jt->base() == ft->base()) { - if (jt->isa_int() && - jt->is_int()->_lo == ft->is_int()->_lo && -diff --git openjdk.orig/hotspot/src/share/vm/opto/type.cpp openjdk/hotspot/src/share/vm/opto/type.cpp ---- openjdk.orig/hotspot/src/share/vm/opto/type.cpp -+++ openjdk/hotspot/src/share/vm/opto/type.cpp -@@ -2357,6 +2357,8 @@ const Type *TypeOopPtr::filter( const Ty - const Type* ft = join(kills); - const TypeInstPtr* ftip = ft->isa_instptr(); - const TypeInstPtr* ktip = kills->isa_instptr(); -+ const TypeKlassPtr* ftkp = ft->isa_klassptr(); -+ const TypeKlassPtr* ktkp = kills->isa_klassptr(); - - if (ft->empty()) { - // Check for evil case of 'this' being a class and 'kills' expecting an -@@ -2369,6 +2371,8 @@ const Type *TypeOopPtr::filter( const Ty - // into a Phi which "knows" it's an Interface type we'll have to - // uplift the type. From andrew at icedtea.classpath.org Tue Mar 30 18:46:29 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 31 Mar 2010 01:46:29 +0000 Subject: /hg/release/icedtea6-1.6: Support original (hs11) HotSpot for no... Message-ID: changeset f9061e19dfb0 in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=f9061e19dfb0 author: Andrew John Hughes date: Wed Mar 31 01:41:40 2010 +0100 Support original (hs11) HotSpot for normal (non-Zero/Shark builds). Depend on IT_SET_ARCH_DIRS for Zero. 2010-03-31 Andrew John Hughes * patches/hotspot/default/icedtea-gcc-stack-markings.patch: Move to main patches directory as applies to both hs11 and hs14. * Makefile.am: Fix gcc-stack-markings path. * NEWS: Add remaining backports. * acinclude.m4: (IT_SET_ARCH_DIRS): Renamed from SET_ARCH_DIRS. (ENABLE_ZERO_BUILD): Require IT_SET_ARCH_DIRS. * configure.ac: Call IT_SET_ARCH_DIRS. * patches/gcc-stack-markings.patch: Moved as above. * patches/hotspot/original/systemtap.patch: Add missing fragment. diffstat: 8 files changed, 79 insertions(+), 29 deletions(-) ChangeLog | 13 +++ Makefile.am | 2 NEWS | 5 + acinclude.m4 | 3 configure.ac | 2 patches/gcc-stack-markings.patch | 14 +++ patches/hotspot/default/icedtea-gcc-stack-markings.patch | 14 --- patches/hotspot/original/systemtap.patch | 55 ++++++++++---- diffs (199 lines): diff -r 6728bebba215 -r f9061e19dfb0 ChangeLog --- a/ChangeLog Tue Mar 30 23:57:15 2010 +0100 +++ b/ChangeLog Wed Mar 31 01:41:40 2010 +0100 @@ -1,3 +1,16 @@ 2009-09-03 Andrew John Hughes + + * patches/hotspot/default/icedtea-gcc-stack-markings.patch: + Move to main patches directory as applies to both hs11 and hs14. + * Makefile.am: Fix gcc-stack-markings path. + * NEWS: Add remaining backports. + * acinclude.m4: + (IT_SET_ARCH_DIRS): Renamed from SET_ARCH_DIRS. + (ENABLE_ZERO_BUILD): Require IT_SET_ARCH_DIRS. + * configure.ac: Call IT_SET_ARCH_DIRS. + * patches/gcc-stack-markings.patch: Moved as above. + * patches/hotspot/original/systemtap.patch: Add missing fragment. + 2009-09-03 Andrew John Hughes PR icedtea/356 diff -r 6728bebba215 -r f9061e19dfb0 Makefile.am --- a/Makefile.am Tue Mar 30 23:57:15 2010 +0100 +++ b/Makefile.am Wed Mar 31 01:41:40 2010 +0100 @@ -753,7 +753,7 @@ ICEDTEA_PATCHES += \ patches/hotspot/$(HSBUILD)/icedtea-explicit-target-arch.patch \ patches/openjdk/6648816.patch \ patches/openjdk/oj100103-debugger-socket-overflow.patch \ - patches/hotspot/$(HSBUILD)/icedtea-gcc-stack-markings.patch \ + patches/gcc-stack-markings.patch \ patches/icedtea-jtreg-httpTest.patch \ patches/security/20100330/6626217.patch \ patches/security/20100330/6633872.patch \ diff -r 6728bebba215 -r f9061e19dfb0 NEWS --- a/NEWS Tue Mar 30 23:57:15 2010 +0100 +++ b/NEWS Wed Mar 31 01:41:40 2010 +0100 @@ -27,6 +27,11 @@ New in release 1.6.3 (2010-03-30) - 6910590: Application can modify command array in ProcessBuilder - 6909597: JPEGImageReader stepX Integer Overflow Vulnerability - 6932480: Crash in CompilerThread/Parser. Unloaded array klass? +- Add stack markings to the x86 assembly so as not to use executable stack. +- Enable SystemTap JNI tracing. +- Add SystemTap jstack support. +- PR179: Rhino bootclasspath issue +- PR356: Support ECC via NSS New in release 1.6.2 (2009-11-09) - Latest security updates: diff -r 6728bebba215 -r f9061e19dfb0 acinclude.m4 --- a/acinclude.m4 Tue Mar 30 23:57:15 2010 +0100 +++ b/acinclude.m4 Wed Mar 31 01:41:40 2010 +0100 @@ -1,4 +1,4 @@ AC_DEFUN([SET_ARCH_DIRS], -AC_DEFUN([SET_ARCH_DIRS], +AC_DEFUN_ONCE([IT_SET_ARCH_DIRS], [ case "${host}" in x86_64-*-*) @@ -679,6 +679,7 @@ AC_DEFUN_ONCE([ENABLE_ZERO_BUILD], AC_DEFUN_ONCE([ENABLE_ZERO_BUILD], [ AC_REQUIRE([SET_SHARK_BUILD]) + AC_REQUIRE([IT_SET_ARCH_DIRS]) AC_MSG_CHECKING(whether to use the zero-assembler port) use_zero=no AC_ARG_ENABLE([zero], diff -r 6728bebba215 -r f9061e19dfb0 configure.ac --- a/configure.ac Tue Mar 30 23:57:15 2010 +0100 +++ b/configure.ac Wed Mar 31 01:41:40 2010 +0100 @@ -206,7 +206,7 @@ fi fi AC_SUBST(DIST_ID) -SET_ARCH_DIRS +IT_SET_ARCH_DIRS SET_OS_DIRS if test "${with_openjdk}" = true diff -r 6728bebba215 -r f9061e19dfb0 patches/gcc-stack-markings.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/gcc-stack-markings.patch Wed Mar 31 01:41:40 2010 +0100 @@ -0,0 +1,14 @@ +--- openjdk/hotspot/src/os_cpu/linux_x86/vm/linux_x86_32.s~ 2009-08-06 01:08:57.000000000 -0700 ++++ openjdk/hotspot/src/os_cpu/linux_x86/vm/linux_x86_32.s 2009-08-06 01:09:27.000000000 -0700 +@@ -650,3 +650,4 @@ _Atomic_cmpxchg_long: + popl %ebx + ret + ++.section .note.GNU-stack, "", @progbits +--- openjdk/hotspot/src/os_cpu/linux_x86/vm/linux_x86_64.s~ 2009-08-06 01:08:57.000000000 -0700 ++++ openjdk/hotspot/src/os_cpu/linux_x86/vm/linux_x86_64.s 2009-08-06 01:09:27.000000000 -0700 +@@ -400,3 +400,4 @@ _Atomic_cmpxchg_long: + addq $4,%rdx + jg 4b + ret ++.section .note.GNU-stack, "", @progbits diff -r 6728bebba215 -r f9061e19dfb0 patches/hotspot/default/icedtea-gcc-stack-markings.patch --- a/patches/hotspot/default/icedtea-gcc-stack-markings.patch Tue Mar 30 23:57:15 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,14 +0,0 @@ ---- openjdk/hotspot/src/os_cpu/linux_x86/vm/linux_x86_32.s~ 2009-08-06 01:08:57.000000000 -0700 -+++ openjdk/hotspot/src/os_cpu/linux_x86/vm/linux_x86_32.s 2009-08-06 01:09:27.000000000 -0700 -@@ -650,3 +650,4 @@ _Atomic_cmpxchg_long: - popl %ebx - ret - -+.section .note.GNU-stack, "", @progbits ---- openjdk/hotspot/src/os_cpu/linux_x86/vm/linux_x86_64.s~ 2009-08-06 01:08:57.000000000 -0700 -+++ openjdk/hotspot/src/os_cpu/linux_x86/vm/linux_x86_64.s 2009-08-06 01:09:27.000000000 -0700 -@@ -400,3 +400,4 @@ _Atomic_cmpxchg_long: - addq $4,%rdx - jg 4b - ret -+.section .note.GNU-stack, "", @progbits diff -r 6728bebba215 -r f9061e19dfb0 patches/hotspot/original/systemtap.patch --- a/patches/hotspot/original/systemtap.patch Tue Mar 30 23:57:15 2010 +0100 +++ b/patches/hotspot/original/systemtap.patch Wed Mar 31 01:41:40 2010 +0100 @@ -1,6 +1,6 @@ diff -Nru ../openjdk.orig/hotspot/build/ -diff -Nru ../openjdk.orig/hotspot/build/linux/makefiles/dtrace.make ../openjdk/hotspot/build/linux/makefiles/dtrace.make ---- ../openjdk.orig/hotspot/build/linux/makefiles/dtrace.make 2009-04-24 08:30:52.000000000 +0100 -+++ ../openjdk/hotspot/build/linux/makefiles/dtrace.make 2010-03-30 20:43:06.000000000 +0100 +diff -Nru openjdk.orig/hotspot/build/linux/makefiles/dtrace.make openjdk/hotspot/build/linux/makefiles/dtrace.make +--- openjdk.orig/hotspot/build/linux/makefiles/dtrace.make 2009-04-24 08:30:52.000000000 +0100 ++++ openjdk/hotspot/build/linux/makefiles/dtrace.make 2010-03-31 00:49:16.000000000 +0100 @@ -25,3 +25,7 @@ # Linux does not build jvm_db LIBJVM_DB = @@ -9,9 +9,9 @@ diff -Nru ../openjdk.orig/hotspot/build/ +CFLAGS += -DDTRACE_ENABLED + +# It doesn't support HAVE_DTRACE_H though. -diff -Nru ../openjdk.orig/hotspot/src/share/vm/prims/jni.cpp ../openjdk/hotspot/src/share/vm/prims/jni.cpp ---- ../openjdk.orig/hotspot/src/share/vm/prims/jni.cpp 2010-03-30 20:41:19.000000000 +0100 -+++ ../openjdk/hotspot/src/share/vm/prims/jni.cpp 2010-03-30 20:43:06.000000000 +0100 +diff -Nru openjdk.orig/hotspot/src/share/vm/prims/jni.cpp openjdk/hotspot/src/share/vm/prims/jni.cpp +--- openjdk.orig/hotspot/src/share/vm/prims/jni.cpp 2010-03-31 00:44:38.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/prims/jni.cpp 2010-03-31 00:49:16.000000000 +0100 @@ -1744,10 +1744,7 @@ JNI_QUICK_ENTRY(void, jni_Set##Result##Field(JNIEnv *env, jobject obj, jfieldID fieldID, Argument value)) \ JNIWrapper("Set" XSTR(Result) "Field"); \ @@ -62,9 +62,9 @@ diff -Nru ../openjdk.orig/hotspot/src/sh \ oop obj= oopFactory::Allocator(len, CHECK_0); \ ret = (Return) JNIHandles::make_local(env, obj); \ -diff -Nru ../openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp ../openjdk/hotspot/src/share/vm/runtime/arguments.cpp ---- ../openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp 2010-03-30 20:41:21.000000000 +0100 -+++ ../openjdk/hotspot/src/share/vm/runtime/arguments.cpp 2010-03-30 20:43:54.000000000 +0100 +diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp openjdk/hotspot/src/share/vm/runtime/arguments.cpp +--- openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp 2010-03-31 00:44:39.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp 2010-03-31 00:49:16.000000000 +0100 @@ -2164,16 +2164,16 @@ FLAG_SET_CMDLINE(bool, DisplayVMOutputToStderr, false); FLAG_SET_CMDLINE(bool, DisplayVMOutputToStdout, true); @@ -86,9 +86,9 @@ diff -Nru ../openjdk.orig/hotspot/src/sh } else #ifdef ASSERT if (match_option(option, "-XX:+FullGCALot", &tail)) { -diff -Nru ../openjdk.orig/hotspot/src/share/vm/utilities/dtrace.hpp ../openjdk/hotspot/src/share/vm/utilities/dtrace.hpp ---- ../openjdk.orig/hotspot/src/share/vm/utilities/dtrace.hpp 2009-04-24 08:30:57.000000000 +0100 -+++ ../openjdk/hotspot/src/share/vm/utilities/dtrace.hpp 2010-03-30 20:43:06.000000000 +0100 +diff -Nru openjdk.orig/hotspot/src/share/vm/utilities/dtrace.hpp openjdk/hotspot/src/share/vm/utilities/dtrace.hpp +--- openjdk.orig/hotspot/src/share/vm/utilities/dtrace.hpp 2009-04-24 08:30:57.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/utilities/dtrace.hpp 2010-03-31 00:49:54.000000000 +0100 @@ -3,6 +3,7 @@ #endif /* @@ -152,3 +152,34 @@ diff -Nru ../openjdk.orig/hotspot/src/sh #define HS_DTRACE_PROBE_N(provider,name, args) \ DTRACE_ONLY(HS_DTRACE_PROBE_FN(provider,name) args) +@@ -126,4 +141,30 @@ + HS_DTRACE_PROBE_N(provider,name,((uintptr_t)a0,(uintptr_t)a1,(uintptr_t)a2,\ + (uintptr_t)a3,(uintptr_t)a4,(uintptr_t)a5,(uintptr_t)a6,(uintptr_t)a7,\ + (uintptr_t)a8,(uintptr_t)a9)) ++#else ++// Systemtap dtrace compatible probes on GNU/Linux use direct macros. ++#define HS_DTRACE_PROBE(provider,name) HS_DTRACE_PROBE0(provider,name) ++#define HS_DTRACE_PROBE0(provider,name)\ ++ DTRACE_PROBE(provider,name) ++#define HS_DTRACE_PROBE1(provider,name,a0)\ ++ DTRACE_PROBE1(provider,name,a0) ++#define HS_DTRACE_PROBE2(provider,name,a0,a1)\ ++ DTRACE_PROBE2(provider,name,a0,a1) ++#define HS_DTRACE_PROBE3(provider,name,a0,a1,a2)\ ++ DTRACE_PROBE3(provider,name,a0,a1,a2) ++#define HS_DTRACE_PROBE4(provider,name,a0,a1,a2,a3)\ ++ DTRACE_PROBE4(provider,name,a0,a1,a2,a3) ++#define HS_DTRACE_PROBE5(provider,name,a0,a1,a2,a3,a4)\ ++ DTRACE_PROBE5(provider,name,a0,a1,a2,a3,a4) ++#define HS_DTRACE_PROBE6(provider,name,a0,a1,a2,a3,a4,a5)\ ++ DTRACE_PROBE6(provider,name,a0,a1,a2,a3,a4,a5) ++#define HS_DTRACE_PROBE7(provider,name,a0,a1,a2,a3,a4,a5,a6)\ ++ DTRACE_PROBE7(provider,name,a0,a1,a2,a3,a4,a5,a6) ++#define HS_DTRACE_PROBE8(provider,name,a0,a1,a2,a3,a4,a5,a6,a7)\ ++ DTRACE_PROBE8(provider,name,a0,a1,a2,a3,a4,a5,a6,a7) ++#define HS_DTRACE_PROBE9(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8)\ ++ DTRACE_PROBE9(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8) ++#define HS_DTRACE_PROBE10(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8)\ ++ DTRACE_PROBE10(provider,name,a0,a1,a2,a3,a4,a5,a6,a7,a8) ++#endif + From andrew at icedtea.classpath.org Tue Mar 30 18:58:34 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 31 Mar 2010 01:58:34 +0000 Subject: /hg/release/icedtea6-1.7: Added tag icedtea6-1.7.2 for changeset... Message-ID: changeset 6ff10812c44a in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=6ff10812c44a author: Andrew John Hughes date: Wed Mar 31 02:58:12 2010 +0100 Added tag icedtea6-1.7.2 for changeset 6e9e64c22c96 diffstat: 1 file changed, 1 insertion(+) .hgtags | 1 + diffs (8 lines): diff -r 6e9e64c22c96 -r 6ff10812c44a .hgtags --- a/.hgtags Wed Mar 31 01:57:36 2010 +0100 +++ b/.hgtags Wed Mar 31 02:58:12 2010 +0100 @@ -19,3 +19,4 @@ 8826d5735e2ca97ecdb35e7c977785d3e5b99556 8826d5735e2ca97ecdb35e7c977785d3e5b99556 icedtea6-1.7-branch 4bfb7468a41eb089cac8dfb40fb6d79abe19db36 icedtea6-1.7 5a3838937f7cc44c1d0fa2f778dbe1a8f5027bec icedtea6-1.7.1 +6e9e64c22c9625939edcd20c1a9dcd7a7aaea723 icedtea6-1.7.2 From ahughes at redhat.com Tue Mar 30 19:06:15 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Wed, 31 Mar 2010 02:06:15 +0000 Subject: IcedTea6 1.7.2 (Security Updates) Released! Message-ID: We are pleased to announce the release of IcedTea6 1.7.2! The IcedTea project provides a harness to build the source code from OpenJDK6 using Free Software build tools. It also includes the only Free Java plugin and Web Start implementation, and support for additional architectures over and above x86, x86_64 and SPARC via the Zero assembler port. What's New? New in release 1.7.2 (2010-03-31): - Latest security updates and hardening patches: - (CVE-2010-0837): JAR "unpack200" must verify input parameters (6902299) - (CVE-2010-0845): No ClassCastException for HashAttributeSet constructors if run with -Xcomp (6894807) - (CVE-2010-0838): CMM readMabCurveData Buffer Overflow Vulnerability (6899653) - (CVE-2010-0082): Loader-constraint table allows arrays instead of only the base-classes (6626217) - (CVE-2010-0095): Subclasses of InetAddress may incorrectly interpret network addresses (6893954) - (CVE-2010-0085): File TOCTOU deserialization vulnerability (6736390) - (CVE-2010-0091): Unsigned applet can retrieve the dragged information before drop action occurs (6887703) - (CVE-2010-0088): Inflater/Deflater clone issues (6745393) - (CVE-2010-0084): Policy/PolicyFile leak dynamic ProtectionDomains. (6633872) - (CVE-2010-0092): AtomicReferenceArray causes SIGSEGV -> SEGV_MAPERR error (6888149) - (CVE-2010-0094): Deserialization of RMIConnectionImpl objects should enforce stricter checks (6893947) - (CVE-2010-0093): System.arraycopy unable to reference elements beyond Integer.MAX_VALUE bytes (6892265) - (CVE-2010-0840): Applet Trusted Methods Chaining Privilege Escalation Vulnerability (6904691) - (CVE-2010-0848): AWT Library Invalid Index Vulnerability (6914823) - (CVE-2010-0847): ImagingLib arbitrary code execution vulnerability (6914866) - (CVE-2009-3555): TLS: MITM attacks via session renegotiation - 6639665: ThreadGroup finalizer allows creation of false root ThreadGroups - 6898622: ObjectIdentifer.equals is not capable of detecting incorrectly encoded CommonName OIDs - 6910590: Application can modify command array in ProcessBuilder - 6909597: JPEGImageReader stepX Integer Overflow Vulnerability - 6932480: Crash in CompilerThread/Parser. Unloaded array klass? - Backport of 6822370: ReentrantReadWriteLock: threads hung when there are no threads holding onto the lock - Increase ThreadStackSize by 512kb on 32-bit Zero platforms - Check cacerts database is valid The tarball can be downloaded from: * http://icedtea.classpath.org/download/source/icedtea6-1.7.2.tar.gz The following people helped with the 1.7 release series: Lillian Angel, Gary Benson, Deepak Bhole, Andrew Haley, Andrew John Hughes, Nobuhiro Iwamatsu, Matthias Klose, Martin Matejovic, Edward Nevill, Xerxes R?nby, Robert Schuster, Pavel Tisnovsky, Jon VanAlten, Mark Wielaard and Man Lung Wong. We would also like to thank the bug reporters and testers! To get started: $ tar xzf icedtea6-1.7.2.tar.gz $ cd icedtea6-1.7.2 Full build requirements and instructions are in INSTALL: $ ./configure [--with-openjdk --enable-pulse-java --enable-systemtap --enable-zero...] $ make -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From doko at icedtea.classpath.org Wed Mar 31 01:54:03 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Wed, 31 Mar 2010 08:54:03 +0000 Subject: /hg/icedtea6: Fix typo in IcedTeaNPPlugin.cc. Message-ID: changeset 27edb6d5b217 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=27edb6d5b217 author: doko at ubuntu.com date: Wed Mar 31 10:30:18 2010 +0200 Fix typo in IcedTeaNPPlugin.cc. 2010-03-31 Matthias Klose * plugin/icedteanp/IcedTeaNPPlugin.cc (plugin_start_appletviewer): Fix typo. diffstat: 2 files changed, 6 insertions(+), 1 deletion(-) ChangeLog | 5 +++++ plugin/icedteanp/IcedTeaNPPlugin.cc | 2 +- diffs (24 lines): diff -r 924b3dc09a33 -r 27edb6d5b217 ChangeLog --- a/ChangeLog Wed Mar 31 01:37:16 2010 +0100 +++ b/ChangeLog Wed Mar 31 10:30:18 2010 +0200 @@ -1,3 +1,8 @@ 2009-03-31 Andrew John Hughes + + * plugin/icedteanp/IcedTeaNPPlugin.cc (plugin_start_appletviewer): + Fix typo. + 2009-03-31 Andrew John Hughes * patches/security/20100330/6894807.patch, diff -r 924b3dc09a33 -r 27edb6d5b217 plugin/icedteanp/IcedTeaNPPlugin.cc --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Wed Mar 31 01:37:16 2010 +0100 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Wed Mar 31 10:30:18 2010 +0200 @@ -1472,7 +1472,7 @@ plugin_start_appletviewer (GCJPluginData command_line[7] = NULL; } else { - command_line = (gchar**) malloc(sizeof(gchar)*5); + command_line = (gchar**) malloc(sizeof(gchar*)*5); command_line[0] = g_strdup(appletviewer_executable); command_line[1] = g_strdup("sun.applet.PluginMain"); command_line[2] = g_strdup(out_pipe_name); From doko at icedtea.classpath.org Wed Mar 31 01:55:56 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Wed, 31 Mar 2010 08:55:56 +0000 Subject: /hg/release/icedtea6-1.8: 2010-03-31 Matthias Klose changeset 0ff8bd7adb9c in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=0ff8bd7adb9c author: doko at ubuntu.com date: Wed Mar 31 10:32:12 2010 +0200 2010-03-31 Matthias Klose * plugin/icedteanp/IcedTeaNPPlugin.cc (plugin_start_appletviewer): Fix typo. diffstat: 2 files changed, 6 insertions(+), 1 deletion(-) ChangeLog | 5 +++++ plugin/icedteanp/IcedTeaNPPlugin.cc | 2 +- diffs (24 lines): diff -r 5131198fdc3e -r 0ff8bd7adb9c ChangeLog --- a/ChangeLog Wed Mar 31 02:17:13 2010 +0100 +++ b/ChangeLog Wed Mar 31 10:32:12 2010 +0200 @@ -1,3 +1,8 @@ 2009-03-31 Andrew John Hughes + + * plugin/icedteanp/IcedTeaNPPlugin.cc (plugin_start_appletviewer): + Fix typo. + 2009-03-31 Andrew John Hughes * patches/security/20100330/6626217.patch, diff -r 5131198fdc3e -r 0ff8bd7adb9c plugin/icedteanp/IcedTeaNPPlugin.cc --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Wed Mar 31 02:17:13 2010 +0100 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Wed Mar 31 10:32:12 2010 +0200 @@ -1472,7 +1472,7 @@ plugin_start_appletviewer (GCJPluginData command_line[7] = NULL; } else { - command_line = (gchar**) malloc(sizeof(gchar)*5); + command_line = (gchar**) malloc(sizeof(gchar*)*5); command_line[0] = g_strdup(appletviewer_executable); command_line[1] = g_strdup("sun.applet.PluginMain"); command_line[2] = g_strdup(out_pipe_name); From doko at icedtea.classpath.org Wed Mar 31 02:01:08 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Wed, 31 Mar 2010 09:01:08 +0000 Subject: /hg/release/icedtea6-1.7: Fix typo in IcedTeaNPPlugin.cc. Message-ID: changeset 94084cbf82d3 in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=94084cbf82d3 author: doko at ubuntu.com date: Wed Mar 31 10:37:24 2010 +0200 Fix typo in IcedTeaNPPlugin.cc. 2010-03-31 Matthias Klose * plugin/icedteanp/IcedTeaNPPlugin.cc (plugin_start_appletviewer): Fix typo. diffstat: 2 files changed, 6 insertions(+), 1 deletion(-) ChangeLog | 5 +++++ plugin/icedteanp/IcedTeaNPPlugin.cc | 2 +- diffs (24 lines): diff -r 6ff10812c44a -r 94084cbf82d3 ChangeLog --- a/ChangeLog Wed Mar 31 02:58:12 2010 +0100 +++ b/ChangeLog Wed Mar 31 10:37:24 2010 +0200 @@ -1,3 +1,8 @@ 2010-03-31 Andrew John Hughes + + * plugin/icedteanp/IcedTeaNPPlugin.cc (plugin_start_appletviewer): + Fix typo. + 2010-03-31 Andrew John Hughes * configure.ac: Bump version to 1.7.2. diff -r 6ff10812c44a -r 94084cbf82d3 plugin/icedteanp/IcedTeaNPPlugin.cc --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Wed Mar 31 02:58:12 2010 +0100 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Wed Mar 31 10:37:24 2010 +0200 @@ -1463,7 +1463,7 @@ plugin_start_appletviewer (GCJPluginData command_line[5] = NULL; } else { - command_line = (gchar**) malloc(sizeof(gchar)*3); + command_line = (gchar**) malloc(sizeof(gchar*)*3); command_line[0] = g_strdup(appletviewer_executable); command_line[1] = g_strdup("sun.applet.PluginMain"); command_line[2] = NULL; From doko at ubuntu.com Wed Mar 31 03:32:03 2010 From: doko at ubuntu.com (Matthias Klose) Date: Wed, 31 Mar 2010 12:32:03 +0200 Subject: [rfc] new configure option --enable-debug-mode Message-ID: <4BB324A3.5080307@ubuntu.com> Triggered by https://bugzilla.mozilla.org/show_bug.cgi?id=555342 Proposing a new configure option --enable-debug-mode. The option makes it possible to entirely disable the debug code, not allowing to open a socket. The default for prereleases/trunk is to have it enabled, for releases disabled. -------------- next part -------------- A non-text attachment was scrubbed... Name: debug-mode.diff Type: text/x-diff Size: 2267 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100331/9d96d6de/debug-mode.diff From ahughes at redhat.com Wed Mar 31 06:28:21 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Wed, 31 Mar 2010 13:28:21 +0000 Subject: [rfc] new configure option --enable-debug-mode In-Reply-To: <4BB324A3.5080307@ubuntu.com> References: <4BB324A3.5080307@ubuntu.com> Message-ID: On 31 March 2010 10:32, Matthias Klose wrote: > Triggered by > https://bugzilla.mozilla.org/show_bug.cgi?id=555342 > > Proposing a new configure option --enable-debug-mode. The option makes it > possible to entirely disable the debug code, not allowing to open a socket. > The default for prereleases/trunk is to have it enabled, for releases > disabled. > > I was going to suggest --enable-plugin-debug-mode but then found that's what it actually is in the patch :-) Sounds good to me. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From ahughes at redhat.com Wed Mar 31 07:07:35 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Wed, 31 Mar 2010 14:07:35 +0000 Subject: /hg/release/icedtea6-1.8: Fix for fast bytecode in cpp interpreter In-Reply-To: <17c6771e1003301809w6746657an2519738005cf4d2d@mail.gmail.com> References: <17c6771e1003301809w6746657an2519738005cf4d2d@mail.gmail.com> Message-ID: On 31 March 2010 01:09, Andrew John Hughes wrote: > On 31 March 2010 01:05, ? wrote: >> changeset 6c90850063a6 in /hg/release/icedtea6-1.8 >> details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=6c90850063a6 >> author: doko at ubuntu.com >> date: Wed Mar 31 02:41:55 2010 +0200 >> >> ? ? ? ?Fix for fast bytecode in cpp interpreter >> >> >> diffstat: >> >> 3 files changed, 20 insertions(+) >> ChangeLog ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? ?4 ++++ >> Makefile.am ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? ?1 + >> patches/zero/cppInterpreter-fast-bytecodes.patch | ? 15 +++++++++++++++ >> >> diffs (41 lines): >> >> diff -r e3d17434ea31 -r 6c90850063a6 ChangeLog >> --- a/ChangeLog Wed Mar 31 01:53:39 2010 +0200 >> +++ b/ChangeLog Wed Mar 31 02:41:55 2010 +0200 >> @@ -1,3 +1,7 @@ 2010-03-31 ?Matthias Klose ?> +2010-03-30 ?Edward Nevill ? >> + >> + ? ? ? * bytecodeInterpreter.cpp Fix to support fast bytecodes >> + >> ?2010-03-31 ?Matthias Klose ? >> >> ? ? ? ?* acinclude.m4 (ENABLE_ZERO_BUILD): Depend on IT_SET_ARCH_SETTINGS. >> diff -r e3d17434ea31 -r 6c90850063a6 Makefile.am >> --- a/Makefile.am ? ? ? Wed Mar 31 01:53:39 2010 +0200 >> +++ b/Makefile.am ? ? ? Wed Mar 31 02:41:55 2010 +0200 >> @@ -220,6 +220,7 @@ ICEDTEA_PATCHES = \ >> ? ? ? ?patches/zero/6909153.patch \ >> ? ? ? ?patches/zero/6913869.patch \ >> ? ? ? ?patches/zero/6914622.patch \ >> + ? ? ? patches/zero/cppInterpreter-fast-bytecodes.patch \ >> ? ? ? ?patches/icedtea-notice-safepoints.patch \ >> ? ? ? ?patches/icedtea-parisc-opt.patch \ >> ? ? ? ?patches/icedtea-lucene-crash.patch \ >> diff -r e3d17434ea31 -r 6c90850063a6 patches/zero/cppInterpreter-fast-bytecodes.patch >> --- /dev/null ? Thu Jan 01 00:00:00 1970 +0000 >> +++ b/patches/zero/cppInterpreter-fast-bytecodes.patch ?Wed Mar 31 02:41:55 2010 +0200 >> @@ -0,0 +1,15 @@ >> +Index: openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp >> +=================================================================== >> +--- openjdk.orig/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp ? ? ?2010-03-19 10:35:14.000000000 +0100 >> ++++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp ? 2010-03-19 10:39:01.000000000 +0100 >> +@@ -2328,6 +2328,10 @@ >> + ? ? ? } >> + >> + ? ? ? DEFAULT: >> ++ ? ? ? ? if (Bytecodes::is_defined((Bytecodes::Code)opcode)) { >> ++ ? ? ? ? ? opcode = (jubyte)Bytecodes::java_code((Bytecodes::Code)opcode); >> ++ ? ? ? ? ? goto opcode_switch; >> ++ ? ? ? ? } >> + ? ? ? ? ? fatal2("\t*** Unimplemented opcode: %d = %s\n", >> + ? ? ? ? ? ? ? ? ?opcode, Bytecodes::name((Bytecodes::Code)opcode)); >> + ? ? ? ? ? goto finish; >> > > I didn't see any review of this for HEAD, never mind for the branch. > > THe HotSpot team suggested it may cause a performance deficit: > http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2010-March/002967.html Ok, there was a post for the HEAD commit: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-March/008818.html which must have got lost in all the security updates. However, I still don't think this should be added to the 1.8 branch until all issues have been resolved with upstream. > -- > Andrew :-) > > Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > Support Free Java! > Contribute to GNU Classpath and the OpenJDK > http://www.gnu.org/software/classpath > http://openjdk.java.net > > PGP Key: 94EFD9D8 (http://subkeys.pgp.net) > Fingerprint: F8EF F1EA 401E 2E60 15FA ?7927 142C 2591 94EF D9D8 > -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From doko at icedtea.classpath.org Wed Mar 31 07:55:59 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Wed, 31 Mar 2010 14:55:59 +0000 Subject: /hg/release/icedtea6-1.8: .hgignore: Add Makefile.in Message-ID: changeset 56cef624c2e6 in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=56cef624c2e6 author: doko at ubuntu.com date: Wed Mar 31 16:32:04 2010 +0200 .hgignore: Add Makefile.in diffstat: 1 file changed, 1 insertion(+) .hgignore | 1 + diffs (11 lines): diff -r 0ff8bd7adb9c -r 56cef624c2e6 .hgignore --- a/.hgignore Wed Mar 31 10:32:12 2010 +0200 +++ b/.hgignore Wed Mar 31 16:32:04 2010 +0200 @@ -14,6 +14,7 @@ tools tools stamps Makefile +Makefile.in config.log config.guess config.sub From doko at icedtea.classpath.org Wed Mar 31 07:57:44 2010 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Wed, 31 Mar 2010 14:57:44 +0000 Subject: /hg/icedtea6: .hgignore: Add Makefile.in Message-ID: changeset fe24088f1931 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=fe24088f1931 author: doko at ubuntu.com date: Wed Mar 31 16:33:56 2010 +0200 .hgignore: Add Makefile.in diffstat: 1 file changed, 1 insertion(+) .hgignore | 1 + diffs (11 lines): diff -r 27edb6d5b217 -r fe24088f1931 .hgignore --- a/.hgignore Wed Mar 31 10:30:18 2010 +0200 +++ b/.hgignore Wed Mar 31 16:33:56 2010 +0200 @@ -13,6 +13,7 @@ tools tools stamps Makefile +Makefile.in config.log config.guess config.sub From dbhole at redhat.com Wed Mar 31 10:41:28 2010 From: dbhole at redhat.com (Deepak Bhole) Date: Wed, 31 Mar 2010 13:41:28 -0400 Subject: [rfc] new configure option --enable-debug-mode In-Reply-To: <4BB324A3.5080307@ubuntu.com> References: <4BB324A3.5080307@ubuntu.com> Message-ID: <20100331174128.GB5009@redhat.com> * Matthias Klose [2010-03-31 06:32]: > Triggered by > https://bugzilla.mozilla.org/show_bug.cgi?id=555342 > > Proposing a new configure option --enable-debug-mode. The option > makes it possible to entirely disable the debug code, not allowing > to open a socket. The default for prereleases/trunk is to have it > enabled, for releases disabled. > Why would you want to disable debug mode? It is not intended to be run unless a problem is being diagnosed... normal users would never had an issue with it.. And if this is to be done, it should certainly not disable all debug. Debug output is very useful to look at when an end user is having an issue. Cheers, Deepak > 2010-03-31 Matthias Klose > > * acinclude.m4 (IT_CHECK_PLUGIN): New option > --enable-plugin-debug-mode. > * Makefile.am ($(PLUGIN_DIR)/%.o): Pass PLUGIN_DEBUG_CFLAGS. > * plugin/icedteanp/IcedTeaNPPlugin.cc (plugin_debug): Initialize > depending on PLUGIN_DEBUG_MODE. > > diff -r 0ff8bd7adb9c Makefile.am > --- a/Makefile.am Wed Mar 31 10:32:12 2010 +0200 > +++ b/Makefile.am Wed Mar 31 11:58:26 2010 +0200 > @@ -1532,6 +1532,7 @@ > -DJDK_UPDATE_VERSION="\"$(JDK_UPDATE_VERSION)\"" \ > -DPLUGIN_VERSION="\"$(PLUGIN_VERSION)\"" \ > -DMOZILLA_VERSION_COLLAPSED="$(MOZILLA_VERSION_COLLAPSED)" \ > + $(PLUGIN_DEBUG_CFLAGS) \ > $(GLIB_CFLAGS) \ > $(GTK_CFLAGS) \ > $(MOZILLA_CFLAGS) \ > diff -r 0ff8bd7adb9c acinclude.m4 > --- a/acinclude.m4 Wed Mar 31 10:32:12 2010 +0200 > +++ b/acinclude.m4 Wed Mar 31 11:58:26 2010 +0200 > @@ -1446,6 +1446,27 @@ > [Disable compilation of browser plugin])], > [enable_plugin="${enableval}"], [enable_plugin="yes"]) > AC_MSG_RESULT(${enable_plugin}) > + > +AC_MSG_CHECKING([whether to enable the plugin debug mode]) > +AC_ARG_ENABLE([plugin-debug-mode], > + [AS_HELP_STRING([--enable-plugin-debug-mode], > + [Enable the plugin debug mode]) > +],[ > + enable_plugin_debug_mode="${enableval}" > +],[ > + case "$PACKAGE_VERSION" in > + *pre*) enable_plugin_debug_mode="yes";; > + *) enable_plugin_debug_mode="no";; > + esac > +]) > +if test x${enable_plugin} != xyes ; then > + enable_plugin_debug_mode="no" > +fi > +AC_MSG_RESULT(${enable_plugin_debug_mode}) > +if test x${enable_plugin_debug_mode} = xyes ; then > + PLUGIN_DEBUG_CFLAGS="-DPLUGIN_DEBUG_MODE=1" > +fi > +AC_SUBST(PLUGIN_DEBUG_CFLAGS) > ]) > > AC_DEFUN_ONCE([IT_CHECK_PLUGIN_DEPENDENCIES], > diff -r 0ff8bd7adb9c plugin/icedteanp/IcedTeaNPPlugin.cc > --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Wed Mar 31 10:32:12 2010 +0200 > +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Wed Mar 31 11:58:26 2010 +0200 > @@ -234,7 +234,11 @@ > static GPid appletviewer_pid = -1; > static guint appletviewer_watch_id = -1; > > +#ifdef PLUGIN_DEBUG_MODE > int plugin_debug = getenv ("ICEDTEAPLUGIN_DEBUG") != NULL; > +#else > +int plugin_debug = 0; > +#endif > > pthread_cond_t cond_message_available = PTHREAD_COND_INITIALIZER; > From xerxes at zafena.se Wed Mar 31 10:55:17 2010 From: xerxes at zafena.se (Xerxes Ranby) Date: Wed, 31 Mar 2010 19:55:17 +0200 Subject: /hg/release/icedtea6-1.8: Fix for fast bytecode in cpp interpreter In-Reply-To: References: <17c6771e1003301809w6746657an2519738005cf4d2d@mail.gmail.com> Message-ID: <4BB38C85.9030704@zafena.se> Andrew John Hughes wrote: > On 31 March 2010 01:09, Andrew John Hughes wrote: > >> On 31 March 2010 01:05, wrote: >> >>> changeset 6c90850063a6 in /hg/release/icedtea6-1.8 >>> details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=6c90850063a6 >>> author: doko at ubuntu.com >>> date: Wed Mar 31 02:41:55 2010 +0200 >>> >>> Fix for fast bytecode in cpp interpreter >>> >>> >>> diffstat: >>> >>> 3 files changed, 20 insertions(+) >>> ChangeLog | 4 ++++ >>> Makefile.am | 1 + >>> patches/zero/cppInterpreter-fast-bytecodes.patch | 15 +++++++++++++++ >>> >>> diffs (41 lines): >>> >>> diff -r e3d17434ea31 -r 6c90850063a6 ChangeLog >>> --- a/ChangeLog Wed Mar 31 01:53:39 2010 +0200 >>> +++ b/ChangeLog Wed Mar 31 02:41:55 2010 +0200 >>> @@ -1,3 +1,7 @@ 2010-03-31 Matthias Klose >> +2010-03-30 Edward Nevill >>> + >>> + * bytecodeInterpreter.cpp Fix to support fast bytecodes >>> + >>> 2010-03-31 Matthias Klose >>> >>> * acinclude.m4 (ENABLE_ZERO_BUILD): Depend on IT_SET_ARCH_SETTINGS. >>> diff -r e3d17434ea31 -r 6c90850063a6 Makefile.am >>> --- a/Makefile.am Wed Mar 31 01:53:39 2010 +0200 >>> +++ b/Makefile.am Wed Mar 31 02:41:55 2010 +0200 >>> @@ -220,6 +220,7 @@ ICEDTEA_PATCHES = \ >>> patches/zero/6909153.patch \ >>> patches/zero/6913869.patch \ >>> patches/zero/6914622.patch \ >>> + patches/zero/cppInterpreter-fast-bytecodes.patch \ >>> patches/icedtea-notice-safepoints.patch \ >>> patches/icedtea-parisc-opt.patch \ >>> patches/icedtea-lucene-crash.patch \ >>> diff -r e3d17434ea31 -r 6c90850063a6 patches/zero/cppInterpreter-fast-bytecodes.patch >>> --- /dev/null Thu Jan 01 00:00:00 1970 +0000 >>> +++ b/patches/zero/cppInterpreter-fast-bytecodes.patch Wed Mar 31 02:41:55 2010 +0200 >>> @@ -0,0 +1,15 @@ >>> +Index: openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp >>> +=================================================================== >>> +--- openjdk.orig/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp 2010-03-19 10:35:14.000000000 +0100 >>> ++++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp 2010-03-19 10:39:01.000000000 +0100 >>> +@@ -2328,6 +2328,10 @@ >>> + } >>> + >>> + DEFAULT: >>> ++ if (Bytecodes::is_defined((Bytecodes::Code)opcode)) { >>> ++ opcode = (jubyte)Bytecodes::java_code((Bytecodes::Code)opcode); >>> ++ goto opcode_switch; >>> ++ } >>> + fatal2("\t*** Unimplemented opcode: %d = %s\n", >>> + opcode, Bytecodes::name((Bytecodes::Code)opcode)); >>> + goto finish; >>> >>> >> I didn't see any review of this for HEAD, never mind for the branch. >> >> THe HotSpot team suggested it may cause a performance deficit: >> http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2010-March/002967.html >> > > Ok, there was a post for the HEAD commit: > > http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-March/008818.html > > which must have got lost in all the security updates. However, I > still don't think this should be added to the 1.8 branch until all > issues have been resolved with upstream. > I am happy to see this fix in the release branch and head since if fixes a issue found in both branches. The reason why the HotSpot team dont understand how fast bytecodes can end up in the cpp interpreter are because the fast bytecodes are inserted by the new ARM ASM interpreter and all the new ARM ASM interpreter code changesets have not yet been upstreamed, so the hotspot team currently dont know about these changesets existance. This issue itself currently hits when Shark directly calls the cpp interpreterts main loop after marking a method non entrant. Most of the time the fast bytecodes will be handled optimally by the new ASM interpreter on ARM thus this do not cause any performance deficit. Ed: Are the ASM interpreter in a good shape in order to begin upstreaming to OpenJDK? Cheers Xerxes From shrikant.khanduri at gmail.com Wed Mar 31 12:01:22 2010 From: shrikant.khanduri at gmail.com (Shrikant Khanduri) Date: Thu, 1 Apr 2010 00:31:22 +0530 Subject: OpenJDK7 Message-ID: Hi all, I am new to the community and for OpenJDK also. I am interested in openJDK7 and want to know which processor(64bit) & OS combination, it supports. Also how much part of openjdk7 is not open as compared to sun JDK. Thanks -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20100401/7a444318/attachment.html From ahughes at redhat.com Wed Mar 31 13:56:02 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Wed, 31 Mar 2010 20:56:02 +0000 Subject: /hg/release/icedtea6-1.8: Fix for fast bytecode in cpp interpreter In-Reply-To: <4BB38C85.9030704@zafena.se> References: <17c6771e1003301809w6746657an2519738005cf4d2d@mail.gmail.com> <4BB38C85.9030704@zafena.se> Message-ID: On 31 March 2010 17:55, Xerxes Ranby wrote: > Andrew John Hughes wrote: >> >> On 31 March 2010 01:09, Andrew John Hughes wrote: >> >>> >>> On 31 March 2010 01:05, ? wrote: >>> >>>> >>>> changeset 6c90850063a6 in /hg/release/icedtea6-1.8 >>>> details: >>>> http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=6c90850063a6 >>>> author: doko at ubuntu.com >>>> date: Wed Mar 31 02:41:55 2010 +0200 >>>> >>>> ? ? ? Fix for fast bytecode in cpp interpreter >>>> >>>> >>>> diffstat: >>>> >>>> 3 files changed, 20 insertions(+) >>>> ChangeLog ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? ?4 ++++ >>>> Makefile.am ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? ?1 + >>>> patches/zero/cppInterpreter-fast-bytecodes.patch | ? 15 +++++++++++++++ >>>> >>>> diffs (41 lines): >>>> >>>> diff -r e3d17434ea31 -r 6c90850063a6 ChangeLog >>>> --- a/ChangeLog Wed Mar 31 01:53:39 2010 +0200 >>>> +++ b/ChangeLog Wed Mar 31 02:41:55 2010 +0200 >>>> @@ -1,3 +1,7 @@ 2010-03-31 ?Matthias Klose ?>>> +2010-03-30 ?Edward Nevill ? >>>> + >>>> + ? ? ? * bytecodeInterpreter.cpp Fix to support fast bytecodes >>>> + >>>> ?2010-03-31 ?Matthias Klose ? >>>> >>>> ? ? ? * acinclude.m4 (ENABLE_ZERO_BUILD): Depend on >>>> IT_SET_ARCH_SETTINGS. >>>> diff -r e3d17434ea31 -r 6c90850063a6 Makefile.am >>>> --- a/Makefile.am ? ? ? Wed Mar 31 01:53:39 2010 +0200 >>>> +++ b/Makefile.am ? ? ? Wed Mar 31 02:41:55 2010 +0200 >>>> @@ -220,6 +220,7 @@ ICEDTEA_PATCHES = \ >>>> ? ? ? patches/zero/6909153.patch \ >>>> ? ? ? patches/zero/6913869.patch \ >>>> ? ? ? patches/zero/6914622.patch \ >>>> + ? ? ? patches/zero/cppInterpreter-fast-bytecodes.patch \ >>>> ? ? ? patches/icedtea-notice-safepoints.patch \ >>>> ? ? ? patches/icedtea-parisc-opt.patch \ >>>> ? ? ? patches/icedtea-lucene-crash.patch \ >>>> diff -r e3d17434ea31 -r 6c90850063a6 >>>> patches/zero/cppInterpreter-fast-bytecodes.patch >>>> --- /dev/null ? Thu Jan 01 00:00:00 1970 +0000 >>>> +++ b/patches/zero/cppInterpreter-fast-bytecodes.patch ?Wed Mar 31 >>>> 02:41:55 2010 +0200 >>>> @@ -0,0 +1,15 @@ >>>> +Index: openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp >>>> +=================================================================== >>>> +--- >>>> openjdk.orig/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp >>>> ?2010-03-19 10:35:14.000000000 +0100 >>>> ++++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp >>>> 2010-03-19 10:39:01.000000000 +0100 >>>> +@@ -2328,6 +2328,10 @@ >>>> + ? ? ? } >>>> + >>>> + ? ? ? DEFAULT: >>>> ++ ? ? ? ? if (Bytecodes::is_defined((Bytecodes::Code)opcode)) { >>>> ++ ? ? ? ? ? opcode = >>>> (jubyte)Bytecodes::java_code((Bytecodes::Code)opcode); >>>> ++ ? ? ? ? ? goto opcode_switch; >>>> ++ ? ? ? ? } >>>> + ? ? ? ? ? fatal2("\t*** Unimplemented opcode: %d = %s\n", >>>> + ? ? ? ? ? ? ? ? ?opcode, Bytecodes::name((Bytecodes::Code)opcode)); >>>> + ? ? ? ? ? goto finish; >>>> >>>> >>> >>> I didn't see any review of this for HEAD, never mind for the branch. >>> >>> THe HotSpot team suggested it may cause a performance deficit: >>> >>> http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2010-March/002967.html >>> >> >> Ok, there was a post for the HEAD commit: >> >> >> http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-March/008818.html >> >> which must have got lost in all the security updates. ?However, ?I >> still don't think this should be added to the 1.8 branch until all >> issues have been resolved with upstream. >> > > I am happy to see this fix in the release branch and head since if fixes a > issue found in both branches. > > The reason why the HotSpot team dont understand how fast bytecodes can end > up in the cpp interpreter are because the fast bytecodes are inserted by the > new ARM ASM interpreter and all the new ARM ASM interpreter code changesets > have not yet been upstreamed, so the hotspot team currently dont know about > these changesets existance. > This issue itself currently hits when Shark directly calls the cpp > interpreterts main loop after marking a method non entrant. > Most of the time the fast bytecodes will be handled optimally by the new ASM > interpreter on ARM thus this do not cause any performance deficit. > Yes, it fixes an issue with Shark. But it affects code used by HotSpot generally. We shouldn't be putting it in a release without more time for testing. > Ed: Are the ASM interpreter in a good shape in order to begin upstreaming to > OpenJDK? > > Cheers > Xerxes > -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From ahughes at redhat.com Wed Mar 31 14:39:15 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Wed, 31 Mar 2010 21:39:15 +0000 Subject: OpenJDK7 In-Reply-To: References: Message-ID: On 31 March 2010 19:01, Shrikant Khanduri wrote: > Hi all, > I am new to the community and for OpenJDK also. > I am interested in openJDK7 and want to know which processor(64bit) & OS > combination, it supports. There is full HotSpot support for x86, x86_64 and SPARC on GNU/Linux and Solaris. I believe x86 and x86_64 are also supported on Windows. Interpreted support is available via the Zero assembler port project instigated at Red Hat for other platforms e.g. PowerPC, ARM, etc. > Also how much part of openjdk7 is not open as compared to sun JDK. All of OpenJDK7 is open, hence the name. There is no Sun JDK any more. All of the proprietary Oracle JDK is not open. > Thanks Thanks, -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From andrew at icedtea.classpath.org Wed Mar 31 14:49:15 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 31 Mar 2010 21:49:15 +0000 Subject: /hg/release/icedtea6-1.7: 2 new changesets Message-ID: changeset 15fbe52e01df in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=15fbe52e01df author: Andrew John Hughes date: Wed Mar 31 21:44:56 2010 +0100 Bump to 1.7.3. Mention changes in NEWS. 2010-03-31 Andrew John Hughes * configure.ac: Bump version to 1.7.3. * NEWS: Add 1.7.3 changes. changeset cf5e5cb5f1cd in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=cf5e5cb5f1cd author: Andrew John Hughes date: Wed Mar 31 22:49:05 2010 +0100 Add fix for Ant 1.8.0 -diagnostics. 2010-03-31 Andrew John Hughes * Makefile.am: Add Ant patch. * NEWS: Mention Ant patch. * patches/ant-1.8.0.patch: Fix for Ant -diagnostics with Ant 1.8.0 http://hg.openjdk.java.net/jdk7/tl/langtools/rev/de6375751eb7 diffstat: 5 files changed, 51 insertions(+), 2 deletions(-) ChangeLog | 13 +++++++++++++ Makefile.am | 3 ++- NEWS | 4 ++++ configure.ac | 2 +- patches/ant-1.8.0.patch | 31 +++++++++++++++++++++++++++++++ diffs (88 lines): diff -r 94084cbf82d3 -r cf5e5cb5f1cd ChangeLog --- a/ChangeLog Wed Mar 31 10:37:24 2010 +0200 +++ b/ChangeLog Wed Mar 31 22:49:05 2010 +0100 @@ -1,3 +1,16 @@ 2010-03-31 Matthias Klose + + * Makefile.am: Add Ant patch. + * NEWS: Mention Ant patch. + * patches/ant-1.8.0.patch: + Fix for Ant -diagnostics with Ant 1.8.0 + http://hg.openjdk.java.net/jdk7/tl/langtools/rev/de6375751eb7 + +2010-03-31 Andrew John Hughes + + * configure.ac: Bump version to 1.7.3. + * NEWS: Add 1.7.3 changes. + 2010-03-31 Matthias Klose * plugin/icedteanp/IcedTeaNPPlugin.cc (plugin_start_appletviewer): diff -r 94084cbf82d3 -r cf5e5cb5f1cd Makefile.am --- a/Makefile.am Wed Mar 31 10:37:24 2010 +0200 +++ b/Makefile.am Wed Mar 31 22:49:05 2010 +0100 @@ -331,7 +331,8 @@ ICEDTEA_PATCHES = \ patches/security/20100330/6910590.patch \ patches/security/20100330/6914823.patch \ patches/security/20100330/6914866.patch \ - patches/security/20100330/6932480.patch + patches/security/20100330/6932480.patch \ + patches/ant-1.8.0.patch if WITH_RHINO ICEDTEA_PATCHES += \ diff -r 94084cbf82d3 -r cf5e5cb5f1cd NEWS --- a/NEWS Wed Mar 31 10:37:24 2010 +0200 +++ b/NEWS Wed Mar 31 22:49:05 2010 +0100 @@ -1,3 +1,7 @@ New in release 1.7.2 (2010-03-31): +New in release 1.7.3 (2010-03-31): +- Fix for plugin buffer overflow: https://bugzilla.mozilla.org/show_bug.cgi?id=555342 +- Fix issue with ant -diagnostics on ant 1.8.0 due to changed exit code + New in release 1.7.2 (2010-03-31): - Latest security updates and hardening patches: diff -r 94084cbf82d3 -r cf5e5cb5f1cd configure.ac --- a/configure.ac Wed Mar 31 10:37:24 2010 +0200 +++ b/configure.ac Wed Mar 31 22:49:05 2010 +0100 @@ -1,4 +1,4 @@ AC_INIT([icedtea6], [1.7.2], [distro-pkg -AC_INIT([icedtea6], [1.7.2], [distro-pkg-dev at openjdk.java.net]) +AC_INIT([icedtea6], [1.7.3], [distro-pkg-dev at openjdk.java.net]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) AC_CONFIG_FILES([Makefile]) diff -r 94084cbf82d3 -r cf5e5cb5f1cd patches/ant-1.8.0.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/ant-1.8.0.patch Wed Mar 31 22:49:05 2010 +0100 @@ -0,0 +1,31 @@ + +# HG changeset patch +# User ohair +# Date 1269668224 25200 +# Node ID de6375751eb789306126ccfa23a8145bf43af828 +# Parent 65e422bbb9841febf9bfa706322b0870711fe6a0 +6938326: Use of "ant -diagnostics" a problem with ant 1.8.0, exit code 1 now +Reviewed-by: jjg + +--- openjdk.orig/langtools/make/Makefile Wed Mar 24 17:02:35 2010 -0700 ++++ openjdk/langtools/make/Makefile Fri Mar 26 22:37:04 2010 -0700 +@@ -188,10 +188,16 @@ clobber: clean + # All ant targets of interest + ANT_TARGETS = build clean sanity post-sanity diagnostics # for now + ++# Create diagnostics log (careful, ant 1.8.0 -diagnostics always does an exit 1) ++$(OUTPUTDIR)/build/ant-diagnostics.log: ++ @mkdir -p $(OUTPUTDIR)/build $(ANT_TMPDIR) ++ @$(RM) $@ ++ $(ANT_JAVA_HOME) $(ANT_OPTS) $(ANT) -diagnostics > $@ ; \ ++ $(ANT_JAVA_HOME) $(ANT_OPTS) $(ANT) -version >> $@ ++ + # Create a make target for each +-$(ANT_TARGETS): ++$(ANT_TARGETS): $(OUTPUTDIR)/build/ant-diagnostics.log + @ mkdir -p $(OUTPUTDIR)/build $(ANT_TMPDIR) +- $(ANT_JAVA_HOME) $(ANT_OPTS) $(ANT) -diagnostics > $(OUTPUTDIR)/build/ant-diagnostics.log + $(ANT_JAVA_HOME) $(ANT_OPTS) $(ANT) $(ANT_OPTIONS) $@ + + #------------------------------------------------------------------- + From andrew at icedtea.classpath.org Wed Mar 31 14:53:21 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 31 Mar 2010 21:53:21 +0000 Subject: /hg/release/icedtea6-1.8: Add Ant 1.8.0 diagnostics fix. Message-ID: changeset 6189f67c458a in /hg/release/icedtea6-1.8 details: http://icedtea.classpath.org/hg/release/icedtea6-1.8?cmd=changeset;node=6189f67c458a author: Andrew John Hughes date: Wed Mar 31 22:53:13 2010 +0100 Add Ant 1.8.0 diagnostics fix. 2010-03-31 Andrew John Hughes * Makefile.am: Add Ant patch. * NEWS: Mention Ant and plugin patch. * patches/ant-1.8.0.patch: Fix for Ant -diagnostics with Ant 1.8.0 http://hg.openjdk.java.net/jdk7/tl/langtools/rev/de6375751eb7 diffstat: 4 files changed, 43 insertions(+), 1 deletion(-) ChangeLog | 8 ++++++++ Makefile.am | 3 ++- NEWS | 2 ++ patches/ant-1.8.0.patch | 31 +++++++++++++++++++++++++++++++ diffs (75 lines): diff -r 56cef624c2e6 -r 6189f67c458a ChangeLog --- a/ChangeLog Wed Mar 31 16:32:04 2010 +0200 +++ b/ChangeLog Wed Mar 31 22:53:13 2010 +0100 @@ -1,3 +1,11 @@ 2010-03-31 Matthias Klose + + * Makefile.am: Add Ant patch. + * NEWS: Mention Ant patch. + * patches/ant-1.8.0.patch: + Fix for Ant -diagnostics with Ant 1.8.0 + http://hg.openjdk.java.net/jdk7/tl/langtools/rev/de6375751eb7 + 2010-03-31 Matthias Klose * plugin/icedteanp/IcedTeaNPPlugin.cc (plugin_start_appletviewer): diff -r 56cef624c2e6 -r 6189f67c458a Makefile.am --- a/Makefile.am Wed Mar 31 16:32:04 2010 +0200 +++ b/Makefile.am Wed Mar 31 22:53:13 2010 +0100 @@ -321,7 +321,8 @@ ICEDTEA_PATCHES = \ patches/security/20100330/6910590.patch \ patches/security/20100330/6914823.patch \ patches/security/20100330/6914866.patch \ - patches/security/20100330/6932480.patch + patches/security/20100330/6932480.patch \ + patches/ant-1.8.0.patch if WITH_RHINO ICEDTEA_PATCHES += \ diff -r 56cef624c2e6 -r 6189f67c458a NEWS --- a/NEWS Wed Mar 31 16:32:04 2010 +0200 +++ b/NEWS Wed Mar 31 22:53:13 2010 +0100 @@ -35,6 +35,8 @@ New in release 1.8 (2010-XX-XX): - Dependence on the binary plugs mechanism removed. The plugin and NetX code is now imported into the JDK build in the same manner as langtools, CORBA, JAXP and JAXWS. +- Fix for plugin buffer overflow: https://bugzilla.mozilla.org/show_bug.cgi?id=555342 +- Fix issue with ant -diagnostics on ant 1.8.0 due to changed exit code - Zero/Shark - Shark is now able to build itself. - For ARM, add Thumb2 JIT. diff -r 56cef624c2e6 -r 6189f67c458a patches/ant-1.8.0.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/ant-1.8.0.patch Wed Mar 31 22:53:13 2010 +0100 @@ -0,0 +1,31 @@ + +# HG changeset patch +# User ohair +# Date 1269668224 25200 +# Node ID de6375751eb789306126ccfa23a8145bf43af828 +# Parent 65e422bbb9841febf9bfa706322b0870711fe6a0 +6938326: Use of "ant -diagnostics" a problem with ant 1.8.0, exit code 1 now +Reviewed-by: jjg + +--- openjdk.orig/langtools/make/Makefile Wed Mar 24 17:02:35 2010 -0700 ++++ openjdk/langtools/make/Makefile Fri Mar 26 22:37:04 2010 -0700 +@@ -188,10 +188,16 @@ clobber: clean + # All ant targets of interest + ANT_TARGETS = build clean sanity post-sanity diagnostics # for now + ++# Create diagnostics log (careful, ant 1.8.0 -diagnostics always does an exit 1) ++$(OUTPUTDIR)/build/ant-diagnostics.log: ++ @mkdir -p $(OUTPUTDIR)/build $(ANT_TMPDIR) ++ @$(RM) $@ ++ $(ANT_JAVA_HOME) $(ANT_OPTS) $(ANT) -diagnostics > $@ ; \ ++ $(ANT_JAVA_HOME) $(ANT_OPTS) $(ANT) -version >> $@ ++ + # Create a make target for each +-$(ANT_TARGETS): ++$(ANT_TARGETS): $(OUTPUTDIR)/build/ant-diagnostics.log + @ mkdir -p $(OUTPUTDIR)/build $(ANT_TMPDIR) +- $(ANT_JAVA_HOME) $(ANT_OPTS) $(ANT) -diagnostics > $(OUTPUTDIR)/build/ant-diagnostics.log + $(ANT_JAVA_HOME) $(ANT_OPTS) $(ANT) $(ANT_OPTIONS) $@ + + #------------------------------------------------------------------- + From andrew at icedtea.classpath.org Wed Mar 31 15:02:38 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 31 Mar 2010 22:02:38 +0000 Subject: /hg/release/icedtea6-1.6: 2 new changesets Message-ID: changeset 649522401c6f in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=649522401c6f author: Andrew John Hughes date: Wed Mar 31 22:14:59 2010 +0100 Make replace-hotspot more robust. 2010-03-31 Andrew John Hughes * Makefile.am: (replace-hotspot.stamp): Don't delete openjdk/hotspot until new HotSpot is available, extracted and has the correct permissions. Fail immediately if one stage fails. changeset e78e331c336a in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=e78e331c336a author: Andrew John Hughes date: Wed Mar 31 22:57:45 2010 +0100 Fix Ant 1.8.0 diagnostics issue. 2010-03-31 Andrew John Hughes * Makefile.am: Add Ant patch. * NEWS: Mention Ant patch. * patches/ant-1.8.0.patch: Fix for Ant -diagnostics with Ant 1.8.0 http://hg.openjdk.java.net/jdk7/tl/langtools/rev/de6375751eb7 diffstat: 4 files changed, 51 insertions(+), 3 deletions(-) ChangeLog | 15 +++++++++++++++ Makefile.am | 7 ++++--- NEWS | 1 + patches/ant-1.8.0.patch | 31 +++++++++++++++++++++++++++++++ diffs (94 lines): diff -r f9061e19dfb0 -r e78e331c336a ChangeLog --- a/ChangeLog Wed Mar 31 01:41:40 2010 +0100 +++ b/ChangeLog Wed Mar 31 22:57:45 2010 +0100 @@ -1,3 +1,18 @@ 2010-03-31 Andrew John Hughes + + * Makefile.am: Add Ant patch. + * NEWS: Mention Ant patch. + * patches/ant-1.8.0.patch: + Fix for Ant -diagnostics with Ant 1.8.0 + http://hg.openjdk.java.net/jdk7/tl/langtools/rev/de6375751eb7 + +2010-03-31 Andrew John Hughes + + * Makefile.am: + (replace-hotspot.stamp): Don't delete openjdk/hotspot + until new HotSpot is available, extracted and has the + correct permissions. Fail immediately if one stage fails. + 2010-03-31 Andrew John Hughes * patches/hotspot/default/icedtea-gcc-stack-markings.patch: diff -r f9061e19dfb0 -r e78e331c336a Makefile.am --- a/Makefile.am Wed Mar 31 01:41:40 2010 +0100 +++ b/Makefile.am Wed Mar 31 22:57:45 2010 +0100 @@ -776,6 +776,7 @@ ICEDTEA_PATCHES += \ patches/security/20100330/6914823.patch \ patches/security/20100330/6914866.patch \ patches/security/20100330/6932480.patch \ + patches/ant-1.8.0.patch \ $(DISTRIBUTION_PATCHES) stamps/extract.stamp: stamps/download.stamp @@ -827,11 +828,11 @@ stamps/replace-hotspot.stamp: stamps/ext stamps/replace-hotspot.stamp: stamps/extract.stamp if WITH_ALT_HSBUILD if test "x${HSBUILD}" != "xoriginal"; then \ - rm -rf openjdk/hotspot ; \ if test -e ${HOTSPOT_SRC_ZIP} ; \ then \ - $(TAR) xf $(HOTSPOT_SRC_ZIP) ; \ - chmod -R ug+w master-* ; \ + $(TAR) xf $(HOTSPOT_SRC_ZIP) && \ + chmod -R ug+w master-* && \ + rm -rf openjdk/hotspot && \ mv master-$$($(AWK) 'version==$$1 {print $$2}' version=$(HSBUILD) \ $(abs_top_srcdir)/hotspot.map) openjdk/hotspot ; \ fi ; \ diff -r f9061e19dfb0 -r e78e331c336a NEWS --- a/NEWS Wed Mar 31 01:41:40 2010 +0100 +++ b/NEWS Wed Mar 31 22:57:45 2010 +0100 @@ -32,6 +32,7 @@ New in release 1.6.3 (2010-03-30) - Add SystemTap jstack support. - PR179: Rhino bootclasspath issue - PR356: Support ECC via NSS +- Fix issue with ant -diagnostics on ant 1.8.0 due to changed exit code New in release 1.6.2 (2009-11-09) - Latest security updates: diff -r f9061e19dfb0 -r e78e331c336a patches/ant-1.8.0.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/ant-1.8.0.patch Wed Mar 31 22:57:45 2010 +0100 @@ -0,0 +1,31 @@ + +# HG changeset patch +# User ohair +# Date 1269668224 25200 +# Node ID de6375751eb789306126ccfa23a8145bf43af828 +# Parent 65e422bbb9841febf9bfa706322b0870711fe6a0 +6938326: Use of "ant -diagnostics" a problem with ant 1.8.0, exit code 1 now +Reviewed-by: jjg + +--- openjdk.orig/langtools/make/Makefile Wed Mar 24 17:02:35 2010 -0700 ++++ openjdk/langtools/make/Makefile Fri Mar 26 22:37:04 2010 -0700 +@@ -188,10 +188,16 @@ clobber: clean + # All ant targets of interest + ANT_TARGETS = build clean sanity post-sanity diagnostics # for now + ++# Create diagnostics log (careful, ant 1.8.0 -diagnostics always does an exit 1) ++$(OUTPUTDIR)/build/ant-diagnostics.log: ++ @mkdir -p $(OUTPUTDIR)/build $(ANT_TMPDIR) ++ @$(RM) $@ ++ $(ANT_JAVA_HOME) $(ANT_OPTS) $(ANT) -diagnostics > $@ ; \ ++ $(ANT_JAVA_HOME) $(ANT_OPTS) $(ANT) -version >> $@ ++ + # Create a make target for each +-$(ANT_TARGETS): ++$(ANT_TARGETS): $(OUTPUTDIR)/build/ant-diagnostics.log + @ mkdir -p $(OUTPUTDIR)/build $(ANT_TMPDIR) +- $(ANT_JAVA_HOME) $(ANT_OPTS) $(ANT) -diagnostics > $(OUTPUTDIR)/build/ant-diagnostics.log + $(ANT_JAVA_HOME) $(ANT_OPTS) $(ANT) $(ANT_OPTIONS) $@ + + #------------------------------------------------------------------- + From ahughes at redhat.com Wed Mar 31 17:53:58 2010 From: ahughes at redhat.com (Andrew John Hughes) Date: Thu, 1 Apr 2010 00:53:58 +0000 Subject: IcedTea6 1.7.3 Released! Message-ID: We are pleased to announce the release of IcedTea6 1.7.3! The IcedTea project provides a harness to build the source code from OpenJDK6 using Free Software build tools. It also includes the only Free Java plugin and Web Start implementation, and support for additional architectures over and above x86, x86_64 and SPARC via the Zero assembler port. What's New? New in release 1.7.3 (2010-03-31): - Fix for plugin buffer overflow: https://bugzilla.mozilla.org/show_bug.cgi?id=555342 - Fix issue with ant -diagnostics on ant 1.8.0 due to changed exit code The tarball can be downloaded from: * http://icedtea.classpath.org/download/source/icedtea6-1.7.3.tar.gz The following people helped with the 1.7 release series: Lillian Angel, Gary Benson, Deepak Bhole, Andrew Haley, Andrew John Hughes, Nobuhiro Iwamatsu, Matthias Klose, Martin Matejovic, Edward Nevill, Xerxes R=C3=A5nby, Robert Schuster, Pavel Tisnovsky, Jon VanAlten, Mark Wie= laard and Man Lung Wong. We would also like to thank the bug reporters and testers! To get started: $ tar xzf icedtea6-1.7.3.tar.gz $ cd icedtea6-1.7.3 Full build requirements and instructions are in INSTALL: $ ./configure [--with-openjdk --enable-pulse-java --enable-systemtap --enable-zero...] $ make -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From andrew at icedtea.classpath.org Wed Mar 31 17:54:36 2010 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 01 Apr 2010 00:54:36 +0000 Subject: /hg/release/icedtea6-1.7: Added tag icedtea6-1.7.3 for changeset... Message-ID: changeset ca8875e4a89d in /hg/release/icedtea6-1.7 details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=ca8875e4a89d author: Andrew John Hughes date: Thu Apr 01 01:54:30 2010 +0100 Added tag icedtea6-1.7.3 for changeset cf5e5cb5f1cd diffstat: 1 file changed, 1 insertion(+) .hgtags | 1 + diffs (8 lines): diff -r cf5e5cb5f1cd -r ca8875e4a89d .hgtags --- a/.hgtags Wed Mar 31 22:49:05 2010 +0100 +++ b/.hgtags Thu Apr 01 01:54:30 2010 +0100 @@ -20,3 +20,4 @@ 4bfb7468a41eb089cac8dfb40fb6d79abe19db36 4bfb7468a41eb089cac8dfb40fb6d79abe19db36 icedtea6-1.7 5a3838937f7cc44c1d0fa2f778dbe1a8f5027bec icedtea6-1.7.1 6e9e64c22c9625939edcd20c1a9dcd7a7aaea723 icedtea6-1.7.2 +cf5e5cb5f1cd9aa7f3237e918504be6fa732fa26 icedtea6-1.7.3