Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 20 Jul 2014 17:00:57 +0000 (UTC)
From:      Greg Lewis <glewis@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r362333 - in head/java/openjdk8: . files
Message-ID:  <201407201700.s6KH0vbT054453@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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<Bridge>() {
++                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 <code>ORB</code> 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<org.omg.CORBA.ORB> 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<org.omg.CORBA.ORB> 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 ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201407201700.s6KH0vbT054453>