Mercurial > hg > icedtea6-hg
changeset 2257:4ccee81e878c
Merge
author | Andrew John Hughes <ahughes@redhat.com> |
---|---|
date | Sun, 05 Sep 2010 20:25:14 +0100 |
parents | 2113816251fb (current diff) dfc3c1061ec7 (diff) |
children | 4d346d8d7d27 |
files | ChangeLog Makefile.am patches/cacao/version-parsing.patch patches/ecj/javah.patch |
diffstat | 24 files changed, 1394 insertions(+), 173 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Thu Aug 12 21:13:14 2010 +0100 +++ b/ChangeLog Sun Sep 05 20:25:14 2010 +0100 @@ -1,3 +1,140 @@ +2010-09-03 Pavel Tisnovsky <ptisnovs@redhat.com> + + * Makefile.am: Fixed indentation, changes spaces to tab. + +2010-09-02 Pavel Tisnovsky <ptisnovs@redhat.com> + + * Makefile.am: Add new patch. + * patches/icedtea-jtreg-OpenGLContextInit.patch: + New regression test added for checking if OpenGL context is properly initialized. + +2010-09-01 Pavel Tisnovsky <ptisnovs@redhat.com> + + * Makefile.am: Add two new patches, removed one unused patch. + * patches/openjdk/6755274-glgetstring-crash.patch: + * patches/openjdk/6791612-opengl-jni-fix.patch: + Backport of 6755274 and 6791612 patches to fix OpenGL-related failures + (improper OpenGL initialization and missing link to native functions) + +2010-08-27 Andrew John Hughes <ahughes@redhat.com> + + PR398, S6951319: + * Makefile.am: Add new patch. + * patches/openjdk/6951319-sparc_build_fixes.patch: + Backport of 6951319 to fix build issues on GNU/Linux+SPARC. + * patches/systemtap.patch: Rerolled against 6951319. + * NEWS: Updated. + +2010-08-27 Matthias Klose <doko@ubuntu.com> + + * patches/icedtea-too-many-args.diff: Fix build failure with + small SC_ARG_MAX. + * Makefile.am (ICEDTEA_PATCHES): Apply the above. + * patches/ecj/icedtea-hotspot.patch: Update. + +2010-08-27 Matthias Klose <doko@ubuntu.com> + + * Makefile.am: Bump cacao version to changeset including build + fixes for ARM and S390. + * patches/cacao/version-parsing.patch: Remove, applied upstream. + +2010-08-27 Deepak Bhole <dbhole@redhat.com> + + Fixes rhbz#560193 + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java + (activateJars): Process nested jar only if size > 0 bytes. + * plugin/icedteanp/IcedTeaNPPlugin.cc: Fixed file name in header. + +2010-08-26 Pavel Tisnovsky <ptisnovs@redhat.com> + + * Makefile.am: Add patch. + * patches/opengl-jni-fix.patch: + Fixed missing JNI link to native function + OGLContext.getOGLIdString() which causes + many OpenGL-related regression tests to fail. + +2010-08-25 Omair Majid <omajid@redhat.com> + + Fixes RH569121, S6438179 + * NEWS: Update with new backport. + * Makefile.am (ICEDTEA_PATCHES): Apply new patch. + * patches/openjdk/6438179-systray_check.patch: Backport of S6438179. + +2010-08-24 Andrew John Hughes <ahughes@redhat.com> + + * Makefile.am: Compile NimbusLookAndFeel as a + bootstrap class so the older version from + IcedTea6 1.8 is not used when bootstrapping + with it. + +2010-08-23 Andrew Su <asu@redhat.com> + + * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java + (parse): Removed parsing for unknown <app> tag. + +2010-08-20 Omair Majid <omajid@redhat.com> + + * netx/net/sourceforge/jnlp/JNLPFile.java + (getUpdate): New method. Returns the parsed UpdateDesc. + (parse): Call parser.getUpdate. + * netx/net/sourceforge/jnlp/Parser.java + (getUpdate): New method. Parses a node to find <update> elements. + * netx/net/sourceforge/jnlp/UpdateDesc.java: New class. + (UpdateDesc): New method. Creates a new UpdateDesc. + (getPolicy): New method. Returns the policy attribute of this update. + (getCheck): New method. Returns the check attribute for this update. + * netx/net/sourceforge/jnlp/resources/Messages.properties: + Add PTwoUpdates error. + +2010-08-19 Omair Majid <omajid@redhat.com> + + Fixes rhbz601281 + * NEWS: Update with this fix. + * netx/net/sourceforge/jnlp/JNLPSplashScreen.java + (setSplashImageURL): Check for possible null. + +2010-08-13 Andrew John Hughes <ahughes@redhat.com> + + * patches/ecj/javah.patch: Moved to... + * Makefile.am: Apply patch to OpenGL headers + only if javah exhibits Classpath bug 40188. + http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40188 + * patches/ecj/cp40188-opengl.patch: here. + +2009-05-19 Andrew John Hughes <ahughes@redhat.com> + + * acinclude.m4: + (IT_JAVAH): Renamed from IT_CP39408_JAVAH. + Add test for PR40188. + * configure.ac: + Make full bootstrap the default again. Rename + IT_CP39408_JAVAH to IT_JAVAH. + +2009-03-18 Andrew John Hughes <ahughes@redhat.com> + + * acinclude.m4: + (IT_CP39408_JAVAH): Add classpath specification + to JAVAC invocation to handle buggy ecjs. + +2009-03-17 Andrew John Hughes <ahughes@redhat.com> + + * acinclude.m4: + (IT_CP39408_JAVAH): New test for Classpath + bug 39408. + * configure.ac: Enable new test. Result + as yet unused. + +2010-08-13 Andrew John Hughes <ahughes@redhat.com> + + * Makefile.am: + Replace conditionals on LACKS_SUN_AWT_TOOLKIT + with ones on BOOTSTRAPPING. If we are bootstrapping, + we don't trust the system JDK and update rt.jar + with newly built classes, regardless of whether it's + an Oracle-based JDK or not. + * configure.ac: + Remove check for sun.awt.Toolkit. + 2010-08-12 Andrew John Hughes <ahughes@redhat.com> * patches/openjdk/4356282-opentype.patch,
--- a/Makefile.am Thu Aug 12 21:13:14 2010 +0100 +++ b/Makefile.am Sun Sep 05 20:25:14 2010 +0100 @@ -5,8 +5,8 @@ OPENJDK_VERSION = b20 OPENJDK_URL = http://download.java.net/openjdk/jdk6/promoted/$(OPENJDK_VERSION)/ -CACAO_VERSION = dd4532afd08a -CACAO_SHA256SUM = fc876403aeb46c6c16693cfc75ba0a2e581f7a98ddd02ac7f2bf4fc5c20765b4 +CACAO_VERSION = e321b101a9ee +CACAO_SHA256SUM = 46bc5b6212c199dc4a3dbebe6386fe15a8248625a5dffa17115aab394a298444 CACAO_BASE_URL = http://mips.complang.tuwien.ac.at CACAO_URL = $(CACAO_BASE_URL)/hg/cacao/archive/$(CACAO_VERSION).tar.bz2 CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.bz2 @@ -91,6 +91,7 @@ ICEDTEA_BOOTSTRAP_CLASSES = \ $(SHARE)/javax/swing/plaf/basic/BasicDirectoryModel.java \ $(SHARE)/javax/management/StandardMBean.java \ + $(SHARE)/com/sun/java/swing/plaf/nimbus/NimbusLookAndFeel.java \ $(NETX_BOOTSTRAP_CLASSES) # Flags @@ -283,7 +284,14 @@ patches/openjdk/6967533-pre_epoch.patch \ patches/fonts-rhel.patch \ patches/fonts-gentoo.patch \ - patches/ipv4-mapped-ipv6-addresses.patch + patches/ipv4-mapped-ipv6-addresses.patch \ + patches/openjdk/6795060-icu_crash.patch \ + patches/openjdk/4356282-opentype.patch \ + patches/openjdk/6954424-opentype_javadoc.patch \ + patches/openjdk/6438179-systray_check.patch \ + patches/openjdk/6951319-sparc_build_fixes.patch \ + patches/icedtea-too-many-args.patch \ + patches/icedtea-jtreg-OpenGLContextInit.patch if WITH_RHINO ICEDTEA_PATCHES += \ @@ -300,8 +308,7 @@ patches/cacao/launcher.patch \ patches/cacao/arm-arch-defines.patch \ patches/cacao/jsig.patch \ - patches/cacao/memory.patch \ - patches/cacao/version-parsing.patch + patches/cacao/memory.patch endif if WITH_CACAO @@ -318,7 +325,9 @@ if ENABLE_XRENDER ICEDTEA_PATCHES += patches/openjdk/6725214-direct3d-01.patch \ patches/openjdk/6307603-xrender-01.patch \ - patches/openjdk/6961633-xrender-02.patch + patches/openjdk/6961633-xrender-02.patch \ + patches/openjdk/6791612-opengl-jni-fix.patch \ + patches/openjdk/6755274-glgetstring-crash.patch endif if ENABLE_NIO2 @@ -360,9 +369,10 @@ endif if ENABLE_XRENDER -ICEDTEA_ECJ_PATCHES += \ - patches/ecj/needs-6.patch \ - patches/ecj/javah.patch +ICEDTEA_ECJ_PATCHES += patches/ecj/needs-6.patch +if CP40188_JAVAH +ICEDTEA_ECJ_PATCHES += patches/ecj/cp40188-opengl.patch +endif endif if !HAS_PAX @@ -2063,7 +2073,7 @@ done stamps/rt-class-files.stamp: $(INITIAL_BOOTSTRAP_LINK_STAMP) rt-source-files.txt -if LACKS_SUN_AWT_TOOLKIT +if BOOTSTRAPPING mkdir -p lib/rt $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) -d lib/rt \ -sourcepath $(SOURCEPATH_DIRS) -bootclasspath \'\' \ @@ -2078,7 +2088,7 @@ rm -f stamps/rt-class-files.stamp rm -f stamps/rt.stamp rm -f rt-source-files.txt -if LACKS_SUN_AWT_TOOLKIT +if BOOTSTRAPPING if [ -e $(ECJ_BOOT_DIR) ] ; then \ cp $(SYSTEM_JDK_DIR)/jre/lib/rt.jar $(ECJ_BOOT_DIR)/jre/lib/rt.jar ; \ fi @@ -2086,7 +2096,7 @@ stamps/rt.stamp: stamps/rt-class-files.stamp mkdir -p stamps -if LACKS_SUN_AWT_TOOLKIT +if BOOTSTRAPPING $(BOOT_DIR)/bin/jar uf $(RUNTIME) -C lib/rt com -C lib/rt java \ -C lib/rt javax -C lib/rt sun if ENABLE_NIO2
--- a/NEWS Thu Aug 12 21:13:14 2010 +0100 +++ b/NEWS Sun Sep 05 20:25:14 2010 +0100 @@ -12,6 +12,10 @@ * Backports from OpenJDK6 - S4356282, RH525870: RFE: T2K should be used to rasterize CID/CFF fonts - S6954424: Support OpenType/CFF fonts in JDK 7 + - S6438179: XToolkit.isTraySupported() result has nothing to do with the system tray + - S6951319: enable solaris builds using Sun Studio 12 update 1 (fixes PR398) +* NetX + - RH601281: Possible NullPointerException in splash screen code New in release 1.9 (2010-XX-XX):
--- a/acinclude.m4 Thu Aug 12 21:13:14 2010 +0100 +++ b/acinclude.m4 Sun Sep 05 20:25:14 2010 +0100 @@ -1515,3 +1515,62 @@ AM_CONDITIONAL([HAS_PAX], test x"${it_cv_pax}" = "xyes") AC_PROVIDE([$0])dnl ]) + +AC_DEFUN([IT_JAVAH],[ +AC_CACHE_CHECK([if $JAVAH exhibits Classpath bug 39408], it_cv_cp39408_javah, [ +SUPERCLASS=Test.java +SUBCLASS=TestImpl.java +SUB=$(echo $SUBCLASS|sed 's#\.java##') +SUBHEADER=$(echo $SUBCLASS|sed 's#\.java#.h#') +mkdir tmp.$$ +cd tmp.$$ +cat << \EOF > $SUPERCLASS +/* [#]line __oline__ "configure" */ +public class Test +{ + public static final int POTATO = 0; + public static final int CABBAGE = 1; +} +EOF +cat << \EOF > $SUBCLASS +/* [#]line __oline__ "configure" */ +public class TestImpl + extends Test +{ + public native void doStuff(); +} +EOF +if $JAVAC -cp . $JAVACFLAGS $SUBCLASS >&AS_MESSAGE_LOG_FD 2>&1; then + if $JAVAH -classpath . $SUB >&AS_MESSAGE_LOG_FD 2>&1; then + if cat $SUBHEADER | grep POTATO >&AS_MESSAGE_LOG_FD 2>&1; then + it_cv_cp39408_javah=no; + else + it_cv_cp39408_javah=yes; + fi + else + AC_MSG_ERROR([The Java header generator $JAVAH failed]) + echo "configure: failed program was:" >&AC_FD_CC + cat $SUBCLASS >&AC_FD_CC + fi +else + AC_MSG_ERROR([The Java compiler $JAVAC failed]) + echo "configure: failed program was:" >&AC_FD_CC + cat $SUBCLASS >&AC_FD_CC +fi +]) +AC_CACHE_CHECK([if $JAVAH exhibits Classpath bug 40188], it_cv_cp40188_javah, [ + if test -e $SUBHEADER ; then + if cat $SUBHEADER | grep TestImpl_POTATO >&AS_MESSAGE_LOG_FD 2>&1; then + it_cv_cp40188_javah=no; + else + it_cv_cp40188_javah=yes; + fi + fi +]) +rm -f $SUBCLASS $SUPERCLASS $SUBHEADER *.class +cd .. +rmdir tmp.$$ +AM_CONDITIONAL([CP39408_JAVAH], test x"${it_cv_cp39408_javah}" = "xyes") +AM_CONDITIONAL([CP40188_JAVAH], test x"${it_cv_cp40188_javah}" = "xyes") +AC_PROVIDE([$0])dnl +])
--- a/configure.ac Thu Aug 12 21:13:14 2010 +0100 +++ b/configure.ac Sun Sep 05 20:25:14 2010 +0100 @@ -178,9 +178,9 @@ ENABLE_HG 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 +IT_JAVAH dnl pkgconfig cannot be used to find these headers and libraries. AC_CHECK_HEADERS([cups/cups.h cups/ppd.h],[]
--- a/netx/net/sourceforge/jnlp/JNLPFile.java Thu Aug 12 21:13:14 2010 +0100 +++ b/netx/net/sourceforge/jnlp/JNLPFile.java Sun Sep 05 20:25:14 2010 +0100 @@ -83,6 +83,8 @@ /** information */ protected List info; + protected UpdateDesc update; + /** resources */ protected List resources; @@ -345,6 +347,13 @@ } /** + * Returns the update section of the JNLP file. + */ + public UpdateDesc getUpdate() { + return update; + } + + /** * Returns the security section of the JNLP file. */ public SecurityDesc getSecurity() { @@ -561,6 +570,7 @@ codeBase = parser.getCodeBase(); sourceLocation = parser.getFileLocation() != null ? parser.getFileLocation() : location; info = parser.getInfo(root); + update = parser.getUpdate(root); resources = parser.getResources(root, false); // false == not a j2se/java resources section launchType = parser.getLauncher(root); security = parser.getSecurity(root);
--- a/netx/net/sourceforge/jnlp/JNLPSplashScreen.java Thu Aug 12 21:13:14 2010 +0100 +++ b/netx/net/sourceforge/jnlp/JNLPSplashScreen.java Sun Sep 05 20:25:14 2010 +0100 @@ -44,6 +44,12 @@ try { splashImage = ImageIO.read(resourceTracker .getCacheFile(splashImageUrl)); + if (splashImage == null) { + if (JNLPRuntime.isDebug()) { + System.err.println("Error loading splash image: " + url); + } + return; + } } catch (IOException e) { if (JNLPRuntime.isDebug()) { System.err.println("Error loading splash image: " + url);
--- a/netx/net/sourceforge/jnlp/Parser.java Thu Aug 12 21:13:14 2010 +0100 +++ b/netx/net/sourceforge/jnlp/Parser.java Sun Sep 05 20:25:14 2010 +0100 @@ -25,6 +25,8 @@ //import org.w3c.dom.*; // class for using Tiny XML | NanoXML //import org.xml.sax.*; //import gd.xml.tiny.*; +import net.sourceforge.jnlp.UpdateDesc.Check; +import net.sourceforge.jnlp.UpdateDesc.Policy; import net.sourceforge.jnlp.runtime.JNLPRuntime; import net.sourceforge.nanoxml.*; @@ -178,6 +180,53 @@ return spec; } + public UpdateDesc getUpdate(Node parent) throws ParseException { + UpdateDesc updateDesc = null; + Node child = parent.getFirstChild(); + while (child != null) { + if (child.getNodeName().equals("update")) { + if (strict && updateDesc != null) { + throw new ParseException(R("PTwoUpdates")); + } + + Node node = child; + + Check check; + String checkValue = getAttribute(node, "check", "timeout"); + if (checkValue.equals("always")) { + check = Check.ALWAYS; + } else if (checkValue.equals("timeout")) { + check = Check.TIMEOUT; + } else if (checkValue.equals("background")) { + check = Check.BACKGROUND; + } else { + check = Check.TIMEOUT; + } + + String policyString = getAttribute(node, "policy", "always"); + Policy policy; + if (policyString.equals("always")) { + policy = Policy.ALWAYS; + } else if (policyString.equals("prompt-update")) { + policy = Policy.PROMPT_UPDATE; + } else if (policyString.equals("prompt-run")) { + policy = Policy.PROMPT_RUN; + } else { + policy = Policy.ALWAYS; + } + + updateDesc = new UpdateDesc(check, policy); + } + + child = child.getNextSibling(); + } + + if (updateDesc == null) { + updateDesc = new UpdateDesc(Check.TIMEOUT, Policy.ALWAYS); + } + return updateDesc; + } + // // This section loads the resources elements // @@ -1267,4 +1316,5 @@ return encoding; } + }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/netx/net/sourceforge/jnlp/UpdateDesc.java Sun Sep 05 20:25:14 2010 +0100 @@ -0,0 +1,70 @@ +package net.sourceforge.jnlp; + +/** + * Represents an 'update' element in a JNLP file. This element describes when to + * check for updates and what actions to take if updates are available + * + * @see Check + * @see Policy + */ +public class UpdateDesc { + + /** + * Describes when/how long to check for updates. + */ + public enum Check { + /** Always check for updates before launching the application */ + ALWAYS, + + /** + * Default. Check for updates until a certain timeout. If the update + * check is not completed by timeout, launch the cached application and + * continue updating in the background + */ + TIMEOUT, + + /** Check for application updates in the background */ + BACKGROUND + } + + /** + * Describes what to do when the Runtime knows there is an applicatFion + * update before the application is launched. + */ + public enum Policy { + /** + * Default. Always download updates without any user prompt and then launch the + * application + */ + ALWAYS, + + /** + * Prompt the user asking whether the user wants to download and run the + * updated application or run the version in the cache + */ + PROMPT_UPDATE, + + /** + * Prompts the user asking to download and run the latest version of the + * application or abort running + */ + PROMPT_RUN, + } + + private Check check; + private Policy policy; + + public UpdateDesc(Check check, Policy policy) { + this.check = check; + this.policy = policy; + } + + public Check getCheck() { + return this.check; + } + + public Policy getPolicy() { + return this.policy; + } + +}
--- a/netx/net/sourceforge/jnlp/resources/Messages.properties Thu Aug 12 21:13:14 2010 +0100 +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Sun Sep 05 20:25:14 2010 +0100 @@ -88,6 +88,7 @@ PTwoMenus=Only one menu element allowed PTwoTitles=Only one title element allowed PTwoIcons=Only one icon element allowed +PTwoUpdates=Only one update element is allowed PUnknownApplet=Unknown Applet PBadWidth=Invalid applet width. PBadHeight=Invalid applet height.
--- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Thu Aug 12 21:13:14 2010 +0100 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Sun Sep 05 20:25:14 2010 +0100 @@ -638,13 +638,20 @@ byte[] bytes = new byte[1024]; int read = is.read(bytes); + int fileSize = read; while (read > 0) { extractedJar.write(bytes, 0, read); read = is.read(bytes); + fileSize += read; } is.close(); extractedJar.close(); + + // 0 byte file? skip + if (fileSize <= 0) { + continue; + } JarSigner signer = new JarSigner(); signer.verifyJar(extractedJarLocation);
--- a/patches/cacao/version-parsing.patch Thu Aug 12 21:13:14 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ ---- cacao/cacao/m4/version.m4~ 2010-06-23 16:18:58.000000000 +0100 -+++ cacao/cacao/m4/version.m4 2010-06-24 19:11:36.000000000 +0100 -@@ -29,7 +29,7 @@ - then - major=`echo "$version" | $SED -e 's/\.[[0-9a-z.+]]*$//'` - minor=`echo "$version" | $SED -e 's/^[[0-9]]*\.//' -e 's/\.[[0-9a-z.+]]*$//'` -- micro=`echo "$version" | $SED -e 's/^[[0-9]]*\.[[0-9]]*\.//' -e 's/[[a-z.+]]*$//'` -+ micro=`echo "$version" | $SED -r -e 's/^[[0-9]]*\.[[0-9]]*\.([[0-9]]*).*/\1/'` - extra=`echo "$version" | $SED -e 's/^[[0-9]]*\.[[0-9]]*\.[[0-9]]*//'` - else - major=`echo "$version" | $SED -e 's/\.[[0-9a-z.+]]*$//'`
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/ecj/cp40188-opengl.patch Sun Sep 05 20:25:14 2010 +0100 @@ -0,0 +1,92 @@ +diff -Nru openjdk-boot.orig/jdk/make/common/Rules.gmk openjdk-boot/jdk/make/common/Rules.gmk +--- openjdk-ecj.orig/jdk/make/common/Rules.gmk 2009-12-13 20:37:41.000000000 +0000 ++++ openjdk-ecj/jdk/make/common/Rules.gmk 2009-12-13 21:11:04.000000000 +0000 +@@ -303,7 +303,11 @@ + $(prep-target) + @$(ECHO) "# Running javah:" + $(JAVAH_CMD) -d $(CLASSHDRDIR)/ \ +- $(CLASSES.export) $(subst $$,\$$,$(EXPORTED_inner)) ++ $(CLASSES.export) ++ $(foreach innerclass,$(subst $$,\$$,$(EXPORTED_inner)), \ ++ $(JAVAH_CMD) \ ++ -o $(CLASSHDRDIR)/$(subst .,_,$(subst \$$,_,$(innerclass))).h \ ++ $(innerclass)) + @$(java-vm-cleanup) + @$(TOUCH) $@ + +diff -Nru openjdk-boot.orig/jdk/make/sun/awt/FILES_export_unix.gmk openjdk-boot/jdk/make/sun/awt/FILES_export_unix.gmk +--- openjdk-ecj.orig/jdk/make/sun/awt/FILES_export_unix.gmk 2009-12-04 23:26:35.000000000 +0000 ++++ openjdk-ecj/jdk/make/sun/awt/FILES_export_unix.gmk 2009-12-13 21:11:04.000000000 +0000 +@@ -189,3 +189,5 @@ + java/awt/dnd/DnDConstants.java \ + sun/awt/CausedFocusEvent.java + ++EXPORTED_inner = \ ++ sun.java2d.opengl.OGLContext$$OGLContextCaps +diff -Nru openjdk-boot.orig/jdk/src/share/native/sun/java2d/opengl/OGLContext.h openjdk-boot/jdk/src/share/native/sun/java2d/opengl/OGLContext.h +--- openjdk-ecj.orig/jdk/src/share/native/sun/java2d/opengl/OGLContext.h 2009-12-04 23:33:16.000000000 +0000 ++++ openjdk-ecj/jdk/src/share/native/sun/java2d/opengl/OGLContext.h 2009-12-13 21:11:04.000000000 +0000 +@@ -27,6 +27,7 @@ + #define OGLContext_h_Included + + #include "sun_java2d_pipe_BufferedContext.h" ++#include "sun_java2d_pipe_hw_ContextCapabilities.h" + #include "sun_java2d_opengl_OGLContext.h" + #include "sun_java2d_opengl_OGLContext_OGLContextCaps.h" + +@@ -100,39 +101,39 @@ + * See OGLContext.java for more on these flags. + */ + #define CAPS_EMPTY \ +- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_EMPTY ++ sun_java2d_pipe_hw_ContextCapabilities_CAPS_EMPTY + #define CAPS_RT_PLAIN_ALPHA \ +- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_RT_PLAIN_ALPHA ++ sun_java2d_pipe_hw_ContextCapabilities_CAPS_RT_PLAIN_ALPHA + #define CAPS_RT_TEXTURE_ALPHA \ +- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_RT_TEXTURE_ALPHA ++ sun_java2d_pipe_hw_ContextCapabilities_CAPS_RT_TEXTURE_ALPHA + #define CAPS_RT_TEXTURE_OPAQUE \ +- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_RT_TEXTURE_OPAQUE ++ sun_java2d_pipe_hw_ContextCapabilities_CAPS_RT_TEXTURE_OPAQUE + #define CAPS_MULTITEXTURE \ +- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_MULTITEXTURE ++ sun_java2d_pipe_hw_ContextCapabilities_CAPS_MULTITEXTURE + #define CAPS_TEXNONPOW2 \ +- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_TEXNONPOW2 ++ sun_java2d_pipe_hw_ContextCapabilities_CAPS_TEXNONPOW2 + #define CAPS_TEXNONSQUARE \ +- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_TEXNONSQUARE ++ sun_java2d_pipe_hw_ContextCapabilities_CAPS_TEXNONSQUARE + #define CAPS_PS20 \ +- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_PS20 ++ sun_java2d_pipe_hw_ContextCapabilities_CAPS_PS20 + #define CAPS_PS30 \ +- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_PS30 ++ sun_java2d_pipe_hw_ContextCapabilities_CAPS_PS30 + #define LAST_SHARED_CAP \ + sun_java2d_opengl_OGLContext_OGLContextCaps_LAST_SHARED_CAP + #define CAPS_EXT_FBOBJECT \ +- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_EXT_FBOBJECT ++ sun_java2d_opengl_OGLContext_00024OGLContextCaps_CAPS_EXT_FBOBJECT + #define CAPS_STORED_ALPHA \ +- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_STORED_ALPHA ++ sun_java2d_opengl_OGLContext_00024OGLContextCaps_CAPS_STORED_ALPHA + #define CAPS_DOUBLEBUFFERED \ +- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_DOUBLEBUFFERED ++ sun_java2d_opengl_OGLContext_00024OGLContextCaps_CAPS_DOUBLEBUFFERED + #define CAPS_EXT_LCD_SHADER \ +- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_EXT_LCD_SHADER ++ sun_java2d_opengl_OGLContext_00024OGLContextCaps_CAPS_EXT_LCD_SHADER + #define CAPS_EXT_BIOP_SHADER \ +- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_EXT_BIOP_SHADER ++ sun_java2d_opengl_OGLContext_00024OGLContextCaps_CAPS_EXT_BIOP_SHADER + #define CAPS_EXT_GRAD_SHADER \ +- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_EXT_GRAD_SHADER ++ sun_java2d_opengl_OGLContext_00024OGLContextCaps_CAPS_EXT_GRAD_SHADER + #define CAPS_EXT_TEXRECT \ +- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_EXT_TEXRECT ++ sun_java2d_opengl_OGLContext_00024OGLContextCaps_CAPS_EXT_TEXRECT + + /** + * Evaluates to true if the given capability bitmask is present for the
--- a/patches/ecj/icedtea-hotspot.patch Thu Aug 12 21:13:14 2010 +0100 +++ b/patches/ecj/icedtea-hotspot.patch Sun Sep 05 20:25:14 2010 +0100 @@ -1,14 +1,14 @@ diff -Nru openjdk-ecj.orig/hotspot/make/linux/makefiles/sa.make openjdk-ecj/hotspot/make/linux/makefiles/sa.make --- openjdk-ecj.orig/hotspot/make/linux/makefiles/sa.make 2010-03-29 21:34:15.000000000 +0100 +++ openjdk-ecj/hotspot/make/linux/makefiles/sa.make 2010-03-29 21:41:28.000000000 +0100 -@@ -74,8 +74,8 @@ - mkdir -p $(SA_CLASSDIR); \ - fi +@@ -80,8 +80,8 @@ + $(foreach file,$(AGENT_FILES1),$(shell echo $(file) >> $(AGENT_FILES1_LIST))) + $(foreach file,$(AGENT_FILES2),$(shell echo $(file) >> $(AGENT_FILES2_LIST))) -- $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) $(AGENT_FILES1) -- $(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.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH):$(BOOT_JAVA_HOME)/jre/lib/rt.jar -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) $(AGENT_FILES1) -+ $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH):$(BOOT_JAVA_HOME)/jre/lib/rt.jar -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) $(AGENT_FILES2) +- $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES1_LIST) +- $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES2_LIST) ++ $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH):$(BOOT_JAVA_HOME)/jre/lib/rt.jar -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES1_LIST) ++ $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH):$(BOOT_JAVA_HOME)/jre/lib/rt.jar -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES2_LIST) $(QUIETLY) $(REMOTE) $(COMPILE.RMIC) -classpath $(SA_CLASSDIR) -d $(SA_CLASSDIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer $(QUIETLY) echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES)
--- a/patches/ecj/javah.patch Thu Aug 12 21:13:14 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,92 +0,0 @@ -diff -Nru openjdk-boot.orig/jdk/make/common/Rules.gmk openjdk-boot/jdk/make/common/Rules.gmk ---- openjdk-ecj.orig/jdk/make/common/Rules.gmk 2009-12-13 20:37:41.000000000 +0000 -+++ openjdk-ecj/jdk/make/common/Rules.gmk 2009-12-13 21:11:04.000000000 +0000 -@@ -303,7 +303,11 @@ - $(prep-target) - @$(ECHO) "# Running javah:" - $(JAVAH_CMD) -d $(CLASSHDRDIR)/ \ -- $(CLASSES.export) $(subst $$,\$$,$(EXPORTED_inner)) -+ $(CLASSES.export) -+ $(foreach innerclass,$(subst $$,\$$,$(EXPORTED_inner)), \ -+ $(JAVAH_CMD) \ -+ -o $(CLASSHDRDIR)/$(subst .,_,$(subst \$$,_,$(innerclass))).h \ -+ $(innerclass)) - @$(java-vm-cleanup) - @$(TOUCH) $@ - -diff -Nru openjdk-boot.orig/jdk/make/sun/awt/FILES_export_unix.gmk openjdk-boot/jdk/make/sun/awt/FILES_export_unix.gmk ---- openjdk-ecj.orig/jdk/make/sun/awt/FILES_export_unix.gmk 2009-12-04 23:26:35.000000000 +0000 -+++ openjdk-ecj/jdk/make/sun/awt/FILES_export_unix.gmk 2009-12-13 21:11:04.000000000 +0000 -@@ -189,3 +189,5 @@ - java/awt/dnd/DnDConstants.java \ - sun/awt/CausedFocusEvent.java - -+EXPORTED_inner = \ -+ sun.java2d.opengl.OGLContext$$OGLContextCaps -diff -Nru openjdk-boot.orig/jdk/src/share/native/sun/java2d/opengl/OGLContext.h openjdk-boot/jdk/src/share/native/sun/java2d/opengl/OGLContext.h ---- openjdk-ecj.orig/jdk/src/share/native/sun/java2d/opengl/OGLContext.h 2009-12-04 23:33:16.000000000 +0000 -+++ openjdk-ecj/jdk/src/share/native/sun/java2d/opengl/OGLContext.h 2009-12-13 21:11:04.000000000 +0000 -@@ -27,6 +27,7 @@ - #define OGLContext_h_Included - - #include "sun_java2d_pipe_BufferedContext.h" -+#include "sun_java2d_pipe_hw_ContextCapabilities.h" - #include "sun_java2d_opengl_OGLContext.h" - #include "sun_java2d_opengl_OGLContext_OGLContextCaps.h" - -@@ -100,39 +101,39 @@ - * See OGLContext.java for more on these flags. - */ - #define CAPS_EMPTY \ -- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_EMPTY -+ sun_java2d_pipe_hw_ContextCapabilities_CAPS_EMPTY - #define CAPS_RT_PLAIN_ALPHA \ -- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_RT_PLAIN_ALPHA -+ sun_java2d_pipe_hw_ContextCapabilities_CAPS_RT_PLAIN_ALPHA - #define CAPS_RT_TEXTURE_ALPHA \ -- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_RT_TEXTURE_ALPHA -+ sun_java2d_pipe_hw_ContextCapabilities_CAPS_RT_TEXTURE_ALPHA - #define CAPS_RT_TEXTURE_OPAQUE \ -- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_RT_TEXTURE_OPAQUE -+ sun_java2d_pipe_hw_ContextCapabilities_CAPS_RT_TEXTURE_OPAQUE - #define CAPS_MULTITEXTURE \ -- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_MULTITEXTURE -+ sun_java2d_pipe_hw_ContextCapabilities_CAPS_MULTITEXTURE - #define CAPS_TEXNONPOW2 \ -- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_TEXNONPOW2 -+ sun_java2d_pipe_hw_ContextCapabilities_CAPS_TEXNONPOW2 - #define CAPS_TEXNONSQUARE \ -- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_TEXNONSQUARE -+ sun_java2d_pipe_hw_ContextCapabilities_CAPS_TEXNONSQUARE - #define CAPS_PS20 \ -- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_PS20 -+ sun_java2d_pipe_hw_ContextCapabilities_CAPS_PS20 - #define CAPS_PS30 \ -- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_PS30 -+ sun_java2d_pipe_hw_ContextCapabilities_CAPS_PS30 - #define LAST_SHARED_CAP \ - sun_java2d_opengl_OGLContext_OGLContextCaps_LAST_SHARED_CAP - #define CAPS_EXT_FBOBJECT \ -- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_EXT_FBOBJECT -+ sun_java2d_opengl_OGLContext_00024OGLContextCaps_CAPS_EXT_FBOBJECT - #define CAPS_STORED_ALPHA \ -- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_STORED_ALPHA -+ sun_java2d_opengl_OGLContext_00024OGLContextCaps_CAPS_STORED_ALPHA - #define CAPS_DOUBLEBUFFERED \ -- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_DOUBLEBUFFERED -+ sun_java2d_opengl_OGLContext_00024OGLContextCaps_CAPS_DOUBLEBUFFERED - #define CAPS_EXT_LCD_SHADER \ -- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_EXT_LCD_SHADER -+ sun_java2d_opengl_OGLContext_00024OGLContextCaps_CAPS_EXT_LCD_SHADER - #define CAPS_EXT_BIOP_SHADER \ -- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_EXT_BIOP_SHADER -+ sun_java2d_opengl_OGLContext_00024OGLContextCaps_CAPS_EXT_BIOP_SHADER - #define CAPS_EXT_GRAD_SHADER \ -- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_EXT_GRAD_SHADER -+ sun_java2d_opengl_OGLContext_00024OGLContextCaps_CAPS_EXT_GRAD_SHADER - #define CAPS_EXT_TEXRECT \ -- sun_java2d_opengl_OGLContext_OGLContextCaps_CAPS_EXT_TEXRECT -+ sun_java2d_opengl_OGLContext_00024OGLContextCaps_CAPS_EXT_TEXRECT - - /** - * Evaluates to true if the given capability bitmask is present for the
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-jtreg-OpenGLContextInit.patch Sun Sep 05 20:25:14 2010 +0100 @@ -0,0 +1,46 @@ +--- /dev/null 2010-06-29 11:10:08.737208357 +0200 ++++ openjdk/jdk/test/sun/java2d/OpenGL/OpenGLContextInit.java 2010-09-01 16:27:44.000000000 +0200 +@@ -0,0 +1,43 @@ ++/* ++ * 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 ++ * @bug 6755274 6791612 ++ * @summary This test check if OpenGL context is properly initialized. ++ * @run main/othervm -Dsun.java2d.opengl=True OpenGLContextInit -ignore ++ * @author ptisnovs ++ */ ++ ++import javax.swing.JFrame; ++ ++public class OpenGLContextInit extends JFrame { ++ public OpenGLContextInit() ++ { ++ System.out.println("Nothing happens"); ++ } ++ ++ public static void main(String[] args) ++ { ++ OpenGLContextInit t = new OpenGLContextInit(); ++ System.out.println("Test Passed."); ++ } ++} ++
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-too-many-args.patch Sun Sep 05 20:25:14 2010 +0100 @@ -0,0 +1,46 @@ +--- openjdk/hotspot/make/linux/makefiles/sa.make.orig 2010-06-21 23:12:13.000000000 +0200 ++++ openjdk/hotspot/make/linux/makefiles/sa.make 2010-06-28 01:11:27.022322578 +0200 +@@ -45,6 +45,9 @@ + AGENT_FILES1 := $(shell /usr/bin/test -d $(AGENT_DIR) && /bin/ls $(AGENT_FILES1)) + AGENT_FILES2 := $(shell /usr/bin/test -d $(AGENT_DIR) && /bin/ls $(AGENT_FILES2)) + ++AGENT_FILES1_LIST := $(TOPDIR)/../agent1.classes.list ++AGENT_FILES2_LIST := $(TOPDIR)/../agent2.classes.list ++ + SA_CLASSDIR = $(GENERATED)/saclasses + + SA_BUILD_VERSION_PROP = "sun.jvm.hotspot.runtime.VM.saBuildVersion=$(SA_BUILD_VERSION)" +@@ -59,7 +62,7 @@ + $(MAKE) -f sa.make $(GENERATED)/sa-jdi.jar; \ + fi + +-$(GENERATED)/sa-jdi.jar: $(AGENT_FILES1) $(AGENT_FILES2) ++$(GENERATED)/sa-jdi.jar: $(AGENT_FILES1) $(AGENT_FILES2) agent_files_preclean + $(QUIETLY) echo "Making $@" + $(QUIETLY) if [ "$(BOOT_JAVA_HOME)" = "" ]; then \ + echo "ALT_BOOTDIR, BOOTDIR or JAVA_HOME needs to be defined to build SA"; \ +@@ -74,8 +77,11 @@ + mkdir -p $(SA_CLASSDIR); \ + fi + +- $(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) ++ $(foreach file,$(AGENT_FILES1),$(shell echo $(file) >> $(AGENT_FILES1_LIST))) ++ $(foreach file,$(AGENT_FILES2),$(shell echo $(file) >> $(AGENT_FILES2_LIST))) ++ ++ $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES1_LIST) ++ $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES2_LIST) + + $(QUIETLY) $(REMOTE) $(COMPILE.RMIC) -classpath $(SA_CLASSDIR) -d $(SA_CLASSDIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer + $(QUIETLY) echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES) +@@ -92,6 +98,10 @@ + $(QUIETLY) $(REMOTE) $(RUN.JAVAH) -classpath $(SA_CLASSDIR) -d $(GENERATED) -jni sun.jvm.hotspot.debugger.amd64.AMD64ThreadContext + $(QUIETLY) $(REMOTE) $(RUN.JAVAH) -classpath $(SA_CLASSDIR) -d $(GENERATED) -jni sun.jvm.hotspot.debugger.sparc.SPARCThreadContext + ++agent_files_preclean: ++ rm -rf $(AGENT_FILES1_LIST) $(AGENT_FILES2_LIST) ++ + clean: + rm -rf $(SA_CLASSDIR) + rm -rf $(GENERATED)/sa-jdi.jar ++ rm -rf $(AGENT_FILES1_LIST) $(AGENT_FILES2_LIST)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/6438179-systray_check.patch Sun Sep 05 20:25:14 2010 +0100 @@ -0,0 +1,92 @@ +# HG changeset patch +# User omajid +# Date 1281710168 14400 +# Node ID ac23e40d3880c30085d7a76826145afbe73dd465 +# Parent 636250081b3b27e4b9f536903aa2ddad135f24f2 +6438179: XToolkit.isTraySupported() result has nothing to do with the system tray +Summary: Use System Tray Protocol Specification +Reviewed-by: prr, dcherepanov + +--- openjdk.orig/jdk/src/share/classes/java/awt/SystemTray.java Wed Aug 11 19:06:15 2010 +0100 ++++ openjdk/jdk/src/share/classes/java/awt/SystemTray.java Fri Aug 13 10:36:08 2010 -0400 +@@ -164,16 +164,14 @@ public class SystemTray { + if (GraphicsEnvironment.isHeadless()) { + throw new HeadlessException(); + } ++ ++ initializeSystemTrayIfNeeded(); ++ + if (!isSupported()) { + throw new UnsupportedOperationException( + "The system tray is not supported on the current platform."); + } + +- synchronized (SystemTray.class) { +- if (systemTray == null) { +- systemTray = new SystemTray(); +- } +- } + return systemTray; + } + +@@ -204,7 +202,7 @@ public class SystemTray { + */ + public static boolean isSupported() { + if (Toolkit.getDefaultToolkit() instanceof SunToolkit) { +- ++ initializeSystemTrayIfNeeded(); + return ((SunToolkit)Toolkit.getDefaultToolkit()).isTraySupported(); + + } else if (Toolkit.getDefaultToolkit() instanceof HeadlessToolkit) { +@@ -472,4 +470,12 @@ public class SystemTray { + security.checkPermission(SecurityConstants.ACCESS_SYSTEM_TRAY_PERMISSION); + } + } ++ ++ private static void initializeSystemTrayIfNeeded() { ++ synchronized (SystemTray.class) { ++ if (systemTray == null) { ++ systemTray = new SystemTray(); ++ } ++ } ++ } + } +--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XSystemTrayPeer.java Wed Aug 11 19:06:15 2010 +0100 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XSystemTrayPeer.java Fri Aug 13 10:36:08 2010 -0400 +@@ -55,6 +55,19 @@ public class XSystemTrayPeer implements + return new Dimension(XTrayIconPeer.TRAY_ICON_HEIGHT, XTrayIconPeer.TRAY_ICON_WIDTH); + } + ++ boolean isAvailable() { ++ boolean available = false; ++ XToolkit.awtLock(); ++ try { ++ long selection_owner = XlibWrapper.XGetSelectionOwner(XToolkit.getDisplay(), ++ _NET_SYSTEM_TRAY.getAtom()); ++ available = (selection_owner != XConstants.None); ++ } finally { ++ XToolkit.awtUnlock(); ++ } ++ return available; ++ } ++ + // *********************************************************************** + // *********************************************************************** + +--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XToolkit.java Wed Aug 11 19:06:15 2010 +0100 ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XToolkit.java Fri Aug 13 10:36:08 2010 -0400 +@@ -1073,10 +1073,9 @@ public class XToolkit extends UNIXToolki + } + + public boolean isTraySupported() { +- int wm = XWM.getWMID(); +- if (wm == XWM.METACITY_WM || wm == XWM.KDE2_WM) +- { +- return true; ++ XSystemTrayPeer peer = XSystemTrayPeer.getPeerInstance(); ++ if (peer != null) { ++ return peer.isAvailable(); + } + return false; + } +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/6755274-glgetstring-crash.patch Sun Sep 05 20:25:14 2010 +0100 @@ -0,0 +1,56 @@ +# HG changeset patch +# User tdv +# Date 1224602738 25200 +# Node ID 452c58b2f5334bb357f778e319b5dfffe7b4c696 +# Parent 665850610378a6e9a46b7df1ce04d4fc6edfd236 +6755274: 6u10b33 2d tests fails on sles10x64 with jvm crash +Reviewed-by: campbell + +diff -r 665850610378 -r 452c58b2f533 src/solaris/classes/sun/java2d/opengl/GLXGraphicsConfig.java +--- openjdk.old/jdk/src/solaris/classes/sun/java2d/opengl/GLXGraphicsConfig.java 2010-08-30 11:47:11.000000000 +0200 ++++ openjdk/jdk/src/solaris/classes/sun/java2d/opengl/GLXGraphicsConfig.java 2010-08-30 11:47:11.000000000 +0200 +@@ -120,12 +120,14 @@ + new GLXGetConfigInfo(device.getScreen(), visualnum); + rq.flushAndInvokeNow(action); + cfginfo = action.getConfigInfo(); +- OGLContext.setScratchSurface(cfginfo); +- rq.flushAndInvokeNow(new Runnable() { +- public void run() { +- ids[0] = OGLContext.getOGLIdString(); +- } +- }); ++ if (cfginfo != 0L) { ++ OGLContext.setScratchSurface(cfginfo); ++ rq.flushAndInvokeNow(new Runnable() { ++ public void run() { ++ ids[0] = OGLContext.getOGLIdString(); ++ } ++ }); ++ } + } finally { + rq.unlock(); + } +diff -r 665850610378 -r 452c58b2f533 src/windows/classes/sun/java2d/opengl/WGLGraphicsConfig.java +--- openjdk-old/jdk/src/windows/classes/sun/java2d/opengl/WGLGraphicsConfig.java 2010-08-30 11:47:11.000000000 +0200 ++++ openjdk/jdk/src/windows/classes/sun/java2d/opengl/WGLGraphicsConfig.java 2010-08-30 11:47:11.000000000 +0200 +@@ -127,12 +127,14 @@ + new WGLGetConfigInfo(device.getScreen(), pixfmt); + rq.flushAndInvokeNow(action); + cfginfo = action.getConfigInfo(); +- OGLContext.setScratchSurface(cfginfo); +- rq.flushAndInvokeNow(new Runnable() { +- public void run() { +- ids[0] = OGLContext.getOGLIdString(); +- } +- }); ++ if (cfginfo != 0L) { ++ OGLContext.setScratchSurface(cfginfo); ++ rq.flushAndInvokeNow(new Runnable() { ++ public void run() { ++ ids[0] = OGLContext.getOGLIdString(); ++ } ++ }); ++ } + } finally { + rq.unlock(); + }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/6791612-opengl-jni-fix.patch Sun Sep 05 20:25:14 2010 +0100 @@ -0,0 +1,27 @@ +# HG changeset patch +# User tdv +# Date 1235684318 28800 +# Node ID 0c856354b66924ad99e106ad0b99b1d263ef2eab +# Parent ff2afd0551c97282f5bc0939eda439166bfa71b4 +6791612: OGLBat tests are failed in jdk 7 b42 +Reviewed-by: tdv +Contributed-by: ceisserer <linuxhippy@gmail.com> + +diff -r ff2afd0551c9 -r 0c856354b669 make/sun/xawt/mapfile-vers +--- openjdk-old/jdk/make/sun/xawt/mapfile-vers 2010-08-16 16:54:21.000000000 +0200 ++++ openjdk/jdk/make/sun/xawt/mapfile-vers 2010-08-16 16:54:21.000000000 +0200 +@@ -302,12 +302,14 @@ + Java_java_awt_FileDialog_initIDs; + Java_sun_awt_X11_XWindow_initIDs; + ++ Java_sun_java2d_opengl_OGLContext_getOGLIdString; + Java_sun_java2d_opengl_OGLMaskFill_maskFill; + Java_sun_java2d_opengl_OGLRenderer_drawPoly; + Java_sun_java2d_opengl_OGLRenderQueue_flushBuffer; + Java_sun_java2d_opengl_OGLSurfaceData_initTexture; + Java_sun_java2d_opengl_OGLSurfaceData_initFBObject; + Java_sun_java2d_opengl_OGLSurfaceData_initFlipBackbuffer; ++ Java_sun_java2d_opengl_OGLSurfaceData_getTextureID; + Java_sun_java2d_opengl_OGLSurfaceData_getTextureTarget; + Java_sun_java2d_opengl_OGLTextRenderer_drawGlyphList; + Java_sun_java2d_opengl_GLXGraphicsConfig_getGLXConfigInfo;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/6951319-sparc_build_fixes.patch Sun Sep 05 20:25:14 2010 +0100 @@ -0,0 +1,642 @@ +# HG changeset patch +# User jcoomes +# Date 1282936351 -3600 +# Node ID 379b95785a1faacbe5261b7517159718e139e57b +# Parent 13f94cc872531ff5b81d1551edf7145f73864c74 +6951319: enable solaris builds using Sun Studio 12 update 1 +Reviewed-by: kamg, ysr, dholmes, johnc + +diff -r 13f94cc87253 -r 379b95785a1f make/solaris/makefiles/amd64.make +--- openjdk.orig/hotspot/make/solaris/makefiles/amd64.make Fri Jun 18 01:17:46 2010 -0700 +--- openjdk/hotspot/make/solaris/makefiles/amd64.make Fri Aug 27 20:12:31 2010 +0100 +@@ -33,14 +33,8 @@ + # + ifeq ("${Platform_compiler}", "sparcWorks") + +-# Temporary until C++ compiler is fixed +- +-# _lwp_create_interpose must have a frame +-OPT_CFLAGS/os_solaris_x86_64.o = -xO1 +- + # Temporary until SS10 C++ compiler is fixed + OPT_CFLAGS/generateOptoStub.o = -xO2 +-OPT_CFLAGS/thread.o = -xO2 + + else + +diff -r 13f94cc87253 -r 379b95785a1f make/solaris/makefiles/fastdebug.make +--- openjdk.orig/hotspot/make/solaris/makefiles/fastdebug.make Fri Jun 18 01:17:46 2010 -0700 +--- openjdk/hotspot/make/solaris/makefiles/fastdebug.make Fri Aug 27 20:12:31 2010 +0100 +@@ -36,15 +36,15 @@ + ifeq ("${Platform_compiler}", "sparcWorks") + OPT_CFLAGS/SLOWER = -xO2 + +-# Problem with SS12 compiler, dtrace doesn't like the .o files (bug 6693876) + ifeq ($(COMPILER_REV_NUMERIC), 509) +- # To avoid jvm98 crash +- OPT_CFLAGS/instanceKlass.o = $(OPT_CFLAGS/SLOWER) +- # Not clear this workaround could be skipped in some cases. +- OPT_CFLAGS/vmGCOperations.o = $(OPT_CFLAGS/SLOWER) +- OPT_CFLAGS/java.o = $(OPT_CFLAGS/SLOWER) +- OPT_CFLAGS/jni.o = $(OPT_CFLAGS/SLOWER) +-endif ++# To avoid jvm98 crash ++OPT_CFLAGS/instanceKlass.o = $(OPT_CFLAGS/SLOWER) ++endif # COMPILER_NUMERIC_REV == 509 ++ ++ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \>= 509), 1) ++# dtrace cannot handle tail call optimization (6672627, 6693876) ++OPT_CFLAGS/jni.o = $(OPT_CFLAGS/DEFAULT) $(OPT_CCFLAGS/NO_TAIL_CALL_OPT) ++endif # COMPILER_NUMERIC_REV >= 509 + + ifeq ($(COMPILER_REV_NUMERIC), 505) + # CC 5.5 has bug 4908364 with -xO4 (Fixed in 5.6) +diff -r 13f94cc87253 -r 379b95785a1f make/solaris/makefiles/i486.make +--- openjdk.orig/hotspot/make/solaris/makefiles/i486.make Fri Jun 18 01:17:46 2010 -0700 +--- openjdk/hotspot/make/solaris/makefiles/i486.make Fri Aug 27 20:12:31 2010 +0100 +@@ -33,25 +33,6 @@ + # Special case flags for compilers and compiler versions on i486. + # + ifeq ("${Platform_compiler}", "sparcWorks") +- +-# _lwp_create_interpose must have a frame +-OPT_CFLAGS/os_solaris_x86.o = -xO1 +-else +- +-ifeq ("${Platform_compiler}", "gcc") +-# gcc +-# _lwp_create_interpose must have a frame +-OPT_CFLAGS/os_solaris_x86.o = -fno-omit-frame-pointer +-# +-else +-# error +-_JUNK2_ := $(shell echo >&2 \ +- "*** ERROR: this compiler is not yet supported by this code base!") +- @exit 1 +-endif +-endif +- +-ifeq ("${Platform_compiler}", "sparcWorks") + # ILD is gone as of SS11 (5.8), not supported in SS10 (5.7) + ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \< 507), 1) + # +diff -r 13f94cc87253 -r 379b95785a1f make/solaris/makefiles/launcher.make +--- openjdk.orig/hotspot/make/solaris/makefiles/launcher.make Fri Jun 18 01:17:46 2010 -0700 +--- openjdk/hotspot/make/solaris/makefiles/launcher.make Fri Aug 27 20:12:31 2010 +0100 +@@ -80,15 +80,12 @@ + } > $@ + + $(LAUNCHER): $(LAUNCHER.o) $(LIBJVM) $(LAUNCHER_MAPFILE) ++ifeq ($(filter -sbfast -xsbfast, $(CFLAGS_BROWSE)),) ++ @echo Linking launcher... ++ $(QUIETLY) $(LINK_LAUNCHER/PRE_HOOK) + $(QUIETLY) \ +- case "$(CFLAGS_BROWSE)" in \ +- -sbfast|-xsbfast) \ +- ;; \ +- *) \ +- echo Linking launcher...; \ +- $(LINK_LAUNCHER/PRE_HOOK) \ +- $(LINK_LAUNCHER) $(LFLAGS_LAUNCHER) -o $@ $(LAUNCHER.o) $(LIBS_LAUNCHER); \ +- $(LINK_LAUNCHER/POST_HOOK) \ +- [ -f $(LAUNCHER_G) ] || { ln -s $@ $(LAUNCHER_G); }; \ +- ;; \ +- esac ++ $(LINK_LAUNCHER) $(LFLAGS_LAUNCHER) -o $@ $(LAUNCHER.o) $(LIBS_LAUNCHER) ++ $(QUIETLY) $(LINK_LAUNCHER/POST_HOOK) ++ [ -f $(LAUNCHER_G) ] || ln -s $@ $(LAUNCHER_G) ++endif # filter -sbfast -xsbfast ++ +diff -r 13f94cc87253 -r 379b95785a1f make/solaris/makefiles/optimized.make +--- openjdk.orig/hotspot/make/solaris/makefiles/optimized.make Fri Jun 18 01:17:46 2010 -0700 +--- openjdk/hotspot/make/solaris/makefiles/optimized.make Fri Aug 27 20:12:31 2010 +0100 +@@ -32,13 +32,10 @@ + # (OPT_CFLAGS/SLOWER is also available, to alter compilation of buggy files) + ifeq ("${Platform_compiler}", "sparcWorks") + +-# Problem with SS12 compiler, dtrace doesn't like the .o files (bug 6693876) +-ifeq ($(COMPILER_REV_NUMERIC),509) +- # Not clear this workaround could be skipped in some cases. +- OPT_CFLAGS/vmGCOperations.o = $(OPT_CFLAGS/SLOWER) -g +- OPT_CFLAGS/java.o = $(OPT_CFLAGS/SLOWER) -g +- OPT_CFLAGS/jni.o = $(OPT_CFLAGS/SLOWER) -g +-endif ++ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \>= 509), 1) ++# dtrace cannot handle tail call optimization (6672627, 6693876) ++OPT_CFLAGS/jni.o = $(OPT_CFLAGS/DEFAULT) $(OPT_CCFLAGS/NO_TAIL_CALL_OPT) ++endif # COMPILER_NUMERIC_REV >= 509 + + # Workaround SS11 bug 6345274 (all platforms) (Fixed in SS11 patch and SS12) + ifeq ($(COMPILER_REV_NUMERIC),508) +diff -r 13f94cc87253 -r 379b95785a1f make/solaris/makefiles/product.make +--- openjdk.orig/hotspot/make/solaris/makefiles/product.make Fri Jun 18 01:17:46 2010 -0700 +--- openjdk/hotspot/make/solaris/makefiles/product.make Fri Aug 27 20:12:31 2010 +0100 +@@ -40,13 +40,10 @@ + # (OPT_CFLAGS/SLOWER is also available, to alter compilation of buggy files) + ifeq ("${Platform_compiler}", "sparcWorks") + +-# Problem with SS12 compiler, dtrace doesn't like the .o files (bug 6693876) +-ifeq ($(COMPILER_REV_NUMERIC),509) +- # Not clear this workaround could be skipped in some cases. +- OPT_CFLAGS/vmGCOperations.o = $(OPT_CFLAGS/SLOWER) -g +- OPT_CFLAGS/java.o = $(OPT_CFLAGS/SLOWER) -g +- OPT_CFLAGS/jni.o = $(OPT_CFLAGS/SLOWER) -g +-endif ++ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \>= 509), 1) ++# dtrace cannot handle tail call optimization (6672627, 6693876) ++OPT_CFLAGS/jni.o = $(OPT_CFLAGS/DEFAULT) $(OPT_CCFLAGS/NO_TAIL_CALL_OPT) ++endif # COMPILER_NUMERIC_REV >= 509 + + # Workaround SS11 bug 6345274 (all platforms) (Fixed in SS11 patch and SS12) + ifeq ($(COMPILER_REV_NUMERIC),508) +diff -r 13f94cc87253 -r 379b95785a1f make/solaris/makefiles/sparcWorks.make +--- openjdk.orig/hotspot/make/solaris/makefiles/sparcWorks.make Fri Jun 18 01:17:46 2010 -0700 +--- openjdk/hotspot/make/solaris/makefiles/sparcWorks.make Fri Aug 27 20:12:31 2010 +0100 +@@ -48,27 +48,33 @@ + # Pick which compiler is validated + ifeq ($(JRE_RELEASE_VER),1.6.0) + # Validated compiler for JDK6 is SS11 (5.8) +- VALIDATED_COMPILER_REV := 5.8 +- VALIDATED_C_COMPILER_REV := 5.8 ++ VALIDATED_COMPILER_REVS := 5.8 ++ VALIDATED_C_COMPILER_REVS := 5.8 + else +- # Validated compiler for JDK7 is SS12 (5.9) +- VALIDATED_COMPILER_REV := 5.9 +- VALIDATED_C_COMPILER_REV := 5.9 ++ # Validated compilers for JDK7 are SS12 (5.9) or SS12 update 1 (5.10) ++ VALIDATED_COMPILER_REVS := 5.9 5.10 ++ VALIDATED_C_COMPILER_REVS := 5.9 5.10 + endif + +-# Warning messages about not using the above validated version +-ENFORCE_COMPILER_REV${ENFORCE_COMPILER_REV} := ${VALIDATED_COMPILER_REV} +-ifneq (${COMPILER_REV},${ENFORCE_COMPILER_REV}) +-dummy_target_to_enforce_compiler_rev:=\ +-$(shell echo >&2 WARNING: You are using CC version ${COMPILER_REV} \ +-and should be using version ${ENFORCE_COMPILER_REV}. Set ENFORCE_COMPILER_REV=${COMPILER_REV} to avoid this warning.) ++# Warning messages about not using the above validated versions ++ENFORCE_COMPILER_REV${ENFORCE_COMPILER_REV} := $(strip ${VALIDATED_COMPILER_REVS}) ++ifeq ($(filter ${ENFORCE_COMPILER_REV},${COMPILER_REV}),) ++PRINTABLE_CC_REVS := $(subst $(shell echo ' '), or ,${ENFORCE_COMPILER_REV}) ++dummy_var_to_enforce_compiler_rev := $(shell \ ++ echo >&2 WARNING: You are using CC version ${COMPILER_REV} and \ ++ should be using version ${PRINTABLE_CC_REVS}.; \ ++ echo >&2 Set ENFORCE_COMPILER_REV=${COMPILER_REV} to avoid this \ ++ warning.) + endif + +-ENFORCE_C_COMPILER_REV${ENFORCE_C_COMPILER_REV} := ${VALIDATED_C_COMPILER_REV} +-ifneq (${C_COMPILER_REV},${ENFORCE_C_COMPILER_REV}) +-dummy_target_to_enforce_c_compiler_rev:=\ +-$(shell echo >&2 WARNING: You are using cc version ${C_COMPILER_REV} \ +-and should be using version ${ENFORCE_C_COMPILER_REV}. Set ENFORCE_C_COMPILER_REV=${C_COMPILER_REV} to avoid this warning.) ++ENFORCE_C_COMPILER_REV${ENFORCE_C_COMPILER_REV} := $(strip ${VALIDATED_C_COMPILER_REVS}) ++ifeq ($(filter ${ENFORCE_C_COMPILER_REV},${C_COMPILER_REV}),) ++PRINTABLE_C_REVS := $(subst $(shell echo ' '), or ,${ENFORCE_C_COMPILER_REV}) ++dummy_var_to_enforce_c_compiler_rev := $(shell \ ++ echo >&2 WARNING: You are using cc version ${C_COMPILER_REV} and \ ++ should be using version ${PRINTABLE_C_REVS}.; \ ++ echo >&2 Set ENFORCE_C_COMPILER_REV=${C_COMPILER_REV} to avoid this \ ++ warning.) + endif + + COMPILER_REV_NUMERIC := $(shell echo $(COMPILER_REV) | awk -F. '{ print $$1 * 100 + $$2 }') +@@ -139,6 +145,13 @@ + OPT_CFLAGS/O2=-xO2 + OPT_CFLAGS/NOOPT=-xO1 + ++ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \>= 509), 1) ++ifeq ($(Platform_arch), x86) ++OPT_CFLAGS/NO_TAIL_CALL_OPT = -Wu,-O~yz ++OPT_CCFLAGS/NO_TAIL_CALL_OPT = -Qoption ube -O~yz ++endif # Platform_arch == x86 ++endif # COMPILER_REV_NUMERIC >= 509 ++ + ################################################# + # Begin current (>=5.6) Forte compiler options # + ################################################# +@@ -181,10 +194,7 @@ + + ifeq ("${Platform_arch_model}", "x86_32") + +-OPT_CFLAGS=-xtarget=pentium $(EXTRA_OPT_CFLAGS) +- +-# UBE (CC 5.5) has bug 4923569 with -xO4 +-OPT_CFLAGS+=-xO3 ++OPT_CFLAGS=-xtarget=pentium -xO4 $(EXTRA_OPT_CFLAGS) + + endif # 32bit x86 + +@@ -461,7 +471,7 @@ + # The -g0 setting allows the C++ frontend to inline, which is a big win. + + # Special global options for SS12 +-ifeq ($(COMPILER_REV_NUMERIC),509) ++ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \>= 509), 1) + # There appears to be multiple issues with the new Dwarf2 debug format, so + # we tell the compiler to use the older 'stabs' debug format all the time. + # Note that this needs to be used in optimized compiles too to be 100%. +diff -r 13f94cc87253 -r 379b95785a1f make/solaris/makefiles/vm.make +--- openjdk.orig/hotspot/make/solaris/makefiles/vm.make Fri Jun 18 01:17:46 2010 -0700 +--- openjdk/hotspot/make/solaris/makefiles/vm.make Fri Aug 27 20:12:31 2010 +0100 +@@ -174,19 +174,16 @@ + endif + # making the library: + $(LIBJVM): $(LIBJVM.o) $(LIBJVM_MAPFILE) +- $(QUIETLY) \ +- case "$(CFLAGS_BROWSE)" in \ +- -sbfast|-xsbfast) \ +- ;; \ +- *) \ +- echo Linking vm...; \ +- $(LINK_LIB.CC/PRE_HOOK) \ +- $(LINK_VM) $(LFLAGS_VM) -o $@ $(LIBJVM.o) $(LIBS_VM); \ +- $(LINK_LIB.CC/POST_HOOK) \ +- rm -f $@.1; ln -s $@ $@.1; \ +- [ -f $(LIBJVM_G) ] || { ln -s $@ $(LIBJVM_G); ln -s $@.1 $(LIBJVM_G).1; }; \ +- ;; \ +- esac ++ifeq ($(filter -sbfast -xsbfast, $(CFLAGS_BROWSE)),) ++ @echo Linking vm... ++ $(QUIETLY) $(LINK_LIB.CC/PRE_HOOK) ++ $(QUIETLY) $(LINK_VM) $(LFLAGS_VM) -o $@ $(LIBJVM.o) $(LIBS_VM) ++ $(QUIETLY) $(LINK_LIB.CC/POST_HOOK) ++ $(QUIETLY) rm -f $@.1 && ln -s $@ $@.1 ++ $(QUIETLY) [ -f $(LIBJVM_G) ] || ln -s $@ $(LIBJVM_G) ++ $(QUIETLY) [ -f $(LIBJVM_G).1 ] || ln -s $@.1 $(LIBJVM_G).1 ++endif # filter -sbfast -xsbfast ++ + + DEST_JVM = $(JDK_LIBDIR)/$(VM_SUBDIR)/$(LIBJVM) + +diff -r 13f94cc87253 -r 379b95785a1f src/cpu/sparc/vm/assembler_sparc.hpp +--- openjdk.orig/hotspot/src/cpu/sparc/vm/assembler_sparc.hpp Fri Jun 18 01:17:46 2010 -0700 +--- openjdk/hotspot/src/cpu/sparc/vm/assembler_sparc.hpp Fri Aug 27 20:12:31 2010 +0100 +@@ -2239,7 +2239,7 @@ + AddressLiteral constant_oop_address(jobject obj); // find_index + inline void set_oop (jobject obj, Register d); // uses allocate_oop_address + inline void set_oop_constant (jobject obj, Register d); // uses constant_oop_address +- inline void set_oop (AddressLiteral& obj_addr, Register d); // same as load_address ++ inline void set_oop (const AddressLiteral& obj_addr, Register d); // same as load_address + + void set_narrow_oop( jobject obj, Register d ); + +diff -r 13f94cc87253 -r 379b95785a1f src/cpu/sparc/vm/assembler_sparc.inline.hpp +--- openjdk.orig/hotspot/src/cpu/sparc/vm/assembler_sparc.inline.hpp Fri Jun 18 01:17:46 2010 -0700 +--- openjdk/hotspot/src/cpu/sparc/vm/assembler_sparc.inline.hpp Fri Aug 27 20:12:31 2010 +0100 +@@ -707,7 +707,7 @@ + } + + +-inline void MacroAssembler::set_oop(AddressLiteral& obj_addr, Register d) { ++inline void MacroAssembler::set_oop(const AddressLiteral& obj_addr, Register d) { + assert(obj_addr.rspec().type() == relocInfo::oop_type, "must be an oop reloc"); + set(obj_addr, d); + } +diff -r 13f94cc87253 -r 379b95785a1f src/os_cpu/solaris_x86/vm/atomic_solaris_x86.inline.hpp +--- openjdk.orig/hotspot/src/os_cpu/solaris_x86/vm/atomic_solaris_x86.inline.hpp Fri Jun 18 01:17:46 2010 -0700 +--- openjdk/hotspot/src/os_cpu/solaris_x86/vm/atomic_solaris_x86.inline.hpp Fri Aug 27 20:12:31 2010 +0100 +@@ -47,40 +47,56 @@ + // For Sun Studio - implementation is in solaris_x86_[32/64].il. + // For gcc - implementation is just below. + +-extern "C" jint _Atomic_add(jint add_value, volatile jint* dest, int mp); +-extern "C" jint _Atomic_xchg(jint exchange_value, volatile jint* dest); +-extern "C" jint _Atomic_cmpxchg(jint exchange_value, volatile jint* dest, jint compare_value, int mp); +-extern "C" jlong _Atomic_cmpxchg_long(jlong exchange_value, volatile jlong* dest, jlong compare_value, int mp); ++// The lock prefix can be omitted for certain instructions on uniprocessors; to ++// facilitate this, os::is_MP() is passed as an additional argument. 64-bit ++// processors are assumed to be multi-threaded and/or multi-core, so the extra ++// argument is unnecessary. ++#ifndef _LP64 ++#define IS_MP_DECL() , int is_mp ++#define IS_MP_ARG() , (int) os::is_MP() ++#else ++#define IS_MP_DECL() ++#define IS_MP_ARG() ++#endif // _LP64 ++ ++extern "C" { ++ jint _Atomic_add(jint add_value, volatile jint* dest IS_MP_DECL()); ++ jint _Atomic_xchg(jint exchange_value, volatile jint* dest); ++ jint _Atomic_cmpxchg(jint exchange_value, volatile jint* dest, ++ jint compare_value IS_MP_DECL()); ++ jlong _Atomic_cmpxchg_long(jlong exchange_value, volatile jlong* dest, ++ jlong compare_value IS_MP_DECL()); ++} + + inline jint Atomic::add (jint add_value, volatile jint* dest) { +- return _Atomic_add(add_value, dest, (int) os::is_MP()); ++ return _Atomic_add(add_value, dest IS_MP_ARG()); ++} ++ ++inline jint Atomic::xchg (jint exchange_value, volatile jint* dest) { ++ return _Atomic_xchg(exchange_value, dest); + } + + inline jint Atomic::cmpxchg (jint exchange_value, volatile jint* dest, jint compare_value) { +- return _Atomic_cmpxchg(exchange_value, dest, compare_value, (int) os::is_MP()); ++ return _Atomic_cmpxchg(exchange_value, dest, compare_value IS_MP_ARG()); + } + + inline jlong Atomic::cmpxchg (jlong exchange_value, volatile jlong* dest, jlong compare_value) { +- return _Atomic_cmpxchg_long(exchange_value, dest, compare_value, (int) os::is_MP()); ++ return _Atomic_cmpxchg_long(exchange_value, dest, compare_value IS_MP_ARG()); + } + + + #ifdef AMD64 + inline void Atomic::store (jlong store_value, jlong* dest) { *dest = store_value; } + inline void Atomic::store (jlong store_value, volatile jlong* dest) { *dest = store_value; } +-extern "C" jlong _Atomic_add_long(jlong add_value, volatile jlong* dest, int mp); ++extern "C" jlong _Atomic_add_long(jlong add_value, volatile jlong* dest); + extern "C" jlong _Atomic_xchg_long(jlong exchange_value, volatile jlong* dest); + + inline intptr_t Atomic::add_ptr(intptr_t add_value, volatile intptr_t* dest) { +- return (intptr_t)_Atomic_add_long((jlong)add_value, (volatile jlong*)dest, (int) os::is_MP()); ++ return (intptr_t)_Atomic_add_long((jlong)add_value, (volatile jlong*)dest); + } + + inline void* Atomic::add_ptr(intptr_t add_value, volatile void* dest) { +- return (void*)_Atomic_add_long((jlong)add_value, (volatile jlong*)dest, (int) os::is_MP()); +-} +- +-inline jint Atomic::xchg (jint exchange_value, volatile jint* dest) { +- return _Atomic_xchg(exchange_value, dest); ++ return (void*)_Atomic_add_long((jlong)add_value, (volatile jlong*)dest); + } + + inline intptr_t Atomic::xchg_ptr(intptr_t exchange_value, volatile intptr_t* dest) { +@@ -92,11 +108,11 @@ + } + + inline intptr_t Atomic::cmpxchg_ptr(intptr_t exchange_value, volatile intptr_t* dest, intptr_t compare_value) { +- return (intptr_t)_Atomic_cmpxchg_long((jlong)exchange_value, (volatile jlong*)dest, (jlong)compare_value, (int) os::is_MP()); ++ return (intptr_t)_Atomic_cmpxchg_long((jlong)exchange_value, (volatile jlong*)dest, (jlong)compare_value); + } + + inline void* Atomic::cmpxchg_ptr(void* exchange_value, volatile void* dest, void* compare_value) { +- return (void*)_Atomic_cmpxchg_long((jlong)exchange_value, (volatile jlong*)dest, (jlong)compare_value, (int) os::is_MP()); ++ return (void*)_Atomic_cmpxchg_long((jlong)exchange_value, (volatile jlong*)dest, (jlong)compare_value); + } + + inline jlong Atomic::load(volatile jlong* src) { return *src; } +@@ -111,13 +127,6 @@ + return (void*)add((jint)add_value, (volatile jint*)dest); + } + +-inline jint Atomic::xchg (jint exchange_value, volatile jint* dest) { +- // We noticed a CC5.5 bug (4894807), so keep calling the stub just to be safe. +- // Will use the inline template version after 4894807 is fixed. +- // return _Atomic_xchg(exchange_value, dest); +- return (*os::atomic_xchg_func)(exchange_value, dest); +-} +- + inline intptr_t Atomic::xchg_ptr(intptr_t exchange_value, volatile intptr_t* dest) { + return (intptr_t)xchg((jint)exchange_value, (volatile jint*)dest); + } +@@ -179,9 +188,6 @@ + #endif // AMD64 + + inline jint _Atomic_xchg(jint exchange_value, volatile jint* dest) { +- +- // 32bit version originally did nothing!! +- + __asm__ __volatile__ ("xchgl (%2),%0" + : "=r" (exchange_value) + : "0" (exchange_value), "r" (dest) +diff -r 13f94cc87253 -r 379b95785a1f src/os_cpu/solaris_x86/vm/solaris_x86_32.il +--- openjdk.orig/hotspot/src/os_cpu/solaris_x86/vm/solaris_x86_32.il Fri Jun 18 01:17:46 2010 -0700 +--- openjdk/hotspot/src/os_cpu/solaris_x86/vm/solaris_x86_32.il Fri Aug 27 20:12:31 2010 +0100 +@@ -50,10 +50,12 @@ + movl 4(%esp), %edx // dest + movl %eax, %ecx + cmpl $0, 8(%esp) // MP test +- je 1f +- lock +-1: xaddl %eax, (%edx) +- addl %ecx, %eax ++ jne 1f ++ xaddl %eax, (%edx) ++ jmp 2f ++1: lock ++ xaddl %eax, (%edx) ++2: addl %ecx, %eax + .end + + // Support for jint Atomic::xchg(jint exchange_value, volatile jint* dest). +@@ -72,9 +74,12 @@ + movl 0(%esp), %ecx // exchange_value + movl 4(%esp), %edx // dest + cmp $0, 12(%esp) // MP test +- je 1f +- lock +-1: cmpxchgl %ecx, (%edx) ++ jne 1f ++ cmpxchgl %ecx, (%edx) ++ jmp 2f ++1: lock ++ cmpxchgl %ecx, (%edx) ++2: + .end + + // Support for jlong Atomic::cmpxchg(jlong exchange_value, +@@ -90,10 +95,12 @@ + movl 8(%esp), %ebx // exchange_value (low) + movl 12(%esp), %ecx // exchange_high (high) + cmp $0, 28(%esp) // MP test +- je 1f +- lock +-1: cmpxchg8b (%edi) +- popl %edi ++ jne 1f ++ cmpxchg8b (%edi) ++ jmp 2f ++1: lock ++ cmpxchg8b (%edi) ++2: popl %edi + popl %ebx + .end + +diff -r 13f94cc87253 -r 379b95785a1f src/os_cpu/solaris_x86/vm/solaris_x86_64.il +--- openjdk.orig/hotspot/src/os_cpu/solaris_x86/vm/solaris_x86_64.il Fri Jun 18 01:17:46 2010 -0700 +--- openjdk/hotspot/src/os_cpu/solaris_x86/vm/solaris_x86_64.il Fri Aug 27 20:12:31 2010 +0100 +@@ -37,24 +37,18 @@ + .end + + // Support for jint Atomic::add(jint add_value, volatile jint* dest) +- // An additional bool (os::is_MP()) is passed as the last argument. +- .inline _Atomic_add,3 ++ .inline _Atomic_add,2 + movl %edi, %eax // save add_value for return +- testl %edx, %edx // MP test +- je 1f + lock +-1: xaddl %edi, (%rsi) ++ xaddl %edi, (%rsi) + addl %edi, %eax + .end + + // Support for jlong Atomic::add(jlong add_value, volatile jlong* dest) +- // An additional bool (os::is_MP()) is passed as the last argument. +- .inline _Atomic_add_long,3 ++ .inline _Atomic_add_long,2 + movq %rdi, %rax // save add_value for return +- testq %rdx, %rdx // MP test +- je 1f + lock +-1: xaddq %rdi, (%rsi) ++ xaddq %rdi, (%rsi) + addq %rdi, %rax + .end + +@@ -73,25 +67,19 @@ + // Support for jint Atomic::cmpxchg(jint exchange_value, + // volatile jint *dest, + // jint compare_value) +- // An additional bool (os::is_MP()) is passed as the last argument. +- .inline _Atomic_cmpxchg,4 ++ .inline _Atomic_cmpxchg,3 + movl %edx, %eax // compare_value +- testl %ecx, %ecx // MP test +- je 1f + lock +-1: cmpxchgl %edi, (%rsi) ++ cmpxchgl %edi, (%rsi) + .end + + // Support for jlong Atomic::cmpxchg(jlong exchange_value, + // volatile jlong* dest, + // jlong compare_value) +- // An additional bool (os::is_MP()) is passed as the last argument. +- .inline _Atomic_cmpxchg_long,6 ++ .inline _Atomic_cmpxchg_long,3 + movq %rdx, %rax // compare_value +- testq %rcx, %rcx // MP test +- je 1f + lock +-1: cmpxchgq %rdi, (%rsi) ++ cmpxchgq %rdi, (%rsi) + .end + + // Support for OrderAccess::acquire() +diff -r 13f94cc87253 -r 379b95785a1f src/share/vm/gc_implementation/g1/concurrentMark.cpp +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp Fri Jun 18 01:17:46 2010 -0700 +--- openjdk/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp Fri Aug 27 20:12:31 2010 +0100 +@@ -766,9 +766,11 @@ + + _has_aborted = false; + ++#ifndef PRODUCT + if (G1PrintReachableAtInitialMark) { + print_reachable(true, "before"); + } ++#endif + + // Initialise marking structures. This has to be done in a STW phase. + reset(); +diff -r 13f94cc87253 -r 379b95785a1f src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Fri Jun 18 01:17:46 2010 -0700 +--- openjdk/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Fri Aug 27 20:12:31 2010 +0100 +@@ -2387,10 +2387,12 @@ + gclog_or_tty->print_cr("Heap:"); + print_on(gclog_or_tty, true /* extended */); + gclog_or_tty->print_cr(""); ++#ifndef PRODUCT + if (VerifyDuringGC && G1VerifyDuringGCPrintReachable) { + concurrent_mark()->print_reachable(use_prev_marking, + "failed-verification"); + } ++#endif + gclog_or_tty->flush(); + } + guarantee(!failures, "there should not have been any failures"); +diff -r 13f94cc87253 -r 379b95785a1f src/share/vm/gc_implementation/shared/spaceDecorator.hpp +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/shared/spaceDecorator.hpp Fri Jun 18 01:17:46 2010 -0700 +--- openjdk/hotspot/src/share/vm/gc_implementation/shared/spaceDecorator.hpp Fri Aug 27 20:12:31 2010 +0100 +@@ -109,7 +109,7 @@ + // is fully constructed. Also is used when a generation is expanded + // and possibly before the spaces have been reshaped to to the new + // size of the generation. +- static void mangle_region(MemRegion mr); ++ static void mangle_region(MemRegion mr) PRODUCT_RETURN; + }; + + class ContiguousSpace; +diff -r 13f94cc87253 -r 379b95785a1f src/share/vm/gc_implementation/shared/vmGCOperations.cpp +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/shared/vmGCOperations.cpp Fri Jun 18 01:17:46 2010 -0700 +--- openjdk/hotspot/src/share/vm/gc_implementation/shared/vmGCOperations.cpp Fri Aug 27 20:12:31 2010 +0100 +@@ -32,10 +32,12 @@ + // for the other file anymore. The dtrace probes have to remain stable. + void VM_GC_Operation::notify_gc_begin(bool full) { + HS_DTRACE_PROBE1(hotspot, gc__begin, full); ++ HS_DTRACE_WORKAROUND_TAIL_CALL_BUG(); + } + + void VM_GC_Operation::notify_gc_end() { + HS_DTRACE_PROBE(hotspot, gc__end); ++ HS_DTRACE_WORKAROUND_TAIL_CALL_BUG(); + } + + void VM_GC_Operation::acquire_pending_list_lock() { +diff -r 13f94cc87253 -r 379b95785a1f src/share/vm/runtime/java.cpp +--- openjdk.orig/hotspot/src/share/vm/runtime/java.cpp Fri Jun 18 01:17:46 2010 -0700 +--- openjdk/hotspot/src/share/vm/runtime/java.cpp Fri Aug 27 20:12:31 2010 +0100 +@@ -470,6 +470,7 @@ + void notify_vm_shutdown() { + // For now, just a dtrace probe. + HS_DTRACE_PROBE(hotspot, vm__shutdown); ++ HS_DTRACE_WORKAROUND_TAIL_CALL_BUG(); + } + + void vm_direct_exit(int code) { +diff -r 13f94cc87253 -r 379b95785a1f src/share/vm/runtime/vframe.cpp +--- openjdk.orig/hotspot/src/share/vm/runtime/vframe.cpp Fri Jun 18 01:17:46 2010 -0700 +--- openjdk/hotspot/src/share/vm/runtime/vframe.cpp Fri Aug 27 20:12:31 2010 +0100 +@@ -101,8 +101,8 @@ + bool found_first_monitor = false; + ObjectMonitor *pending_monitor = thread()->current_pending_monitor(); + ObjectMonitor *waiting_monitor = thread()->current_waiting_monitor(); +- oop pending_obj = (pending_monitor != NULL ? (oop) pending_monitor->object() : NULL); +- oop waiting_obj = (waiting_monitor != NULL ? (oop) waiting_monitor->object() : NULL); ++ oop pending_obj = (pending_monitor != NULL ? (oop) pending_monitor->object() : (oop) NULL); ++ oop waiting_obj = (waiting_monitor != NULL ? (oop) waiting_monitor->object() : (oop) NULL); + + for (int index = (mons->length()-1); index >= 0; index--) { + MonitorInfo* monitor = mons->at(index); +diff -r 13f94cc87253 -r 379b95785a1f src/share/vm/runtime/vm_version.cpp +--- openjdk.orig/hotspot/src/share/vm/runtime/vm_version.cpp Fri Jun 18 01:17:46 2010 -0700 +--- openjdk/hotspot/src/share/vm/runtime/vm_version.cpp Fri Aug 27 20:12:31 2010 +0100 +@@ -190,6 +190,8 @@ + #define HOTSPOT_BUILD_COMPILER "Workshop 5.8" + #elif __SUNPRO_CC == 0x590 + #define HOTSPOT_BUILD_COMPILER "Workshop 5.9" ++ #elif __SUNPRO_CC == 0x5100 ++ #define HOTSPOT_BUILD_COMPILER "Sun Studio 12u1" + #else + #define HOTSPOT_BUILD_COMPILER "unknown Workshop:" XSTR(__SUNPRO_CC) + #endif +diff -r 13f94cc87253 -r 379b95785a1f src/share/vm/utilities/dtrace.hpp +--- openjdk.orig/hotspot/src/share/vm/utilities/dtrace.hpp Fri Jun 18 01:17:46 2010 -0700 +--- openjdk/hotspot/src/share/vm/utilities/dtrace.hpp Fri Aug 27 20:12:31 2010 +0100 +@@ -29,6 +29,10 @@ + #define DTRACE_ONLY(x) x + #define NOT_DTRACE(x) + ++// Work around dtrace tail call bug 6672627 until it is fixed in solaris 10. ++#define HS_DTRACE_WORKAROUND_TAIL_CALL_BUG() \ ++ do { volatile size_t dtrace_workaround_tail_call_bug = 1; } while (0) ++ + #else // ndef SOLARIS || ndef DTRACE_ENABLED + + #define DTRACE_ONLY(x) +@@ -41,6 +45,8 @@ + #define DTRACE_PROBE4(a,b,c,d,e,f) {;} + #define DTRACE_PROBE5(a,b,c,d,e,f,g) {;} + ++#define HS_DTRACE_WORKAROUND_TAIL_CALL_BUG() ++ + #endif + + #define HS_DTRACE_PROBE_FN(provider,name)\
--- a/patches/systemtap.patch Thu Aug 12 21:13:14 2010 +0100 +++ b/patches/systemtap.patch Sun Sep 05 20:25:14 2010 +0100 @@ -1,6 +1,6 @@ diff -Nru openjdk.orig/hotspot/make/linux/makefiles/dtrace.make openjdk/hotspot/make/linux/makefiles/dtrace.make ---- openjdk.orig/hotspot/make/linux/makefiles/dtrace.make 2010-04-09 00:03:58.000000000 +0100 -+++ openjdk/hotspot/make/linux/makefiles/dtrace.make 2010-04-10 02:51:08.000000000 +0100 +--- openjdk.orig/hotspot/make/linux/makefiles/dtrace.make 2010-06-21 22:12:13.000000000 +0100 ++++ openjdk/hotspot/make/linux/makefiles/dtrace.make 2010-08-27 22:37:45.253819793 +0100 @@ -25,3 +25,7 @@ # Linux does not build jvm_db LIBJVM_DB = @@ -10,8 +10,8 @@ + +# 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-04-09 00:03:58.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/prims/jni.cpp 2010-04-10 02:51:08.000000000 +0100 +--- openjdk.orig/hotspot/src/share/vm/prims/jni.cpp 2010-06-21 22:12:20.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/prims/jni.cpp 2010-08-27 22:37:45.261818795 +0100 @@ -1753,10 +1753,7 @@ JNI_QUICK_ENTRY(void, jni_Set##Result##Field(JNIEnv *env, jobject obj, jfieldID fieldID, Argument value)) \ JNIWrapper("Set" XSTR(Result) "Field"); \ @@ -37,8 +37,8 @@ JNIid* id = jfieldIDWorkaround::from_static_jfieldID(fieldID); \ assert(id->is_static_field_id(), "invalid static field id"); \ 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-04-10 02:47:16.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp 2010-04-10 02:53:39.000000000 +0100 +--- openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp 2010-08-27 20:30:51.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp 2010-08-27 22:37:45.261818795 +0100 @@ -2460,16 +2460,16 @@ FLAG_SET_CMDLINE(bool, DisplayVMOutputToStderr, false); FLAG_SET_CMDLINE(bool, DisplayVMOutputToStdout, true); @@ -61,8 +61,8 @@ } else if (match_option(option, "-XX:+FullGCALot", &tail)) { FLAG_SET_CMDLINE(bool, FullGCALot, true); 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 2010-04-09 00:03:58.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/utilities/dtrace.hpp 2010-04-10 02:52:51.000000000 +0100 +--- openjdk.orig/hotspot/src/share/vm/utilities/dtrace.hpp 2010-08-27 20:30:52.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/utilities/dtrace.hpp 2010-08-27 22:38:19.569540300 +0100 @@ -1,5 +1,6 @@ /* * Copyright (c) 2005, 2007, Oracle and/or its affiliates. All rights reserved. @@ -70,7 +70,7 @@ * 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 @@ +@@ -22,7 +23,7 @@ * */ @@ -79,15 +79,16 @@ #include <sys/sdt.h> - #define DTRACE_ONLY(x) x - #define NOT_DTRACE(x) +@@ -33,7 +34,7 @@ + #define HS_DTRACE_WORKAROUND_TAIL_CALL_BUG() \ + do { volatile size_t dtrace_workaround_tail_call_bug = 1; } while (0) -#else // ndef SOLARIS || ndef DTRACE_ENABLED +#else // ndef DTRACE_ENABLED #define DTRACE_ONLY(x) #define NOT_DTRACE(x) x -@@ -40,9 +41,16 @@ +@@ -44,11 +45,18 @@ #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) {;} @@ -97,6 +98,8 @@ +#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) {;} + #define HS_DTRACE_WORKAROUND_TAIL_CALL_BUG() + #endif +#if defined(SOLARIS) @@ -104,7 +107,7 @@ #define HS_DTRACE_PROBE_FN(provider,name)\ __dtrace_##provider##___##name -@@ -50,6 +58,11 @@ +@@ -56,6 +64,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) @@ -116,7 +119,7 @@ /* Dtrace probe declarations */ #define HS_DTRACE_PROBE_DECL(provider,name) \ -@@ -88,6 +101,8 @@ +@@ -94,6 +107,8 @@ uintptr_t,uintptr_t,uintptr_t)) /* Dtrace probe definitions */ @@ -125,7 +128,7 @@ #define HS_DTRACE_PROBE_N(provider,name, args) \ DTRACE_ONLY(HS_DTRACE_PROBE_FN(provider,name) args) -@@ -123,3 +138,29 @@ +@@ -129,3 +144,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))
--- a/plugin/icedteanp/IcedTeaNPPlugin.cc Thu Aug 12 21:13:14 2010 +0100 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Sun Sep 05 20:25:14 2010 +0100 @@ -1,4 +1,4 @@ -/* IcedTeaPlugin.cc -- web browser plugin to execute Java applets +/* IcedTeaNPPlugin.cc -- web browser plugin to execute Java applets Copyright (C) 2003, 2004, 2006, 2007 Free Software Foundation, Inc. Copyright (C) 2009, 2010 Red Hat
--- a/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Thu Aug 12 21:13:14 2010 +0100 +++ b/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Sun Sep 05 20:25:14 2010 +0100 @@ -2124,40 +2124,6 @@ atts.put("heightPercentage", Integer.parseInt(h.substring(0, h.length() -1))); } } - else if (nm.equalsIgnoreCase("app")) { - statusMsgStream.println(appNotLongerSupportedWarning); - Hashtable atts2 = scanTag(in); - nm = (String)atts2.get("class"); - if (nm != null) { - atts2.remove("class"); - atts2.put("code", nm + ".class"); - } - nm = (String)atts2.get("src"); - if (nm != null) { - atts2.remove("src"); - atts2.put("codebase", nm); - } - if (atts2.get("width") == null || !isInt(atts2.get("width"))) { - atts2.put("width", "1000"); - atts2.put("widthPercentage", 100); - } else if (((String) atts.get("width")).endsWith("%")) { - String w = (String) atts.get("width"); - atts2.put("width", "100"); - atts2.put("widthPercentage", Integer.parseInt(w.substring(0, w.length() -1))); - } - - if (atts2.get("height") == null || !isInt(atts2.get("height"))) { - atts2.put("height", "1000"); - atts2.put("heightPercentage", 100); - } else if (((String) atts.get("height")).endsWith("%")) { - String h = (String) atts.get("height"); - atts2.put("height", "100"); - atts2.put("heightPercentage", Integer.parseInt(h.substring(0, h.length() -1))); - } - - printTag(statusMsgStream, atts2); - statusMsgStream.println(); - } } } }