From owner-svn-ports-head@FreeBSD.ORG Sun Jul 20 17:00:57 2014 Return-Path: Delivered-To: svn-ports-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id BFB52592; Sun, 20 Jul 2014 17:00:57 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id ABA412661; Sun, 20 Jul 2014 17:00:57 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s6KH0vOQ054456; Sun, 20 Jul 2014 17:00:57 GMT (envelope-from glewis@svn.freebsd.org) Received: (from glewis@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s6KH0vbT054453; Sun, 20 Jul 2014 17:00:57 GMT (envelope-from glewis@svn.freebsd.org) Message-Id: <201407201700.s6KH0vbT054453@svn.freebsd.org> From: Greg Lewis Date: Sun, 20 Jul 2014 17:00:57 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r362333 - in head/java/openjdk8: . files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 20 Jul 2014 17:00:57 -0000 Author: glewis Date: Sun Jul 20 17:00:57 2014 New Revision: 362333 URL: http://svnweb.freebsd.org/changeset/ports/362333 QAT: https://qat.redports.org/buildarchive/r362333/ Log: . Update to 8u11. This requires moving the patch file for 8u5 to start with 8u05 to preserve patch file ordering. Added: head/java/openjdk8/files/patch-8u05-b13 - copied unchanged from r362332, head/java/openjdk8/files/patch-8u5-b13 head/java/openjdk8/files/patch-8u11-b13 (contents, props changed) Deleted: head/java/openjdk8/files/patch-8u5-b13 Modified: head/java/openjdk8/Makefile head/java/openjdk8/files/patch-bsd Modified: head/java/openjdk8/Makefile ============================================================================== --- head/java/openjdk8/Makefile Sun Jul 20 16:13:50 2014 (r362332) +++ head/java/openjdk8/Makefile Sun Jul 20 17:00:57 2014 (r362333) @@ -2,7 +2,6 @@ PORTNAME= openjdk PORTVERSION= ${JDK_MAJOR_VERSION}.${JDK_UPDATE_VERSION}.${JDK_BUILD_NUMBER:S/^0//} -PORTREVISION?= 8 CATEGORIES= java devel MASTER_SITES= http://download.java.net/openjdk/jdk${JDK_MAJOR_VERSION}/promoted/b${JDK_BUILD_NUMBER}/:jdk \ https://adopt-openjdk.ci.cloudbees.com/job/jtreg/${JTREG_JENKINS_BUILD}/artifact/:jtreg \ @@ -61,8 +60,8 @@ NO_CCACHE= yes NOPRECIOUSMAKEVARS= yes JDK_MAJOR_VERSION= 8 -JDK_UPDATE_VERSION= 5 -JDK_BUILD_NUMBER= 13 +JDK_UPDATE_VERSION= 11 +JDK_BUILD_NUMBER= 12 JTREG_VERSION= 4.1 JTREG_BUILD_NUMBER= b08 JTREG_JENKINS_BUILD= 77 Copied: head/java/openjdk8/files/patch-8u05-b13 (from r362332, head/java/openjdk8/files/patch-8u5-b13) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/java/openjdk8/files/patch-8u05-b13 Sun Jul 20 17:00:57 2014 (r362333, copy of r362332, head/java/openjdk8/files/patch-8u5-b13) @@ -0,0 +1,13936 @@ +--- .hgtags ++++ .hgtags +@@ -253,3 +253,16 @@ + 1e5fe865491300cd0c63261ecf8d34e621e1345c jdk8-b129 + 839546caab1285c7699a9c2aa1467f57c9ea7f30 jdk8-b130 + 0c38dfecab2ad9f9b5b5edf54b991602147cd040 jdk8-b131 ++2a8f4c022aa03e7916223f3291517dbcc38e07cd jdk8-b132 ++c41935d79b8744af8b7b56cd4d4ab781027fb22e jdk8u5-b01 ++6f3357d3dbf83c1ef0098bcb853e3aa3b26f4cb8 jdk8u5-b02 ++794b4365b6884e9a15f0840792539f5821814127 jdk8u5-b03 ++c200d6cb184056e44afe7102913004b717896aa3 jdk8u5-b04 ++eb537d7c31e069ac10de0901727515743f7535d2 jdk8u5-b05 ++75cdae18810a479cc3c0fe8eb9055d968ae31c63 jdk8u5-b06 ++b1585984f29320737ca0da5af029b1225a75c476 jdk8u5-b07 ++a445d4130af79027fd9d6675b1ad7a8990225749 jdk8u5-b08 ++e5403ff707fbd828e56bf390931f236028f9617b jdk8u5-b09 ++fae51c73a06d71304c9dbff22984ee501812b972 jdk8u5-b10 ++dd3bd272ceedbd69fabafc531b6b1e056659f733 jdk8u5-b11 ++3e05b6ae0a1e2bd7352462e9bf8e7262246fb77f jdk8u5-b12 +--- .jcheck/conf ++++ .jcheck/conf +@@ -1 +1,2 @@ + project=jdk8 ++bugids=dup +--- THIRD_PARTY_README ++++ THIRD_PARTY_README +@@ -1399,13 +1399,13 @@ + + ------------------------------------------------------------------------------- + +-%% This notice is provided with respect to Little CMS 2.4, which may be ++%% This notice is provided with respect to Little CMS 2.5, which may be + included with JRE 8, JDK 8, and OpenJDK 8. + + --- begin of LICENSE --- + + Little CMS +-Copyright (c) 1998-2010 Marti Maria Saguer ++Copyright (c) 1998-2011 Marti Maria Saguer + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal +--- common/autoconf/generated-configure.sh ++++ common/autoconf/generated-configure.sh +@@ -3865,7 +3865,7 @@ + #CUSTOM_AUTOCONF_INCLUDE + + # Do not change or remove the following line, it is needed for consistency checks: +-DATE_WHEN_GENERATED=1389186094 ++DATE_WHEN_GENERATED=1390334534 + + ############################################################################### + # +@@ -11156,6 +11156,12 @@ + as_fn_error $? "Update version must have a value" "$LINENO" 5 + elif test "x$with_update_version" != x; then + JDK_UPDATE_VERSION="$with_update_version" ++ # On macosx 10.7, it's not possible to set --with-update-version=0X due ++ # to a bug in expr (which reduces it to just X). To work around this, we ++ # always add a 0 to one digit update versions. ++ if test "${#JDK_UPDATE_VERSION}" = "1"; then ++ JDK_UPDATE_VERSION="0${JDK_UPDATE_VERSION}" ++ fi + fi + + +--- common/autoconf/jdk-options.m4 ++++ common/autoconf/jdk-options.m4 +@@ -423,6 +423,12 @@ + AC_MSG_ERROR([Update version must have a value]) + elif test "x$with_update_version" != x; then + JDK_UPDATE_VERSION="$with_update_version" ++ # On macosx 10.7, it's not possible to set --with-update-version=0X due ++ # to a bug in expr (which reduces it to just X). To work around this, we ++ # always add a 0 to one digit update versions. ++ if test "${#JDK_UPDATE_VERSION}" = "1"; then ++ JDK_UPDATE_VERSION="0${JDK_UPDATE_VERSION}" ++ fi + fi + + AC_ARG_WITH(user-release-suffix, [AS_HELP_STRING([--with-user-release-suffix], +--- corba/.hgtags ++++ corba/.hgtags +@@ -253,3 +253,16 @@ + 5c72d74c6805d1b4f6192f7a3550d126acf37005 jdk8-b129 + 0683ee308085785d0455f4153e764e062843f178 jdk8-b130 + 5e5c8f0c45dd75a08089586ca50835393f00c2cb jdk8-b131 ++84fed37bbe640666bfc022c2e8b9fde468de35d2 jdk8-b132 ++5de8d42f9eb7ddcdc741445f3c21a63887d694b6 jdk8u5-b01 ++c750098a3ef18de28a6d739666559f0333c76c78 jdk8u5-b02 ++3d9b40a53134aa33031bf13581dff9fccade9048 jdk8u5-b03 ++596f4e4c5587c29767345555c4e48a5be0a58b83 jdk8u5-b04 ++1f95c888e5efe010550d95ef59020ddb15876463 jdk8u5-b05 ++edfa8bc86fda1b2fd064abbafb4506c80a47587e jdk8u5-b06 ++0a25d1c162bc046aa230577736429935716a2243 jdk8u5-b07 ++df6e5fc3b585a6829c98bb91546b81dc28f8e2b4 jdk8u5-b08 ++f5058197fa91153b7702214154d37b00f9714aaa jdk8u5-b09 ++d9031b5525f777299554080d6beb8b077df0a614 jdk8u5-b10 ++a2f7b36bfc1bc8df033fe5721b48fac1c3928a5b jdk8u5-b11 ++475b96f6d8cecf720ca9fd6d332dd4bafb0f654c jdk8u5-b12 +--- corba/.jcheck/conf ++++ corba/.jcheck/conf +@@ -1 +1,2 @@ + project=jdk8 ++bugids=dup +--- corba/THIRD_PARTY_README ++++ corba/THIRD_PARTY_README +@@ -1399,13 +1399,13 @@ + + ------------------------------------------------------------------------------- + +-%% This notice is provided with respect to Little CMS 2.4, which may be ++%% This notice is provided with respect to Little CMS 2.5, which may be + included with JRE 8, JDK 8, and OpenJDK 8. + + --- begin of LICENSE --- + + Little CMS +-Copyright (c) 1998-2010 Marti Maria Saguer ++Copyright (c) 1998-2011 Marti Maria Saguer + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal +--- corba/src/share/classes/com/sun/corba/se/impl/io/ObjectStreamClass.java ++++ corba/src/share/classes/com/sun/corba/se/impl/io/ObjectStreamClass.java +@@ -1,5 +1,5 @@ + /* +- * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. ++ * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it +@@ -52,6 +52,7 @@ + import java.io.DataOutputStream; + import java.io.ByteArrayOutputStream; + import java.io.InvalidClassException; ++import java.io.Externalizable; + import java.io.Serializable; + + import java.util.Arrays; +@@ -80,15 +81,15 @@ + public static final long kDefaultUID = -1; + + private static Object noArgsList[] = {}; +- private static Class noTypesList[] = {}; ++ private static Class noTypesList[] = {}; + + /** true if represents enum type */ + private boolean isEnum; + + private static final Bridge bridge = +- (Bridge)AccessController.doPrivileged( +- new PrivilegedAction() { +- public Object run() { ++ AccessController.doPrivileged( ++ new PrivilegedAction() { ++ public Bridge run() { + return Bridge.get() ; + } + } +@@ -98,7 +99,7 @@ + * is returned if the specified class does not implement + * java.io.Serializable or java.io.Externalizable. + */ +- static final ObjectStreamClass lookup(Class cl) ++ static final ObjectStreamClass lookup(Class cl) + { + ObjectStreamClass desc = lookupInternal(cl); + if (desc.isSerializable() || desc.isExternalizable()) +@@ -110,7 +111,7 @@ + * Find the class descriptor for the specified class. + * Package access only so it can be called from ObjectIn/OutStream. + */ +- static ObjectStreamClass lookupInternal(Class cl) ++ static ObjectStreamClass lookupInternal(Class cl) + { + /* Synchronize on the hashtable so no two threads will do + * this at the same time. +@@ -121,14 +122,14 @@ + desc = findDescriptorFor(cl); + if (desc == null) { + /* Check if it's serializable */ +- boolean serializable = classSerializable.isAssignableFrom(cl); ++ boolean serializable = Serializable.class.isAssignableFrom(cl); + + /* If the class is only Serializable, + * lookup the descriptor for the superclass. + */ + ObjectStreamClass superdesc = null; + if (serializable) { +- Class superclass = cl.getSuperclass(); ++ Class superclass = cl.getSuperclass(); + if (superclass != null) + superdesc = lookup(superclass); + } +@@ -141,7 +142,7 @@ + if (serializable) { + externalizable = + ((superdesc != null) && superdesc.isExternalizable()) || +- classExternalizable.isAssignableFrom(cl); ++ Externalizable.class.isAssignableFrom(cl); + if (externalizable) { + serializable = false; + } +@@ -185,7 +186,7 @@ + * that have evolved from a common root class and agree to be serialized + * and deserialized using a common format. + */ +- public static final long getSerialVersionUID( java.lang.Class clazz) { ++ public static final long getSerialVersionUID( java.lang.Class clazz) { + ObjectStreamClass theosc = ObjectStreamClass.lookup( clazz ); + if( theosc != null ) + { +@@ -219,7 +220,7 @@ + /** + * Return the actual (computed) serialVersionUID for this class. + */ +- public static final long getActualSerialVersionUID( java.lang.Class clazz ) ++ public static final long getActualSerialVersionUID( java.lang.Class clazz ) + { + ObjectStreamClass theosc = ObjectStreamClass.lookup( clazz ); + if( theosc != null ) +@@ -249,7 +250,7 @@ + * Return the class in the local VM that this version is mapped to. + * Null is returned if there is no corresponding local class. + */ +- public final Class forClass() { ++ public final Class forClass() { + return ofClass; + } + +@@ -349,7 +350,7 @@ + * Create a new ObjectStreamClass from a loaded class. + * Don't call this directly, call lookup instead. + */ +- private ObjectStreamClass(java.lang.Class cl, ObjectStreamClass superdesc, ++ private ObjectStreamClass(java.lang.Class cl, ObjectStreamClass superdesc, + boolean serial, boolean extern) + { + ofClass = cl; /* created from this class */ +@@ -433,7 +434,7 @@ + if (initialized) + return; + +- final Class cl = ofClass; ++ final Class cl = ofClass; + + if (!serializable || + externalizable || +@@ -561,9 +562,9 @@ + * will call it as necessary. + */ + writeObjectMethod = getPrivateMethod( cl, "writeObject", +- new Class[] { java.io.ObjectOutputStream.class }, Void.TYPE ) ; ++ new Class[] { java.io.ObjectOutputStream.class }, Void.TYPE ) ; + readObjectMethod = getPrivateMethod( cl, "readObject", +- new Class[] { java.io.ObjectInputStream.class }, Void.TYPE ) ; ++ new Class[] { java.io.ObjectInputStream.class }, Void.TYPE ) ; + } + return null; + } +@@ -589,9 +590,9 @@ + * class, or null if none found. Access checks are disabled on the + * returned method (if any). + */ +- private static Method getPrivateMethod(Class cl, String name, +- Class[] argTypes, +- Class returnType) ++ private static Method getPrivateMethod(Class cl, String name, ++ Class[] argTypes, ++ Class returnType) + { + try { + Method meth = cl.getDeclaredMethod(name, argTypes); +@@ -653,7 +654,7 @@ + * Fill in the reflected Fields that will be used + * for reading. + */ +- final void setClass(Class cl) throws InvalidClassException { ++ final void setClass(Class cl) throws InvalidClassException { + + if (cl == null) { + localClassDesc = null; +@@ -920,9 +921,9 @@ + * Access checks are disabled on the returned constructor (if any), since + * the defining class may still be non-public. + */ +- private static Constructor getExternalizableConstructor(Class cl) { ++ private static Constructor getExternalizableConstructor(Class cl) { + try { +- Constructor cons = cl.getDeclaredConstructor(new Class[0]); ++ Constructor cons = cl.getDeclaredConstructor(new Class[0]); + cons.setAccessible(true); + return ((cons.getModifiers() & Modifier.PUBLIC) != 0) ? + cons : null; +@@ -936,15 +937,15 @@ + * superclass, or null if none found. Access checks are disabled on the + * returned constructor (if any). + */ +- private static Constructor getSerializableConstructor(Class cl) { +- Class initCl = cl; ++ private static Constructor getSerializableConstructor(Class cl) { ++ Class initCl = cl; + while (Serializable.class.isAssignableFrom(initCl)) { + if ((initCl = initCl.getSuperclass()) == null) { + return null; + } + } + try { +- Constructor cons = initCl.getDeclaredConstructor(new Class[0]); ++ Constructor cons = initCl.getDeclaredConstructor(new Class[0]); + int mods = cons.getModifiers(); + if ((mods & Modifier.PRIVATE) != 0 || + ((mods & (Modifier.PUBLIC | Modifier.PROTECTED)) == 0 && +@@ -1049,7 +1050,7 @@ + * items to the hash accumulating in the digest stream. + * Fold the hash into a long. Use the SHA secure hash function. + */ +- private static long _computeSerialVersionUID(Class cl) { ++ private static long _computeSerialVersionUID(Class cl) { + if (DEBUG_SVUID) + msg( "Computing SerialVersionUID for " + cl ) ; + ByteArrayOutputStream devnull = new ByteArrayOutputStream(512); +@@ -1103,7 +1104,7 @@ + * them from its computation. + */ + +- Class interfaces[] = cl.getInterfaces(); ++ Class interfaces[] = cl.getInterfaces(); + Arrays.sort(interfaces, compareClassByName); + + for (int i = 0; i < interfaces.length; i++) { +@@ -1233,7 +1234,7 @@ + return h; + } + +- private static long computeStructuralUID(com.sun.corba.se.impl.io.ObjectStreamClass osc, Class cl) { ++ private static long computeStructuralUID(com.sun.corba.se.impl.io.ObjectStreamClass osc, Class cl) { + ByteArrayOutputStream devnull = new ByteArrayOutputStream(512); + + long h = 0; +@@ -1253,7 +1254,7 @@ + DataOutputStream data = new DataOutputStream(mdo); + + // Get SUID of parent +- Class parent = cl.getSuperclass(); ++ Class parent = cl.getSuperclass(); + if ((parent != null)) + // SerialBug 1; acc. to spec the one for + // java.lang.object +@@ -1309,10 +1310,10 @@ + /** + * Compute the JVM signature for the class. + */ +- static String getSignature(Class clazz) { ++ static String getSignature(Class clazz) { + String type = null; + if (clazz.isArray()) { +- Class cl = clazz; ++ Class cl = clazz; + int dimensions = 0; + while (cl.isArray()) { + dimensions++; +@@ -1358,7 +1359,7 @@ + + sb.append("("); + +- Class[] params = meth.getParameterTypes(); // avoid clone ++ Class[] params = meth.getParameterTypes(); // avoid clone + for (int j = 0; j < params.length; j++) { + sb.append(getSignature(params[j])); + } +@@ -1375,7 +1376,7 @@ + + sb.append("("); + +- Class[] params = cons.getParameterTypes(); // avoid clone ++ Class[] params = cons.getParameterTypes(); // avoid clone + for (int j = 0; j < params.length; j++) { + sb.append(getSignature(params[j])); + } +@@ -1395,7 +1396,7 @@ + * The entries are extended from java.lang.ref.SoftReference so the + * gc will be able to free them if needed. + */ +- private static ObjectStreamClass findDescriptorFor(Class cl) { ++ private static ObjectStreamClass findDescriptorFor(Class cl) { + + int hash = cl.hashCode(); + int index = (hash & 0x7FFFFFFF) % descriptorFor.length; +@@ -1442,7 +1443,7 @@ + descriptorFor[index] = e; + } + +- private static Field[] getDeclaredFields(final Class clz) { ++ private static Field[] getDeclaredFields(final Class clz) { + return (Field[]) AccessController.doPrivileged(new PrivilegedAction() { + public Object run() { + return clz.getDeclaredFields(); +@@ -1476,7 +1477,7 @@ + /* + * Class that is a descriptor for in this virtual machine. + */ +- private Class ofClass; ++ private Class ofClass; + + /* + * True if descriptor for a proxy class. +@@ -1548,30 +1549,17 @@ + * Returns true if the given class defines a static initializer method, + * false otherwise. + */ +- private static boolean hasStaticInitializer(Class cl) { ++ private static boolean hasStaticInitializer(Class cl) { + if (hasStaticInitializerMethod == null) { +- Class classWithThisMethod = null; ++ Class classWithThisMethod = null; + + try { +- try { +- // When using rip-int with Merlin or when this is a Merlin +- // workspace, the method we want is in sun.misc.ClassReflector +- // and absent from java.io.ObjectStreamClass. +- // +- // When compiling rip-int with JDK 1.3.x, we have to get it +- // from java.io.ObjectStreamClass. +- classWithThisMethod = Class.forName("sun.misc.ClassReflector"); +- } catch (ClassNotFoundException cnfe) { +- // Do nothing. This is either not a Merlin workspace, +- // or rip-int is being compiled with something other than +- // Merlin, probably JDK 1.3. Fall back on java.io.ObjectStreaClass. +- } + if (classWithThisMethod == null) + classWithThisMethod = java.io.ObjectStreamClass.class; + + hasStaticInitializerMethod = + classWithThisMethod.getDeclaredMethod("hasStaticInitializer", +- new Class[] { Class.class }); ++ new Class[] { Class.class }); + } catch (NoSuchMethodException ex) { + } + +@@ -1596,22 +1584,6 @@ + } + + +- /* The Class Object for java.io.Serializable */ +- private static Class classSerializable = null; +- private static Class classExternalizable = null; +- +- /* +- * Resolve java.io.Serializable at load time. +- */ +- static { +- try { +- classSerializable = Class.forName("java.io.Serializable"); +- classExternalizable = Class.forName("java.io.Externalizable"); +- } catch (Throwable e) { +- System.err.println("Could not load java.io.Serializable or java.io.Externalizable."); +- } +- } +- + /** use serialVersionUID from JDK 1.1. for interoperability */ + private static final long serialVersionUID = -6120832682080437368L; + +@@ -1649,8 +1621,8 @@ + + private static class CompareClassByName implements Comparator { + public int compare(Object o1, Object o2) { +- Class c1 = (Class)o1; +- Class c2 = (Class)o2; ++ Class c1 = (Class)o1; ++ Class c2 = (Class)o2; + return (c1.getName()).compareTo(c2.getName()); + } + } +@@ -1764,12 +1736,12 @@ + * + * Copied from the Merlin java.io.ObjectStreamClass. + */ +- private static Method getInheritableMethod(Class cl, String name, +- Class[] argTypes, +- Class returnType) ++ private static Method getInheritableMethod(Class cl, String name, ++ Class[] argTypes, ++ Class returnType) + { + Method meth = null; +- Class defCl = cl; ++ Class defCl = cl; + while (defCl != null) { + try { + meth = defCl.getDeclaredMethod(name, argTypes); +@@ -1801,7 +1773,7 @@ + * + * Copied from the Merlin java.io.ObjectStreamClass. + */ +- private static boolean packageEquals(Class cl1, Class cl2) { ++ private static boolean packageEquals(Class cl1, Class cl2) { + Package pkg1 = cl1.getPackage(), pkg2 = cl2.getPackage(); + return ((pkg1 == pkg2) || ((pkg1 != null) && (pkg1.equals(pkg2)))); + } +--- corba/src/share/classes/com/sun/corba/se/impl/orbutil/ObjectStreamClassUtil_1_3.java ++++ corba/src/share/classes/com/sun/corba/se/impl/orbutil/ObjectStreamClassUtil_1_3.java +@@ -1,5 +1,5 @@ + /* +- * Copyright (c) 2000, 2002, Oracle and/or its affiliates. All rights reserved. ++ * Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it +@@ -94,7 +94,7 @@ + }); + } + +- public static long computeStructuralUID(boolean hasWriteObject, Class cl) { ++ public static long computeStructuralUID(boolean hasWriteObject, Class cl) { + ByteArrayOutputStream devnull = new ByteArrayOutputStream(512); + + long h = 0; +@@ -119,7 +119,7 @@ + // Object method in there + + // Get SUID of parent +- Class parent = cl.getSuperclass(); ++ Class parent = cl.getSuperclass(); + if ((parent != null) && (parent != java.lang.Object.class)) { + boolean hasWriteObjectFlag = false; + Class [] args = {java.io.ObjectOutputStream.class}; +@@ -503,19 +503,6 @@ + Class classWithThisMethod = null; + + try { +- try { +- // When using rip-int with Merlin or when this is a Merlin +- // workspace, the method we want is in sun.misc.ClassReflector +- // and absent from java.io.ObjectStreamClass. +- // +- // When compiling rip-int with JDK 1.3.x, we have to get it +- // from java.io.ObjectStreamClass. +- classWithThisMethod = Class.forName("sun.misc.ClassReflector"); +- } catch (ClassNotFoundException cnfe) { +- // Do nothing. This is either not a Merlin workspace, +- // or rip-int is being compiled with something other than +- // Merlin, probably JDK 1.3. Fall back on java.io.ObjectStreaClass. +- } + if (classWithThisMethod == null) + classWithThisMethod = java.io.ObjectStreamClass.class; + +--- corba/src/share/classes/com/sun/corba/se/impl/orbutil/ObjectStreamClass_1_3_1.java ++++ corba/src/share/classes/com/sun/corba/se/impl/orbutil/ObjectStreamClass_1_3_1.java +@@ -1,5 +1,5 @@ + /* +- * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. ++ * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it +@@ -53,6 +53,7 @@ + import java.io.ByteArrayOutputStream; + import java.io.InvalidClassException; + import java.io.Serializable; ++import java.io.Externalizable; + + import java.util.Arrays; + import java.util.Comparator; +@@ -88,7 +89,7 @@ + public static final long kDefaultUID = -1; + + private static Object noArgsList[] = {}; +- private static Class noTypesList[] = {}; ++ private static Class noTypesList[] = {}; + + private static Hashtable translatedFields; + +@@ -96,7 +97,7 @@ + * is returned if the specified class does not implement + * java.io.Serializable or java.io.Externalizable. + */ +- static final ObjectStreamClass_1_3_1 lookup(Class cl) ++ static final ObjectStreamClass_1_3_1 lookup(Class cl) + { + ObjectStreamClass_1_3_1 desc = lookupInternal(cl); + if (desc.isSerializable() || desc.isExternalizable()) +@@ -108,7 +109,7 @@ + * Find the class descriptor for the specified class. + * Package access only so it can be called from ObjectIn/OutStream. + */ +- static ObjectStreamClass_1_3_1 lookupInternal(Class cl) ++ static ObjectStreamClass_1_3_1 lookupInternal(Class cl) + { + /* Synchronize on the hashtable so no two threads will do + * this at the same time. +@@ -122,13 +123,13 @@ + } + + /* Check if it's serializable */ +- boolean serializable = classSerializable.isAssignableFrom(cl); ++ boolean serializable = Serializable.class.isAssignableFrom(cl); + /* If the class is only Serializable, + * lookup the descriptor for the superclass. + */ + ObjectStreamClass_1_3_1 superdesc = null; + if (serializable) { +- Class superclass = cl.getSuperclass(); ++ Class superclass = cl.getSuperclass(); + if (superclass != null) + superdesc = lookup(superclass); + } +@@ -141,7 +142,7 @@ + if (serializable) { + externalizable = + ((superdesc != null) && superdesc.isExternalizable()) || +- classExternalizable.isAssignableFrom(cl); ++ Externalizable.class.isAssignableFrom(cl); + if (externalizable) { + serializable = false; + } +@@ -170,7 +171,7 @@ + * that have evolved from a common root class and agree to be serialized + * and deserialized using a common format. + */ +- public static final long getSerialVersionUID( java.lang.Class clazz) { ++ public static final long getSerialVersionUID( java.lang.Class clazz) { + ObjectStreamClass_1_3_1 theosc = ObjectStreamClass_1_3_1.lookup( clazz ); + if( theosc != null ) + { +@@ -204,7 +205,7 @@ + /** + * Return the actual (computed) serialVersionUID for this class. + */ +- public static final long getActualSerialVersionUID( java.lang.Class clazz ) ++ public static final long getActualSerialVersionUID( java.lang.Class clazz ) + { + ObjectStreamClass_1_3_1 theosc = ObjectStreamClass_1_3_1.lookup( clazz ); + if( theosc != null ) +@@ -234,7 +235,7 @@ + * Return the class in the local VM that this version is mapped to. + * Null is returned if there is no corresponding local class. + */ +- public final Class forClass() { ++ public final Class forClass() { + return ofClass; + } + +@@ -333,7 +334,7 @@ + * Create a new ObjectStreamClass_1_3_1 from a loaded class. + * Don't call this directly, call lookup instead. + */ +- private ObjectStreamClass_1_3_1(java.lang.Class cl, ObjectStreamClass_1_3_1 superdesc, ++ private ObjectStreamClass_1_3_1(java.lang.Class cl, ObjectStreamClass_1_3_1 superdesc, + boolean serial, boolean extern) + { + ofClass = cl; /* created from this class */ +@@ -376,7 +377,7 @@ + private void init() { + synchronized (lock) { + +- final Class cl = ofClass; ++ final Class cl = ofClass; + + if (fields != null) // already initialized + return; +@@ -558,7 +559,7 @@ + * will call it as necessary. + */ + try { +- Class[] args = {java.io.ObjectOutputStream.class}; ++ Class[] args = {java.io.ObjectOutputStream.class}; + writeObjectMethod = cl.getDeclaredMethod("writeObject", args); + hasWriteObjectMethod = true; + int mods = writeObjectMethod.getModifiers(); +@@ -578,7 +579,7 @@ + * ObjectInputStream so it can all the method directly. + */ + try { +- Class[] args = {java.io.ObjectInputStream.class}; ++ Class[] args = {java.io.ObjectInputStream.class}; + readObjectMethod = cl.getDeclaredMethod("readObject", args); + int mods = readObjectMethod.getModifiers(); + +@@ -629,11 +630,11 @@ + if (translation != null) + return translation; + else { +- Class osfClass = com.sun.corba.se.impl.orbutil.ObjectStreamField.class; ++ Class osfClass = com.sun.corba.se.impl.orbutil.ObjectStreamField.class; + + translation = (Object[])java.lang.reflect.Array.newInstance(osfClass, objs.length); + Object arg[] = new Object[2]; +- Class types[] = {String.class, Class.class}; ++ Class types[] = {String.class, Class.class}; + Constructor constructor = osfClass.getDeclaredConstructor(types); + for (int i = fields.length -1; i >= 0; i--){ + arg[0] = fields[i].getName(); +@@ -804,7 +805,7 @@ + } + } + +- private static long computeStructuralUID(ObjectStreamClass_1_3_1 osc, Class cl) { ++ private static long computeStructuralUID(ObjectStreamClass_1_3_1 osc, Class cl) { + ByteArrayOutputStream devnull = new ByteArrayOutputStream(512); + + long h = 0; +@@ -824,7 +825,7 @@ + DataOutputStream data = new DataOutputStream(mdo); + + // Get SUID of parent +- Class parent = cl.getSuperclass(); ++ Class parent = cl.getSuperclass(); + if ((parent != null)) + // SerialBug 1; acc. to spec the one for + // java.lang.object +@@ -910,10 +911,10 @@ + /** + * Compute the JVM signature for the class. + */ +- static String getSignature(Class clazz) { ++ static String getSignature(Class clazz) { + String type = null; + if (clazz.isArray()) { +- Class cl = clazz; ++ Class cl = clazz; + int dimensions = 0; + while (cl.isArray()) { + dimensions++; +@@ -959,7 +960,7 @@ + + sb.append("("); + +- Class[] params = meth.getParameterTypes(); // avoid clone ++ Class[] params = meth.getParameterTypes(); // avoid clone + for (int j = 0; j < params.length; j++) { + sb.append(getSignature(params[j])); + } +@@ -976,7 +977,7 @@ + + sb.append("("); + +- Class[] params = cons.getParameterTypes(); // avoid clone ++ Class[] params = cons.getParameterTypes(); // avoid clone + for (int j = 0; j < params.length; j++) { + sb.append(getSignature(params[j])); + } +@@ -996,7 +997,7 @@ + * The entries are extended from java.lang.ref.SoftReference so the + * gc will be able to free them if needed. + */ +- private static ObjectStreamClass_1_3_1 findDescriptorFor(Class cl) { ++ private static ObjectStreamClass_1_3_1 findDescriptorFor(Class cl) { + + int hash = cl.hashCode(); + int index = (hash & 0x7FFFFFFF) % descriptorFor.length; +@@ -1077,7 +1078,7 @@ + /* + * Class that is a descriptor for in this virtual machine. + */ +- private Class ofClass; ++ private Class ofClass; + + /* + * True if descriptor for a proxy class. +@@ -1130,22 +1131,6 @@ + /* Get the private static final field for serial version UID */ + // private static native long getSerialVersionUIDField(Class cl); + +- /* The Class Object for java.io.Serializable */ +- private static Class classSerializable = null; +- private static Class classExternalizable = null; +- +- /* +- * Resolve java.io.Serializable at load time. +- */ +- static { +- try { +- classSerializable = Class.forName("java.io.Serializable"); +- classExternalizable = Class.forName("java.io.Externalizable"); +- } catch (Throwable e) { +- System.err.println("Could not load java.io.Serializable or java.io.Externalizable."); +- } +- } +- + /** use serialVersionUID from JDK 1.1. for interoperability */ + private static final long serialVersionUID = -6120832682080437368L; + +@@ -1183,8 +1168,8 @@ + + private static class CompareClassByName implements Comparator { + public int compare(Object o1, Object o2) { +- Class c1 = (Class)o1; +- Class c2 = (Class)o2; ++ Class c1 = (Class)o1; ++ Class c2 = (Class)o2; + return (c1.getName()).compareTo(c2.getName()); + } + } +--- corba/src/share/classes/org/omg/CORBA/ORB.java ++++ corba/src/share/classes/org/omg/CORBA/ORB.java +@@ -1,5 +1,5 @@ + /* +- * Copyright (c) 1995, 2013, Oracle and/or its affiliates. All rights reserved. ++ * Copyright (c) 1995, 2014, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it +@@ -36,6 +36,8 @@ + import java.security.AccessController; + import java.security.PrivilegedAction; + ++import sun.reflect.misc.ReflectUtil; ++ + /** + * A class providing APIs for the CORBA Object Request Broker + * features. The ORB class also provides +@@ -289,20 +291,38 @@ + (className.equals("com.sun.corba.se.impl.orb.ORBSingleton"))) { + singleton = new com.sun.corba.se.impl.orb.ORBSingleton(); + } else { +- singleton = create_impl(className); ++ singleton = create_impl_with_systemclassloader(className); + } + } + return singleton; + } + +- private static ORB create_impl(String className) { ++ private static ORB create_impl_with_systemclassloader(String className) { + ++ try { ++ ReflectUtil.checkPackageAccess(className); ++ ClassLoader cl = ClassLoader.getSystemClassLoader(); ++ Class orbBaseClass = org.omg.CORBA.ORB.class; ++ Class singletonOrbClass = Class.forName(className, true, cl).asSubclass(orbBaseClass); ++ return (ORB)singletonOrbClass.newInstance(); ++ } catch (Throwable ex) { ++ SystemException systemException = new INITIALIZE( ++ "can't instantiate default ORB implementation " + className); ++ systemException.initCause(ex); ++ throw systemException; ++ } ++ } ++ ++ private static ORB create_impl(String className) { + ClassLoader cl = Thread.currentThread().getContextClassLoader(); + if (cl == null) + cl = ClassLoader.getSystemClassLoader(); + + try { +- return (ORB) Class.forName(className, true, cl).newInstance(); ++ ReflectUtil.checkPackageAccess(className); ++ Class orbBaseClass = org.omg.CORBA.ORB.class; ++ Class orbClass = Class.forName(className, true, cl).asSubclass(orbBaseClass); ++ return (ORB)orbClass.newInstance(); + } catch (Throwable ex) { + SystemException systemException = new INITIALIZE( + "can't instantiate default ORB implementation " + className); +@@ -346,7 +366,6 @@ + } else { + orb = create_impl(className); + } +- + orb.set_parameters(args, props); + return orb; + } +@@ -377,7 +396,6 @@ + } else { + orb = create_impl(className); + } +- + orb.set_parameters(app, props); + return orb; + } +@@ -573,7 +591,7 @@ + try { + // First try to load the OperationDef class + String opDefClassName = "org.omg.CORBA.OperationDef"; +- Class opDefClass = null; ++ Class opDefClass = null; + + ClassLoader cl = Thread.currentThread().getContextClassLoader(); + if ( cl == null ) +@@ -583,7 +601,7 @@ + + // OK, we loaded OperationDef. Now try to get the + // create_operation_list(OperationDef oper) method. +- Class[] argc = { opDefClass }; ++ Class[] argc = { opDefClass }; + java.lang.reflect.Method meth = + this.getClass().getMethod("create_operation_list", argc); + +--- hotspot/.hgtags ++++ hotspot/.hgtags +@@ -421,3 +421,16 @@ + 1dbaf664a611e5d9cab6d1be42537b67d0d05f94 jdk8-b130 + b5e7ebfe185cb4c2eeb8a919025fc6a26be2fcef jdk8-b131 + 9f9179e8f0cfe74c08f3716cf3c38e21e1de4c4a hs25-b70 ++0c94c41dcd70e9a9b4d96e31275afd5a73daa72d jdk8-b132 ++4a35ef38e2a7bc64df20c7700ba69b37e3ddb8b5 jdk8u5-b01 ++e5561d89fe8bfc79cd6c8fcc36d270cc6a49ec6e jdk8u5-b02 ++2f9eb9fcab6c42c8c84ddb44170ea33235116d84 jdk8u5-b03 ++5ac720d47ab83f8eb2f5fe3641667823a0298f41 jdk8u5-b04 ++b90de55aca30678ab0fec05d6a61bb3468b783d2 jdk8u5-b05 ++956c0e048ef29ee9a8026fb05858abe64b4e0ceb jdk8u5-b06 ++46fa2940e6861df18a107b6b83a2df85239e5ec7 jdk8u5-b07 ++21c1dfbed277791071947eed1c93806ccf48a7d8 jdk8u5-b08 ++6af9ce1c56a6545ec6c992a5f61b2eec924be040 jdk8u5-b09 ++629267e4f0b5155608edcd71922983be98786bd7 jdk8u5-b10 ++17a75e692af397532e2b296b24f6b9b6c239c633 jdk8u5-b11 ++9b289963cb9a14636fbe8faaa2dd6d3678464a7b jdk8u5-b12 +--- hotspot/.jcheck/conf ++++ hotspot/.jcheck/conf +@@ -1 +1,2 @@ + project=jdk8 ++bugids=dup +--- hotspot/THIRD_PARTY_README ++++ hotspot/THIRD_PARTY_README +@@ -1399,13 +1399,13 @@ + + ------------------------------------------------------------------------------- + +-%% This notice is provided with respect to Little CMS 2.4, which may be ++%% This notice is provided with respect to Little CMS 2.5, which may be + included with JRE 8, JDK 8, and OpenJDK 8. + + --- begin of LICENSE --- + + Little CMS +-Copyright (c) 1998-2010 Marti Maria Saguer ++Copyright (c) 1998-2011 Marti Maria Saguer + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal +--- hotspot/make/hotspot_version ++++ hotspot/make/hotspot_version +@@ -34,8 +34,8 @@ + HOTSPOT_VM_COPYRIGHT=Copyright 2014 + + HS_MAJOR_VER=25 +-HS_MINOR_VER=0 +-HS_BUILD_NUMBER=70 ++HS_MINOR_VER=5 ++HS_BUILD_NUMBER=02 + + JDK_MAJOR_VER=1 + JDK_MINOR_VER=8 +--- hotspot/src/share/vm/classfile/classFileParser.cpp ++++ hotspot/src/share/vm/classfile/classFileParser.cpp +@@ -1,5 +1,5 @@ + /* +- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. ++ * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it +@@ -2777,6 +2777,11 @@ + "Short length on BootstrapMethods in class file %s", + CHECK); + ++ guarantee_property(attribute_byte_length > sizeof(u2), ++ "Invalid BootstrapMethods attribute length %u in class file %s", ++ attribute_byte_length, ++ CHECK); ++ + // The attribute contains a counted array of counted tuples of shorts, + // represending bootstrap specifiers: + // length*{bootstrap_method_index, argument_count*{argument_index}} +--- hotspot/src/share/vm/oops/objArrayKlass.cpp ++++ hotspot/src/share/vm/oops/objArrayKlass.cpp +@@ -269,7 +269,7 @@ + if (element_is_null || + (new_val->klass())->is_subtype_of(bound)) { + bs->write_ref_field_pre(p, new_val); +- *p = *from; ++ *p = element; + } else { + // We must do a barrier to cover the partial copy. *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***