changeset 2923:e9659e584b7c icedtea-2.7.0pre14

Bump to icedtea-2.7.0pre14. Upstream changes: - Bump to icedtea-2.7.0pre14 - S7117357: Warnings in sun.instrument, tools and other sun.* classes - S7117570: Warnings in sun.mangement.* and its subpackages - S7143230: fix warnings in java.util.jar, sun.tools.jar, zipfs demo, etc. - S8022440: suppress deprecation warnings in sun.rmi - S8024069: replace_in_map() should operate on parent maps - S8026796: Make replace_in_map() on parent maps generic - S8030787: [Parfait] JNI-related warnings from b119 for jdk/src/share/native/sun/awt/image - S8030875: Macros for checking and returning on exceptions - S8031737: CHECK_NULL and CHECK_EXCEPTION macros cleanup - S8034912: backport of 8031737 to jdk8u breaks linux buld. - S8035629: [parfait] JNI exc pending in jdk/src/windows/native/sun/windows/ShellFolder2.cpp - S8037287: Windows build failed after JDK-8030787 - S8048703: ReplacedNodes dumps it's content to tty - S8080492: [Parfait] Uninitialised variable in jdk/src/java/desktop/windows/native/libawt/ - S8139870: sun.management.LazyCompositeData.isTypeMatched() fails for composite types with items of ArrayType - S8143377: Test PKCS8Test.java fails - S8144028, PR3431: Use AArch64 bit-test instructions in C2 - S8145438, PR3443, RH1482244: Guarantee failures since 8144028: Use AArch64 bit-test instructions in C2 - S8149450: LdapCtx.processReturnCode() throwing Null Pointer Exception - S8152537, PR3431: aarch64: Make use of CBZ and CBNZ when comparing unsigned values with zero. - S8155690: Update libPNG library to the latest up-to-date - S8156804: Better constraint checking - S8162461: Hang due to JNI up-call made whilst holding JNI critical lock - S8163958: Improved garbage collection - S8165231: java.nio.Bits.unaligned() doesn't return true on ppc - S8165367: Additional tests for JEP 288: Disable SHA-1 Certificates - S8167228: Update to libpng 1.6.28 - S8169209: Improved image post-processing steps - S8169392: Additional jar validation steps - S8170966: Right parenthesis issue - S8172204: Better Thread Pool execution - S8172461: Service Registration Lifecycle - S8172465: Better handling of channel groups - S8172469: Transform Transformer Exceptions - S8173145: Menu is activated after using mnemonic Alt/Key combination - S8173286: Better reading of text catalogs - S8173697: Less Active Activations - S8173770: Image conversion improvements - S8174098: Better image fetching - S8174105: Better naming attribution - S8174113: Better sourcing of code - S8174164: SafePointNode::_replaced_nodes breaks with irreducible loops - S8174729: Race Condition in java.lang.reflect.WeakCache - S8174770: Check registry registration location - S8174873: Improved certificate procesing - S8175097: [TESTBUG] 8174164 fix missed the test - S8175106: Higher quality DSA operations - S8175110: Higher quality ECDSA operations - S8175251: Failed to load RSA private key from pkcs12 - S8176055: JMX diagnostic improvements - S8176067: Proper directory lookup processing - S8176731: JCK tests in api/javax_xml/transform/ spec conformance started failing after 8172469 - S8176760: Better handling of PKCS8 material - S8176769: Remove accidental spec change in jdk8u - S8177449: (tz) Support tzdata2017b - S8178135: Additional elliptic curve support - S8178996: [macos] JComboBox doesn't display popup in mixed JavaFX Swing Application on 8u131 and Mac OS 10.12 - S8179014: JFileChooser with Windows look and feel crashes on win 10 - S8179887: Build failure with glibc >= 2.24: error: 'int readdir_r(DIR*, dirent*, dirent**)' is deprecated - S8180582: The bind to rmiregistry is rejected by registryFilter even though registryFilter is set - S8181420: PPC: Image conversion improvements - S8181591: 8u141 L10n resource file update - S8182054: Improve wsdl support - S8183551, PR3431: AArch64: Image conversion improvements - S8184119: Incorrect return processing for the LF editor of MethodHandles.permuteArguments - S8184993: Jar file verification failing with SecurityException: digest missing xxx - S8185501: Missing import in JAXP code - S8185502: No overflow operator on OpenJDK 7 - S8185716: OpenJDK 7 PPC64 port uses a different ins_encode format in ppc.ad ChangeLog: 2017-09-08 Andrew John Hughes <gnu_andrew@member.fsf.org> Bump to icedtea-2.7.0pre14. * Makefile.am: (JDK_UPDATE_VERSION): Bump to 151. (BUILD_VERSION): Reset to b01. (CORBA_CHANGESET): Update to icedtea-2.7.0pre14. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (OPENJDK_SHA256SUM): Likewise. * NEWS: Updated. * configure.ac: Bump to 2.7.0pre14. * hotspot.map.in: Update to icedtea-2.7.0pre14. * patches/boot/ecj-diamond.patch: Regenerated. Add cases in java.util.jar.Attributes, java.util.jar.JarVerifier, javax.imageio.spi.ServiceRegistry, sun.management.ConnectorAddressLink, sun.management.counter.perf.PerfInstrumentation, sun.management.Flag, sun.management.GarbageCollectionNotifInfoCompositeData, sun.management.HotspotCompilation, sun.management.HotspotDiagnostic, sun.management.HotspotThread, sun.management.jmxremote.ConnectorBootstrap, sun.management.ManagementFactoryHelper, sun.management.MappedMXBeanType, sun.management.NotificationEmitterSupport, sun.management.RuntimeImpl, sun.net.RegisterDomain, sun.tools.jar.CommandLine, sun.tools.jar.Manifest and sun.tools.jar.SignatureFile * patches/boot/ecj-multicatch.patch: Add cases in com.sun.imageio.plugins.jpeg.JPEGImageReader, sun.management.Agent, sun.management.GarbageCollectionNotifInfoCompositeData, sun.management.GcInfoCompositeData, sun.rmi.server.UnicastRef, sun.rmi.server.UnicastServerRef, javax.xml.transform.TransformerException, com.sun.xml.internal.ws.util.xml.XmlUtil, sun.rmi.registry.RegistryImpl_Skel and sun.rmi.transport.DGCImpl_Stub * patches/boot/ecj-stringswitch.patch: Regenerated. * patches/boot/ecj-trywithresources.patch: Add cases in sun.management.jmxremote.ConnectorBootstrap.
author Andrew John Hughes <gnu_andrew@member.fsf.org>
date Fri, 08 Sep 2017 18:31:37 +0100
parents 0932f17a5dcd
children dcafec34cb92
files ChangeLog Makefile.am NEWS configure.ac hotspot.map.in patches/boot/ecj-diamond.patch patches/boot/ecj-multicatch.patch patches/boot/ecj-stringswitch.patch patches/boot/ecj-trywithresources.patch
diffstat 9 files changed, 2365 insertions(+), 1466 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Thu Aug 10 07:20:50 2017 +0100
+++ b/ChangeLog	Fri Sep 08 18:31:37 2017 +0100
@@ -1,3 +1,60 @@
+2017-09-08  Andrew John Hughes  <gnu_andrew@member.fsf.org>
+
+	Bump to icedtea-2.7.0pre14.
+	* Makefile.am:
+	(JDK_UPDATE_VERSION): Bump to 151.
+	(BUILD_VERSION): Reset to b01.
+	(CORBA_CHANGESET): Update to icedtea-2.7.0pre14.
+	(JAXP_CHANGESET): Likewise.
+	(JAXWS_CHANGESET): Likewise.
+	(JDK_CHANGESET): Likewise.
+	(LANGTOOLS_CHANGESET): Likewise.
+	(OPENJDK_CHANGESET): Likewise.
+	(CORBA_SHA256SUM): Likewise.
+	(JAXP_SHA256SUM): Likewise.
+	(JAXWS_SHA256SUM): Likewise.
+	(JDK_SHA256SUM): Likewise.
+	(LANGTOOLS_SHA256SUM): Likewise.
+	(OPENJDK_SHA256SUM): Likewise.
+	* NEWS: Updated.
+	* configure.ac: Bump to 2.7.0pre14.
+	* hotspot.map.in: Update to icedtea-2.7.0pre14.
+	* patches/boot/ecj-diamond.patch:
+	Regenerated. Add cases in
+	java.util.jar.Attributes, java.util.jar.JarVerifier,
+	javax.imageio.spi.ServiceRegistry,
+	sun.management.ConnectorAddressLink,
+	sun.management.counter.perf.PerfInstrumentation,
+	sun.management.Flag,
+	sun.management.GarbageCollectionNotifInfoCompositeData,
+	sun.management.HotspotCompilation,
+	sun.management.HotspotDiagnostic,
+	sun.management.HotspotThread,
+	sun.management.jmxremote.ConnectorBootstrap,
+	sun.management.ManagementFactoryHelper,
+	sun.management.MappedMXBeanType,
+	sun.management.NotificationEmitterSupport,
+	sun.management.RuntimeImpl,
+	sun.net.RegisterDomain,
+	sun.tools.jar.CommandLine,
+	sun.tools.jar.Manifest and sun.tools.jar.SignatureFile
+	* patches/boot/ecj-multicatch.patch:
+	Add cases in
+	com.sun.imageio.plugins.jpeg.JPEGImageReader,
+	sun.management.Agent,
+	sun.management.GarbageCollectionNotifInfoCompositeData,
+	sun.management.GcInfoCompositeData,
+	sun.rmi.server.UnicastRef, sun.rmi.server.UnicastServerRef,
+	javax.xml.transform.TransformerException,
+	com.sun.xml.internal.ws.util.xml.XmlUtil,
+	sun.rmi.registry.RegistryImpl_Skel and
+	sun.rmi.transport.DGCImpl_Stub
+	* patches/boot/ecj-stringswitch.patch:
+	Regenerated.
+	* patches/boot/ecj-trywithresources.patch:
+	Add cases in
+	sun.management.jmxremote.ConnectorBootstrap.
+
 2017-08-09  Andrew John Hughes  <gnu_andrew@member.fsf.org>
 
 	* NEWS: Add 2.6.11 release notes.
--- a/Makefile.am	Thu Aug 10 07:20:50 2017 +0100
+++ b/Makefile.am	Fri Sep 08 18:31:37 2017 +0100
@@ -1,22 +1,22 @@
 # Dependencies
 
-JDK_UPDATE_VERSION = 141
-BUILD_VERSION = b02
+JDK_UPDATE_VERSION = 151
+BUILD_VERSION = b01
 COMBINED_VERSION = $(JDK_UPDATE_VERSION)-$(BUILD_VERSION)
 
-CORBA_CHANGESET = 11f5122b24e0
-JAXP_CHANGESET = 03c6bf5e7a4d
-JAXWS_CHANGESET = e76c114177c1
-JDK_CHANGESET = 0e380c5a1bff
-LANGTOOLS_CHANGESET = a4036f67fb21
-OPENJDK_CHANGESET = 602895b43dd8
-
-CORBA_SHA256SUM = db3d7e294f4d603f8025d400ca4e4daf4c7c54f2a2f8ed4f6381f058c80e4424
-JAXP_SHA256SUM = eb13dc70acc6f66c3ae611139e93e1dbd7cd8f64d7f88c2e1a7d93fd1d483730
-JAXWS_SHA256SUM = 2293e56f541305510e6fa90444ae75321eb0f91471f634f483f45cfce6ac7e53
-JDK_SHA256SUM = 6fd7d82a1b5fe91268f9884bf32d8332e54514c6d28affc84d7e21de2b9abdeb
-LANGTOOLS_SHA256SUM = 7aef5fcbfd40de785b34d0bde6f0845af0f7ad7967682c66165f34e7bd177646
-OPENJDK_SHA256SUM = 3545ab18f4ed5b72e5838600f0c94ba5f05f4bcd0c996b6b7cf8bf447e645dc7
+CORBA_CHANGESET = 772062092675
+JAXP_CHANGESET = 112c9edb3630
+JAXWS_CHANGESET = 30295a209fc5
+JDK_CHANGESET = c2314c8d2b47
+LANGTOOLS_CHANGESET = c347e7b1109b
+OPENJDK_CHANGESET = a14132e755f1
+
+CORBA_SHA256SUM = 5dc7d71e2fcf3b6ab8f446d18dd8215fb8c341938b918d776cd8732f6f098f49
+JAXP_SHA256SUM = 190fb69f56179f2ee7d65120b8961665b55baeeb6514187fbf5670d16a92b4a0
+JAXWS_SHA256SUM = cf57af421cf11b7a7cae49278b0fec8183d3707f9af093625cf71b8f36499715
+JDK_SHA256SUM = caf00f74604fbf32e0f89b0b7b030680b47d68da688b57b6eb2fb5b3f1e02a27
+LANGTOOLS_SHA256SUM = c7188c564978d06b6770198605f3b6c456e2986c46426ff08efdb481a87240be
+OPENJDK_SHA256SUM = 406f5a00b5b4b61baecf6f51ee746726958c04ffa2c9d4ab02964bd321c05342
 
 DROP_URL = http://icedtea.classpath.org/download/drops
 
--- a/NEWS	Thu Aug 10 07:20:50 2017 +0100
+++ b/NEWS	Fri Sep 08 18:31:37 2017 +0100
@@ -22,6 +22,8 @@
   - S8148516, PR2809: Improve the default strength of EC in JDK [test/javax/net/ssl/ciphersuites/DisabledAlgorithms.java update]
 * Bug fixes
   - PR3162: Remove reference to AbstractPlainDatagramSocketImpl.c, removed in 8072466
+* AArch64 port
+  - S8145438, PR3443, RH1482244: Guarantee failures since 8144028: Use AArch64 bit-test instructions in C2
 
 New in release 2.6.11 (2017-08-08):
 
--- a/configure.ac	Thu Aug 10 07:20:50 2017 +0100
+++ b/configure.ac	Fri Sep 08 18:31:37 2017 +0100
@@ -1,4 +1,4 @@
-AC_INIT([icedtea], [2.7.0pre13], [distro-pkg-dev@openjdk.java.net])
+AC_INIT([icedtea], [2.7.0pre14], [distro-pkg-dev@openjdk.java.net])
 AM_INIT_AUTOMAKE([1.9 tar-pax foreign])
 AM_MAINTAINER_MODE([enable])
 AC_CONFIG_FILES([Makefile])
--- a/hotspot.map.in	Thu Aug 10 07:20:50 2017 +0100
+++ b/hotspot.map.in	Fri Sep 08 18:31:37 2017 +0100
@@ -1,2 +1,2 @@
 # version type(drop/hg) url changeset sha256sum
-default drop http://icedtea.classpath.org/download/drops/icedtea7/@ICEDTEA_RELEASE@ 2a6fcefff99a 89f75d9185b5cf19a3e2d143636b45bf3eb3ecd38ddd884b9897e373ee8fd8b0
+default drop http://icedtea.classpath.org/download/drops/icedtea7/@ICEDTEA_RELEASE@ 46d12689c870 1b879853ededa27ad932a12ad05391573eeed39f95830a10aa9cb320e02f52f7
--- a/patches/boot/ecj-diamond.patch	Thu Aug 10 07:20:50 2017 +0100
+++ b/patches/boot/ecj-diamond.patch	Fri Sep 08 18:31:37 2017 +0100
@@ -1,6 +1,6 @@
 diff -Nru openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/encoding/CachedCodeBase.java openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/encoding/CachedCodeBase.java
---- openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/encoding/CachedCodeBase.java	2017-04-18 02:46:24.000000000 +0100
-+++ openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/encoding/CachedCodeBase.java	2017-04-26 16:05:48.555252606 +0100
+--- openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/encoding/CachedCodeBase.java	2017-08-22 02:03:44.000000000 +0100
++++ openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/encoding/CachedCodeBase.java	2017-09-06 18:08:33.872787376 +0100
 @@ -58,7 +58,7 @@
      private CorbaConnection conn;
  
@@ -11,8 +11,8 @@
      public static synchronized void cleanCache( ORB orb ) {
          synchronized (iorMapLock) {
 diff -Nru openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java
---- openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java	2017-04-18 02:46:24.000000000 +0100
-+++ openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java	2017-04-26 16:05:48.555252606 +0100
+--- openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java	2017-08-22 02:03:44.000000000 +0100
++++ openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java	2017-09-06 18:08:33.872787376 +0100
 @@ -50,7 +50,7 @@
       */
      private class HookPutFields extends ObjectOutputStream.PutField
@@ -23,8 +23,8 @@
          /**
           * Put the value of the named boolean field into the persistent field.
 diff -Nru openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java
---- openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java	2017-04-18 02:46:24.000000000 +0100
-+++ openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java	2017-04-26 16:05:48.555252606 +0100
+--- openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java	2017-08-22 02:03:44.000000000 +0100
++++ openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java	2017-09-06 18:08:33.872787376 +0100
 @@ -1315,7 +1315,7 @@
      protected void shutdownServants(boolean wait_for_completion) {
          Set<ObjectAdapterFactory> oaset;
@@ -35,8 +35,8 @@
  
          for (ObjectAdapterFactory oaf : oaset)
 diff -Nru openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/orbutil/threadpool/ThreadPoolImpl.java openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/orbutil/threadpool/ThreadPoolImpl.java
---- openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/orbutil/threadpool/ThreadPoolImpl.java	2017-04-18 02:46:24.000000000 +0100
-+++ openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/orbutil/threadpool/ThreadPoolImpl.java	2017-04-26 16:05:48.555252606 +0100
+--- openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/orbutil/threadpool/ThreadPoolImpl.java	2017-08-22 02:03:44.000000000 +0100
++++ openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/orbutil/threadpool/ThreadPoolImpl.java	2017-09-06 18:08:33.872787376 +0100
 @@ -108,7 +108,7 @@
      private ThreadGroup threadGroup;
  
@@ -56,8 +56,8 @@
  
          for (WorkerThread wt : copy) {
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/lib/ExsltSets.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/lib/ExsltSets.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/lib/ExsltSets.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/lib/ExsltSets.java	2017-04-26 16:05:48.555252606 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/lib/ExsltSets.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/lib/ExsltSets.java	2017-09-06 18:08:33.872787376 +0100
 @@ -192,7 +192,7 @@
      NodeSet dist = new NodeSet();
      dist.setShouldCacheNodes(true);
@@ -68,8 +68,8 @@
      for (int i = 0; i < nl.getLength(); i++)
      {
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xslt/EnvironmentCheck.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xslt/EnvironmentCheck.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xslt/EnvironmentCheck.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xslt/EnvironmentCheck.java	2017-04-26 16:05:48.555252606 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xslt/EnvironmentCheck.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xslt/EnvironmentCheck.java	2017-09-06 18:08:33.872787376 +0100
 @@ -220,7 +220,7 @@
    public Map<String, Object> getEnvironmentHash()
    {
@@ -205,8 +205,8 @@
      jarVersions.put(new Long(440237), "xalan.jar from xalan-j_1_2");
      jarVersions.put(new Long(436094), "xalan.jar from xalan-j_1_2_1");
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/CastExpr.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/CastExpr.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/CastExpr.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/CastExpr.java	2017-04-26 16:05:48.555252606 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/CastExpr.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/CastExpr.java	2017-09-06 18:08:33.872787376 +0100
 @@ -51,7 +51,7 @@
      /**
       * Legal conversions between internal types.
@@ -217,8 +217,8 @@
      static {
          // Possible type conversions between internal types
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/FunctionCall.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/FunctionCall.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/FunctionCall.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/FunctionCall.java	2017-04-26 16:05:48.555252606 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/FunctionCall.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/FunctionCall.java	2017-09-06 18:08:33.872787376 +0100
 @@ -139,7 +139,7 @@
      private boolean       _isStatic = false;
  
@@ -242,8 +242,8 @@
          // Possible conversions between Java and internal types
          java2Internal.put(Boolean.TYPE, Type.Boolean);
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/LiteralElement.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/LiteralElement.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/LiteralElement.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/LiteralElement.java	2017-04-26 16:05:48.555252606 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/LiteralElement.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/LiteralElement.java	2017-09-06 18:08:33.872787376 +0100
 @@ -107,7 +107,7 @@
  
          // Check if we have any declared namespaces
@@ -290,8 +290,8 @@
                               SyntaxTreeNode n = _attributeElements.get(k);
                               if (n instanceof LiteralAttribute) {
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Mode.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Mode.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Mode.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Mode.java	2017-04-26 16:05:48.559252540 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Mode.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Mode.java	2017-09-06 18:08:33.876787311 +0100
 @@ -129,22 +129,22 @@
      /**
       * A mapping between templates and test sequences.
@@ -344,8 +344,8 @@
          _rootPattern = null;
  
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Parser.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Parser.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Parser.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Parser.java	2017-04-26 16:05:48.559252540 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Parser.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Parser.java	2017-09-06 18:08:33.876787311 +0100
 @@ -81,7 +81,7 @@
      private Map<String, String>   _instructionClasses; // Maps instructions to classes
      private Map<String, String[]> _instructionAttrs;  // reqd and opt attrs
@@ -391,9 +391,9 @@
          _prefixMapping.put(prefix, uri);
      }
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Stylesheet.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Stylesheet.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Stylesheet.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Stylesheet.java	2017-04-26 16:05:48.559252540 +0100
-@@ -121,7 +121,7 @@
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Stylesheet.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Stylesheet.java	2017-09-06 18:08:33.876787311 +0100
+@@ -122,7 +122,7 @@
      /**
       * Mapping between mode names and Mode instances.
       */
@@ -402,7 +402,7 @@
  
      /**
       * A reference to the default Mode object.
-@@ -131,7 +131,7 @@
+@@ -132,7 +132,7 @@
      /**
       * Mapping between extension URIs and their prefixes.
       */
@@ -411,7 +411,7 @@
  
      /**
       * Reference to the stylesheet from which this stylesheet was
-@@ -164,7 +164,7 @@
+@@ -165,7 +165,7 @@
      /**
       * Mapping between key names and Key objects (needed by Key/IdPattern).
       */
@@ -421,8 +421,8 @@
      /**
       * A reference to the SourceLoader set by the user (a URIResolver
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/SymbolTable.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/SymbolTable.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/SymbolTable.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/SymbolTable.java	2017-04-26 16:05:48.559252540 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/SymbolTable.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/SymbolTable.java	2017-09-06 18:08:33.876787311 +0100
 @@ -38,8 +38,8 @@
  final class SymbolTable {
  
@@ -505,8 +505,8 @@
          // Register the namespace URI
          Integer refcnt = _excludedURI.get(uri);
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/SyntaxTreeNode.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/SyntaxTreeNode.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/SyntaxTreeNode.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/SyntaxTreeNode.java	2017-04-26 16:05:48.559252540 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/SyntaxTreeNode.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/SyntaxTreeNode.java	2017-09-06 18:08:33.876787311 +0100
 @@ -70,7 +70,7 @@
      protected SyntaxTreeNode _parent;          // Parent node
      private Stylesheet       _stylesheet;      // Stylesheet ancestor node
@@ -535,8 +535,8 @@
                  locals.add(varOrParamName);
              }
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodGenerator.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodGenerator.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodGenerator.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodGenerator.java	2017-04-26 16:05:48.559252540 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodGenerator.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodGenerator.java	2017-09-06 18:08:33.876787311 +0100
 @@ -127,7 +127,7 @@
                   * times. Note that patterns whose kernels are "*", "node()"
                   * and "@*" can between shared by test sequences.
@@ -547,8 +547,8 @@
  
      public MethodGenerator(int access_flags, Type return_type,
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/MultiHashtable.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/MultiHashtable.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/MultiHashtable.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/MultiHashtable.java	2017-04-26 16:05:48.559252540 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/MultiHashtable.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/MultiHashtable.java	2017-09-06 18:08:33.876787311 +0100
 @@ -37,7 +37,7 @@
  public final class MultiHashtable<K,V> {
      static final long serialVersionUID = -6151608290510033572L;
@@ -568,8 +568,8 @@
              }
              set.add(value);
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/XSLTC.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/XSLTC.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/XSLTC.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/XSLTC.java	2017-04-26 16:05:48.559252540 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/XSLTC.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/XSLTC.java	2017-09-06 18:08:33.876787311 +0100
 @@ -170,7 +170,7 @@
          _parser = new Parser(this, useServicesMechanism);
          _featureManager = featureManager;
@@ -598,8 +598,8 @@
          _parser.init();
          //_variableSerial     = 1;
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/DocumentCache.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/DocumentCache.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/DocumentCache.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/DocumentCache.java	2017-04-26 16:05:48.559252540 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/DocumentCache.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/DocumentCache.java	2017-09-06 18:08:33.876787311 +0100
 @@ -169,7 +169,7 @@
          _count = 0;
          _current = 0;
@@ -610,8 +610,8 @@
  
          try {
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/DOMWSFilter.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/DOMWSFilter.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/DOMWSFilter.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/DOMWSFilter.java	2017-04-26 16:05:48.559252540 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/DOMWSFilter.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/DOMWSFilter.java	2017-09-06 18:08:33.876787311 +0100
 @@ -60,7 +60,7 @@
       */
      public DOMWSFilter(AbstractTranslet translet) {
@@ -622,8 +622,8 @@
          if (translet instanceof StripFilter) {
              m_filter = (StripFilter) translet;
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/KeyIndex.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/KeyIndex.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/KeyIndex.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/KeyIndex.java	2017-04-26 16:05:48.559252540 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/KeyIndex.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/KeyIndex.java	2017-09-06 18:08:33.876787311 +0100
 @@ -59,7 +59,7 @@
      /**
       * A mapping from a document node to the mapping between values and nodesets
@@ -652,8 +652,8 @@
                  } else {
                      nodes = index.get(id);
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/MultiDOM.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/MultiDOM.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/MultiDOM.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/MultiDOM.java	2017-04-26 16:05:48.559252540 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/MultiDOM.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/MultiDOM.java	2017-09-06 18:08:33.876787311 +0100
 @@ -56,7 +56,7 @@
      private int _free;
      private int _size;
@@ -664,8 +664,8 @@
      private final class AxisIterator extends DTMAxisIteratorBase {
          // constitutive data
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/SAXImpl.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/SAXImpl.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/SAXImpl.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/SAXImpl.java	2017-04-26 16:05:48.559252540 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/SAXImpl.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/SAXImpl.java	2017-09-06 18:08:33.876787311 +0100
 @@ -114,7 +114,7 @@
      private int _namesSize = -1;
  
@@ -685,8 +685,8 @@
      }
  
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/runtime/AbstractTranslet.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/runtime/AbstractTranslet.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/runtime/AbstractTranslet.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/runtime/AbstractTranslet.java	2017-04-26 16:05:48.559252540 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/runtime/AbstractTranslet.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/runtime/AbstractTranslet.java	2017-09-06 18:08:33.876787311 +0100
 @@ -279,7 +279,7 @@
       */
      public void addDecimalFormat(String name, DecimalFormatSymbols symbols) {
@@ -715,8 +715,8 @@
      }
  
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/DOM2SAX.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/DOM2SAX.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/DOM2SAX.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/DOM2SAX.java	2017-04-26 16:05:48.559252540 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/DOM2SAX.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/DOM2SAX.java	2017-09-06 18:08:33.876787311 +0100
 @@ -58,7 +58,7 @@
      private ContentHandler _sax = null;
      private LexicalHandler _lex = null;
@@ -727,8 +727,8 @@
      public DOM2SAX(Node root) {
          _dom = root;
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesImpl.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesImpl.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesImpl.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesImpl.java	2017-04-26 16:05:48.559252540 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesImpl.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesImpl.java	2017-09-06 18:08:33.876787311 +0100
 @@ -407,7 +407,7 @@
              _class = new Class[classCount];
  
@@ -739,8 +739,8 @@
  
              for (int i = 0; i < classCount; i++) {
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerImpl.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerImpl.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerImpl.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerImpl.java	2017-04-26 16:05:48.559252540 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerImpl.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerImpl.java	2017-09-06 18:08:33.880787247 +0100
 @@ -1189,7 +1189,7 @@
  
          if (_isIdentity) {
@@ -751,8 +751,8 @@
              _parameters.put(name, value);
          }
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/dom/CoreDocumentImpl.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/dom/CoreDocumentImpl.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/dom/CoreDocumentImpl.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/dom/CoreDocumentImpl.java	2017-04-26 16:05:48.559252540 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/dom/CoreDocumentImpl.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/dom/CoreDocumentImpl.java	2017-09-06 18:08:33.880787247 +0100
 @@ -393,7 +393,7 @@
  
              if (identifiers != null) {
@@ -854,8 +854,8 @@
      }
  } // class CoreDocumentImpl
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/dom/DeferredDocumentImpl.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/dom/DeferredDocumentImpl.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/dom/DeferredDocumentImpl.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/dom/DeferredDocumentImpl.java	2017-04-26 16:05:48.563252476 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/dom/DeferredDocumentImpl.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/dom/DeferredDocumentImpl.java	2017-09-06 18:08:33.880787247 +0100
 @@ -2059,7 +2059,7 @@
  
          // create Map
@@ -866,8 +866,8 @@
  
          // save ID and its associated element
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/dom/DocumentImpl.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/dom/DocumentImpl.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/dom/DocumentImpl.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/dom/DocumentImpl.java	2017-04-26 16:05:48.563252476 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/dom/DocumentImpl.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/dom/DocumentImpl.java	2017-09-06 18:08:33.880787247 +0100
 @@ -249,7 +249,7 @@
                                                       filter,
                                                       entityReferenceExpansion);
@@ -959,8 +959,8 @@
          }
      }
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/dom/DocumentTypeImpl.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/dom/DocumentTypeImpl.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/dom/DocumentTypeImpl.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/dom/DocumentTypeImpl.java	2017-04-26 16:05:48.563252476 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/dom/DocumentTypeImpl.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/dom/DocumentTypeImpl.java	2017-09-06 18:08:33.880787247 +0100
 @@ -478,7 +478,7 @@
      public Object setUserData(String key,
      Object data, UserDataHandler handler) {
@@ -988,8 +988,8 @@
      }
  } // class DocumentTypeImpl
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/dom/LCount.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/dom/LCount.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/dom/LCount.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/dom/LCount.java	2017-04-26 16:05:48.563252476 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/dom/LCount.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/dom/LCount.java	2017-09-06 18:08:33.880787247 +0100
 @@ -37,7 +37,7 @@
  
  class LCount
@@ -1000,8 +1000,8 @@
  
      static LCount lookup(String evtName)
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/dtd/DTDGrammarBucket.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/dtd/DTDGrammarBucket.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/dtd/DTDGrammarBucket.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/dtd/DTDGrammarBucket.java	2017-04-26 16:05:48.563252476 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/dtd/DTDGrammarBucket.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/dtd/DTDGrammarBucket.java	2017-09-06 18:08:33.880787247 +0100
 @@ -62,7 +62,7 @@
  
      /** Default constructor. */
@@ -1012,8 +1012,8 @@
  
      //
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/dtd/DTDGrammar.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/dtd/DTDGrammar.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/dtd/DTDGrammar.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/dtd/DTDGrammar.java	2017-04-26 16:05:48.563252476 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/dtd/DTDGrammar.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/dtd/DTDGrammar.java	2017-09-06 18:08:33.880787247 +0100
 @@ -210,13 +210,13 @@
      // other information
  
@@ -1041,8 +1041,8 @@
      /** Children content model operation stack. */
      private short[] fOpStack = null;
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/dv/dtd/DTDDVFactoryImpl.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/dv/dtd/DTDDVFactoryImpl.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/dv/dtd/DTDDVFactoryImpl.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/dv/dtd/DTDDVFactoryImpl.java	2017-04-26 16:05:48.563252476 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/dv/dtd/DTDDVFactoryImpl.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/dv/dtd/DTDDVFactoryImpl.java	2017-09-06 18:08:33.880787247 +0100
 @@ -38,7 +38,7 @@
  
      static final Map<String, DatatypeValidator> fBuiltInTypes;
@@ -1062,8 +1062,8 @@
  
  }// DTDDVFactoryImpl
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/dv/dtd/XML11DTDDVFactoryImpl.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/dv/dtd/XML11DTDDVFactoryImpl.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/dv/dtd/XML11DTDDVFactoryImpl.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/dv/dtd/XML11DTDDVFactoryImpl.java	2017-04-26 16:05:48.563252476 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/dv/dtd/XML11DTDDVFactoryImpl.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/dv/dtd/XML11DTDDVFactoryImpl.java	2017-09-06 18:08:33.880787247 +0100
 @@ -37,7 +37,7 @@
  
      static Map<String, DatatypeValidator> XML11BUILTINTYPES;
@@ -1083,8 +1083,8 @@
          return toReturn;
      }
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java	2017-04-26 16:05:48.563252476 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java	2017-09-06 18:08:33.880787247 +0100
 @@ -364,7 +364,7 @@
      // entities
  
@@ -1095,8 +1095,8 @@
      /** Entity stack. */
      protected Stack fEntityStack = new Stack();
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLErrorReporter.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLErrorReporter.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLErrorReporter.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLErrorReporter.java	2017-04-26 16:05:48.563252476 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLErrorReporter.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLErrorReporter.java	2017-09-06 18:08:33.880787247 +0100
 @@ -192,7 +192,7 @@
          //       caller to specify the location of the error being
          //       reported. -Ac
@@ -1107,8 +1107,8 @@
      } // <init>()
  
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/regex/ParserForXMLSchema.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/regex/ParserForXMLSchema.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/regex/ParserForXMLSchema.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/regex/ParserForXMLSchema.java	2017-04-26 16:05:48.563252476 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/regex/ParserForXMLSchema.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/regex/ParserForXMLSchema.java	2017-09-06 18:08:33.880787247 +0100
 @@ -374,8 +374,8 @@
      static private Map<String, Token> ranges2 = null;
      static synchronized protected RangeToken getRange(String name, boolean positive) {
@@ -1121,8 +1121,8 @@
              Token tok = Token.createRange();
              setupRange(tok, SPACES);
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/regex/Token.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/regex/Token.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/regex/Token.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/regex/Token.java	2017-04-26 16:05:48.563252476 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/regex/Token.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/regex/Token.java	2017-09-06 18:08:33.880787247 +0100
 @@ -593,8 +593,8 @@
      }
  
@@ -1171,8 +1171,8 @@
      }
  }
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/XPath.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/XPath.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/XPath.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/XPath.java	2017-04-26 16:05:48.563252476 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/XPath.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/XPath.java	2017-09-06 18:08:33.884787183 +0100
 @@ -859,10 +859,10 @@
          private SymbolTable fSymbolTable;
  
@@ -1187,8 +1187,8 @@
          /**
           * Current position in the token list.
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/SubstitutionGroupHandler.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/SubstitutionGroupHandler.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/SubstitutionGroupHandler.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/SubstitutionGroupHandler.java	2017-04-26 16:05:48.563252476 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/SubstitutionGroupHandler.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/SubstitutionGroupHandler.java	2017-09-06 18:08:33.884787183 +0100
 @@ -176,10 +176,10 @@
      // - a Vector, which contains all elements that has this element as their
      //   substitution group affilication
@@ -1203,8 +1203,8 @@
      /**
       * clear the internal registry of substitutionGroup information
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDHandler.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDHandler.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDHandler.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDHandler.java	2017-04-26 16:05:48.563252476 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDHandler.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDHandler.java	2017-09-06 18:08:33.884787183 +0100
 @@ -467,7 +467,7 @@
  
      // Constructors
@@ -1215,8 +1215,8 @@
      }
  
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/XMLSchemaValidator.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/XMLSchemaValidator.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/XMLSchemaValidator.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/XMLSchemaValidator.java	2017-04-26 16:05:48.567252411 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/XMLSchemaValidator.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/XMLSchemaValidator.java	2017-09-06 18:08:33.884787183 +0100
 @@ -489,7 +489,8 @@
  
      /** Schema Grammar Description passed,  to give a chance to application to supply the Grammar */
@@ -1249,8 +1249,8 @@
          //
          // Constructors
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/jaxp/DocumentBuilderFactoryImpl.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/jaxp/DocumentBuilderFactoryImpl.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/jaxp/DocumentBuilderFactoryImpl.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/jaxp/DocumentBuilderFactoryImpl.java	2017-04-26 16:05:48.567252411 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/jaxp/DocumentBuilderFactoryImpl.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/jaxp/DocumentBuilderFactoryImpl.java	2017-09-06 18:08:33.888787118 +0100
 @@ -102,7 +102,7 @@
  
          // Create the Map if none existed before
@@ -1270,8 +1270,8 @@
          // If this is the secure processing feature, save it then return.
          if (name.equals(XMLConstants.FEATURE_SECURE_PROCESSING)) {
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/jaxp/SAXParserFactoryImpl.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/jaxp/SAXParserFactoryImpl.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/jaxp/SAXParserFactoryImpl.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/jaxp/SAXParserFactoryImpl.java	2017-04-26 16:05:48.567252411 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/jaxp/SAXParserFactoryImpl.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/jaxp/SAXParserFactoryImpl.java	2017-09-06 18:08:33.888787118 +0100
 @@ -186,7 +186,7 @@
  
      private void putInFeatures(String name, boolean value){
@@ -1282,8 +1282,8 @@
          features.put(name, value ? Boolean.TRUE : Boolean.FALSE);
      }
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/parsers/XMLGrammarPreparser.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/parsers/XMLGrammarPreparser.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/parsers/XMLGrammarPreparser.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/parsers/XMLGrammarPreparser.java	2017-04-26 16:05:48.567252411 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/parsers/XMLGrammarPreparser.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/parsers/XMLGrammarPreparser.java	2017-09-06 18:08:33.888787118 +0100
 @@ -85,7 +85,7 @@
      private static final Map<String, String> KNOWN_LOADERS;
  
@@ -1303,8 +1303,8 @@
          setLocale(Locale.getDefault());
          fEntityResolver = new XMLEntityManager();
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/util/AugmentationsImpl.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/util/AugmentationsImpl.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/util/AugmentationsImpl.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/util/AugmentationsImpl.java	2017-04-26 16:05:48.567252411 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/util/AugmentationsImpl.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/util/AugmentationsImpl.java	2017-09-06 18:08:33.888787118 +0100
 @@ -241,7 +241,7 @@
      }
  
@@ -1315,8 +1315,8 @@
          public Object getItem(Object key) {
              return fAugmentations.get(key);
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/util/DOMErrorHandlerWrapper.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/util/DOMErrorHandlerWrapper.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/util/DOMErrorHandlerWrapper.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/util/DOMErrorHandlerWrapper.java	2017-04-26 16:05:48.567252411 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/util/DOMErrorHandlerWrapper.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/util/DOMErrorHandlerWrapper.java	2017-09-06 18:08:33.888787118 +0100
 @@ -294,7 +294,7 @@
  
              // REVISIT: do well-formedness issues involving XML declaration <?xml ... ?> need to be added to hash table (no XML declaration node in DOM, but Document includes xmlEncoding, xmlStandalone, xmlVersion, etc.
@@ -1327,8 +1327,8 @@
              aDOMErrorTypeTable.put(new XMLErrorCode(XMLMessageFormatter.XML_DOMAIN, "InvalidCharInContent"), "wf-invalid-character");
              aDOMErrorTypeTable.put(new XMLErrorCode(XMLMessageFormatter.XML_DOMAIN, "TwoColonsInQName"), "wf-invalid-character-in-node-name");
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/util/EncodingMap.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/util/EncodingMap.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/util/EncodingMap.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/util/EncodingMap.java	2017-04-26 16:05:48.567252411 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/util/EncodingMap.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/util/EncodingMap.java	2017-09-06 18:08:33.888787118 +0100
 @@ -489,8 +489,8 @@
      //
  
@@ -1341,8 +1341,8 @@
          // add IANA to Java encoding mappings.
          aIANA2JavaMap.put("BIG5",            "Big5");
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/utils/XMLLimitAnalyzer.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/utils/XMLLimitAnalyzer.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/utils/XMLLimitAnalyzer.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/utils/XMLLimitAnalyzer.java	2017-04-26 16:05:48.567252411 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/utils/XMLLimitAnalyzer.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/utils/XMLLimitAnalyzer.java	2017-09-06 18:08:33.888787118 +0100
 @@ -144,7 +144,7 @@
  
          Map<String, Integer> cache;
@@ -1353,8 +1353,8 @@
          } else {
              cache = caches[index];
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/dtm/ref/CustomStringPool.java openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/dtm/ref/CustomStringPool.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/dtm/ref/CustomStringPool.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/dtm/ref/CustomStringPool.java	2017-04-26 16:05:48.567252411 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/dtm/ref/CustomStringPool.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/dtm/ref/CustomStringPool.java	2017-09-06 18:08:33.888787118 +0100
 @@ -47,7 +47,7 @@
   */
  public class CustomStringPool extends DTMStringPool {
@@ -1365,8 +1365,8 @@
  
      public CustomStringPool() {
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/dtm/ref/sax2dtm/SAX2DTM.java openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/dtm/ref/sax2dtm/SAX2DTM.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/dtm/ref/sax2dtm/SAX2DTM.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/dtm/ref/sax2dtm/SAX2DTM.java	2017-04-26 16:05:48.567252411 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/dtm/ref/sax2dtm/SAX2DTM.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/dtm/ref/sax2dtm/SAX2DTM.java	2017-09-06 18:08:33.888787118 +0100
 @@ -162,7 +162,7 @@
     * This table holds the ID string to node associations, for
     * XML IDs.
@@ -1377,8 +1377,8 @@
    /**
     * fixed dom-style names.
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/resolver/CatalogEntry.java openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/resolver/CatalogEntry.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/resolver/CatalogEntry.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/resolver/CatalogEntry.java	2017-04-26 16:05:48.567252411 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/resolver/CatalogEntry.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/resolver/CatalogEntry.java	2017-09-06 18:08:33.888787118 +0100
 @@ -59,7 +59,7 @@
     * (e.g., 'BASE' or 'SYSTEM') to their type (1, 2, etc.).
     * Names are case sensitive.
@@ -1389,8 +1389,8 @@
    /** The entryTypes vector maps catalog entry types to the
        number of arguments they're required to have. */
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/resolver/Catalog.java openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/resolver/Catalog.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/resolver/Catalog.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/resolver/Catalog.java	2017-04-26 16:05:48.567252411 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/resolver/Catalog.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/resolver/Catalog.java	2017-09-06 18:08:33.888787118 +0100
 @@ -341,7 +341,7 @@
     * vector. This allows the Catalog to quickly locate the reader
     * for a particular MIME type.</p>
@@ -1401,8 +1401,8 @@
    /**
     * A vector of CatalogReaders.
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/resolver/helpers/BootstrapResolver.java openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/resolver/helpers/BootstrapResolver.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/resolver/helpers/BootstrapResolver.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/resolver/helpers/BootstrapResolver.java	2017-04-26 16:05:48.567252411 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/resolver/helpers/BootstrapResolver.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/resolver/helpers/BootstrapResolver.java	2017-09-06 18:08:33.888787118 +0100
 @@ -63,13 +63,13 @@
    public static final String xmlCatalogSysId = "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd";
  
@@ -1421,8 +1421,8 @@
    /** Constructor. */
    public BootstrapResolver() {
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/resolver/readers/DOMCatalogReader.java openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/resolver/readers/DOMCatalogReader.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/resolver/readers/DOMCatalogReader.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/resolver/readers/DOMCatalogReader.java	2017-04-26 16:05:48.567252411 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/resolver/readers/DOMCatalogReader.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/resolver/readers/DOMCatalogReader.java	2017-09-06 18:08:33.888787118 +0100
 @@ -78,7 +78,7 @@
     * or "{namespaceuri}elementname". The former is used if the
     * namespace URI is null.</p>
@@ -1433,8 +1433,8 @@
    /**
     * Add a new parser to the reader.
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/resolver/readers/SAXCatalogReader.java openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/resolver/readers/SAXCatalogReader.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/resolver/readers/SAXCatalogReader.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/resolver/readers/SAXCatalogReader.java	2017-04-26 16:05:48.567252411 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/resolver/readers/SAXCatalogReader.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/resolver/readers/SAXCatalogReader.java	2017-09-06 18:08:33.888787118 +0100
 @@ -89,7 +89,7 @@
       * or "{namespaceuri}elementname". The former is used if the
       * namespace URI is null.</p>
@@ -1445,8 +1445,8 @@
    /** The parser in use for the current catalog. */
    private SAXCatalogParser saxParser = null;
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/serialize/BaseMarkupSerializer.java openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/serialize/BaseMarkupSerializer.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/serialize/BaseMarkupSerializer.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/serialize/BaseMarkupSerializer.java	2017-04-26 16:05:48.567252411 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/serialize/BaseMarkupSerializer.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/serialize/BaseMarkupSerializer.java	2017-09-06 18:08:33.888787118 +0100
 @@ -820,7 +820,7 @@
          throws SAXException
      {
@@ -1457,8 +1457,8 @@
      }
  
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/serialize/HTMLdtd.java openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/serialize/HTMLdtd.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/serialize/HTMLdtd.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/serialize/HTMLdtd.java	2017-04-26 16:05:48.567252411 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/serialize/HTMLdtd.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/serialize/HTMLdtd.java	2017-09-06 18:08:33.888787118 +0100
 @@ -371,8 +371,8 @@
          if ( _byName != null )
              return;
@@ -1489,8 +1489,8 @@
          defineBoolean( "BUTTON", "disabled" );
          defineBoolean( "DIR", "compact" );
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/serializer/AttributesImplSerializer.java openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/serializer/AttributesImplSerializer.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/serializer/AttributesImplSerializer.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/serializer/AttributesImplSerializer.java	2017-04-26 16:05:48.567252411 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/serializer/AttributesImplSerializer.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/serializer/AttributesImplSerializer.java	2017-09-06 18:08:33.888787118 +0100
 @@ -48,7 +48,7 @@
       * The keys to the hashtable to find the index are either
       * "prefix:localName"  or "{uri}localName".
@@ -1501,8 +1501,8 @@
      private final StringBuffer m_buff = new StringBuffer();
  
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/serializer/Encodings.java openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/serializer/Encodings.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/serializer/Encodings.java	2017-04-26 15:02:11.628824788 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/serializer/Encodings.java	2017-04-26 16:05:48.567252411 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/serializer/Encodings.java	2017-09-06 17:44:06.996390180 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/serializer/Encodings.java	2017-09-06 18:08:33.892787054 +0100
 @@ -297,8 +297,8 @@
      //
      private final static class EncodingInfos {
@@ -1524,8 +1524,8 @@
                      final String javaName = (String) keys.nextElement();
                      final String[] mimes = parseMimeTypes(props.getProperty(javaName));
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/utils/DOMHelper.java openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/utils/DOMHelper.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/utils/DOMHelper.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/utils/DOMHelper.java	2017-04-26 16:05:48.567252411 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/utils/DOMHelper.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/utils/DOMHelper.java	2017-09-06 18:08:33.892787054 +0100
 @@ -563,7 +563,7 @@
    /**
     * An experiment for the moment.
@@ -1536,8 +1536,8 @@
    /** Object to put into the m_NSInfos table that tells that a node has not been
     *  processed, but has xmlns namespace decls.  */
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/utils/ElemDesc.java openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/utils/ElemDesc.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/utils/ElemDesc.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/utils/ElemDesc.java	2017-04-26 16:05:48.567252411 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/utils/ElemDesc.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/utils/ElemDesc.java	2017-09-06 18:08:33.892787054 +0100
 @@ -159,7 +159,7 @@
    {
  
@@ -1548,8 +1548,8 @@
      m_attrs.put(name, flags);
    }
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xpath/internal/compiler/Keywords.java openjdk-boot/jaxp/src/com/sun/org/apache/xpath/internal/compiler/Keywords.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xpath/internal/compiler/Keywords.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xpath/internal/compiler/Keywords.java	2017-04-26 16:05:48.567252411 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xpath/internal/compiler/Keywords.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xpath/internal/compiler/Keywords.java	2017-09-06 18:08:33.892787054 +0100
 @@ -333,10 +333,10 @@
      public static final String FUNC_DOCLOCATION_STRING = "document-location";
  
@@ -1566,8 +1566,8 @@
          axisnames.put(FROM_ANCESTORS_STRING, OpCodes.FROM_ANCESTORS);
          axisnames.put(FROM_ANCESTORS_OR_SELF_STRING, OpCodes.FROM_ANCESTORS_OR_SELF);
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/xml/internal/stream/dtd/nonvalidating/DTDGrammar.java openjdk-boot/jaxp/src/com/sun/xml/internal/stream/dtd/nonvalidating/DTDGrammar.java
---- openjdk-boot.orig/jaxp/src/com/sun/xml/internal/stream/dtd/nonvalidating/DTDGrammar.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/xml/internal/stream/dtd/nonvalidating/DTDGrammar.java	2017-04-26 16:05:48.571252346 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/xml/internal/stream/dtd/nonvalidating/DTDGrammar.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/xml/internal/stream/dtd/nonvalidating/DTDGrammar.java	2017-09-06 18:08:33.892787054 +0100
 @@ -140,7 +140,7 @@
      private int fAttributeDeclNextAttributeDeclIndex[][] = new int[INITIAL_CHUNK_COUNT][];
  
@@ -1587,8 +1587,8 @@
      /** Default constructor. */
      public DTDGrammar(SymbolTable symbolTable) {
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/xml/internal/stream/XMLEntityStorage.java openjdk-boot/jaxp/src/com/sun/xml/internal/stream/XMLEntityStorage.java
---- openjdk-boot.orig/jaxp/src/com/sun/xml/internal/stream/XMLEntityStorage.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/xml/internal/stream/XMLEntityStorage.java	2017-04-26 16:05:48.571252346 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/xml/internal/stream/XMLEntityStorage.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/com/sun/xml/internal/stream/XMLEntityStorage.java	2017-09-06 18:08:33.892787054 +0100
 @@ -63,7 +63,7 @@
      protected boolean fWarnDuplicateEntityDef;
  
@@ -1599,8 +1599,8 @@
      protected Entity.ScannedEntity fCurrentEntity ;
  
 diff -Nru openjdk-boot.orig/jaxp/src/org/xml/sax/helpers/NamespaceSupport.java openjdk-boot/jaxp/src/org/xml/sax/helpers/NamespaceSupport.java
---- openjdk-boot.orig/jaxp/src/org/xml/sax/helpers/NamespaceSupport.java	2017-04-18 02:46:25.000000000 +0100
-+++ openjdk-boot/jaxp/src/org/xml/sax/helpers/NamespaceSupport.java	2017-04-26 16:05:48.571252346 +0100
+--- openjdk-boot.orig/jaxp/src/org/xml/sax/helpers/NamespaceSupport.java	2017-08-22 02:03:46.000000000 +0100
++++ openjdk-boot/jaxp/src/org/xml/sax/helpers/NamespaceSupport.java	2017-09-06 18:08:33.892787054 +0100
 @@ -465,7 +465,7 @@
       */
      public Enumeration getPrefixes (String uri)
@@ -1671,8 +1671,8 @@
          }
  
 diff -Nru openjdk-boot.orig/jdk/src/macosx/bundle/appbundler/src/com/oracle/appbundler/AppBundlerTask.java openjdk-boot/jdk/src/macosx/bundle/appbundler/src/com/oracle/appbundler/AppBundlerTask.java
---- openjdk-boot.orig/jdk/src/macosx/bundle/appbundler/src/com/oracle/appbundler/AppBundlerTask.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/macosx/bundle/appbundler/src/com/oracle/appbundler/AppBundlerTask.java	2017-04-26 16:05:48.571252346 +0100
+--- openjdk-boot.orig/jdk/src/macosx/bundle/appbundler/src/com/oracle/appbundler/AppBundlerTask.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/macosx/bundle/appbundler/src/com/oracle/appbundler/AppBundlerTask.java	2017-09-06 18:08:33.892787054 +0100
 @@ -68,10 +68,10 @@
      // JVM info properties
      private File runtime = null;
@@ -1689,8 +1689,8 @@
      public static final String EXECUTABLE_NAME = "JavaAppLauncher";
      public static final String DEFAULT_ICON_NAME = "GenericApp.icns";
 diff -Nru openjdk-boot.orig/jdk/src/macosx/classes/com/apple/laf/AquaPainter.java openjdk-boot/jdk/src/macosx/classes/com/apple/laf/AquaPainter.java
---- openjdk-boot.orig/jdk/src/macosx/classes/com/apple/laf/AquaPainter.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/macosx/classes/com/apple/laf/AquaPainter.java	2017-04-26 16:05:48.571252346 +0100
+--- openjdk-boot.orig/jdk/src/macosx/classes/com/apple/laf/AquaPainter.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/macosx/classes/com/apple/laf/AquaPainter.java	2017-09-06 18:08:33.892787054 +0100
 @@ -41,7 +41,7 @@
  
  abstract class AquaPainter <T extends JRSUIState> {
@@ -1719,9 +1719,9 @@
  
          @Override
 diff -Nru openjdk-boot.orig/jdk/src/macosx/classes/com/apple/laf/AquaUtils.java openjdk-boot/jdk/src/macosx/classes/com/apple/laf/AquaUtils.java
---- openjdk-boot.orig/jdk/src/macosx/classes/com/apple/laf/AquaUtils.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/macosx/classes/com/apple/laf/AquaUtils.java	2017-04-26 16:05:48.571252346 +0100
-@@ -210,7 +210,7 @@
+--- openjdk-boot.orig/jdk/src/macosx/classes/com/apple/laf/AquaUtils.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/macosx/classes/com/apple/laf/AquaUtils.java	2017-09-06 18:08:33.892787054 +0100
+@@ -222,7 +222,7 @@
          private Map<K, V> refs;
  
          V get(final K key) {
@@ -1731,8 +1731,8 @@
              final V cachedValue = refs.get(key);
              if (cachedValue != null) return cachedValue;
 diff -Nru openjdk-boot.orig/jdk/src/macosx/classes/com/apple/laf/ImageCache.java openjdk-boot/jdk/src/macosx/classes/com/apple/laf/ImageCache.java
---- openjdk-boot.orig/jdk/src/macosx/classes/com/apple/laf/ImageCache.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/macosx/classes/com/apple/laf/ImageCache.java	2017-04-26 16:05:48.571252346 +0100
+--- openjdk-boot.orig/jdk/src/macosx/classes/com/apple/laf/ImageCache.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/macosx/classes/com/apple/laf/ImageCache.java	2017-09-06 18:08:33.892787054 +0100
 @@ -41,7 +41,7 @@
   */
  final class ImageCache {
@@ -1752,8 +1752,8 @@
      // Singleton Instance
      private static final RecyclableSingleton<ImageCache> instance = new RecyclableSingleton<ImageCache>() {
 diff -Nru openjdk-boot.orig/jdk/src/macosx/classes/sun/awt/CGraphicsEnvironment.java openjdk-boot/jdk/src/macosx/classes/sun/awt/CGraphicsEnvironment.java
---- openjdk-boot.orig/jdk/src/macosx/classes/sun/awt/CGraphicsEnvironment.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/macosx/classes/sun/awt/CGraphicsEnvironment.java	2017-04-26 16:05:48.571252346 +0100
+--- openjdk-boot.orig/jdk/src/macosx/classes/sun/awt/CGraphicsEnvironment.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/macosx/classes/sun/awt/CGraphicsEnvironment.java	2017-09-06 18:08:33.892787054 +0100
 @@ -88,7 +88,7 @@
      private native void deregisterDisplayReconfiguration(long context);
  
@@ -1773,8 +1773,8 @@
  
              int mainID = getMainDisplayID();
 diff -Nru openjdk-boot.orig/jdk/src/macosx/classes/sun/nio/ch/KQueueSelectorImpl.java openjdk-boot/jdk/src/macosx/classes/sun/nio/ch/KQueueSelectorImpl.java
---- openjdk-boot.orig/jdk/src/macosx/classes/sun/nio/ch/KQueueSelectorImpl.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/macosx/classes/sun/nio/ch/KQueueSelectorImpl.java	2017-04-26 16:05:48.571252346 +0100
+--- openjdk-boot.orig/jdk/src/macosx/classes/sun/nio/ch/KQueueSelectorImpl.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/macosx/classes/sun/nio/ch/KQueueSelectorImpl.java	2017-09-06 18:08:33.892787054 +0100
 @@ -86,7 +86,7 @@
          fd1 = (int)fds;
          kqueueWrapper = new KQueueArrayWrapper();
@@ -1785,8 +1785,8 @@
      }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/beans/decoder/DocumentHandler.java openjdk-boot/jdk/src/share/classes/com/sun/beans/decoder/DocumentHandler.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/beans/decoder/DocumentHandler.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/beans/decoder/DocumentHandler.java	2017-04-26 16:05:48.571252346 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/beans/decoder/DocumentHandler.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/beans/decoder/DocumentHandler.java	2017-09-06 18:08:33.892787054 +0100
 @@ -63,9 +63,10 @@
   */
  public final class DocumentHandler extends DefaultHandler {
@@ -1802,8 +1802,8 @@
      private Reference<ClassLoader> loader;
      private ExceptionListener listener;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/beans/TypeResolver.java openjdk-boot/jdk/src/share/classes/com/sun/beans/TypeResolver.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/beans/TypeResolver.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/beans/TypeResolver.java	2017-04-26 16:05:48.571252346 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/beans/TypeResolver.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/beans/TypeResolver.java	2017-09-06 18:08:33.892787054 +0100
 @@ -46,7 +46,7 @@
   */
  public final class TypeResolver {
@@ -1823,8 +1823,8 @@
                      CACHE.put(actual, map);
                  }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/beans/util/Cache.java openjdk-boot/jdk/src/share/classes/com/sun/beans/util/Cache.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/beans/util/Cache.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/beans/util/Cache.java	2017-04-26 16:05:48.571252346 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/beans/util/Cache.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/beans/util/Cache.java	2017-09-06 18:08:33.892787054 +0100
 @@ -45,7 +45,7 @@
      private final Kind keyKind; // a reference kind for the cache keys
      private final Kind valueKind; // a reference kind for the cache values
@@ -1871,8 +1871,8 @@
          };
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java	2017-04-26 16:05:48.571252346 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java	2017-09-06 18:08:33.892787054 +0100
 @@ -103,9 +103,9 @@
          return this.def.compareTo(that.def);
      }
@@ -1944,8 +1944,8 @@
          for (int i = 0; i < layout.length(); i++) {
              if (layout.charAt(i++) != '[')
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java	2017-04-26 15:02:12.588809363 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java	2017-04-26 16:05:48.571252346 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java	2017-09-06 17:44:07.040389472 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java	2017-09-06 18:08:33.896786990 +0100
 @@ -257,7 +257,7 @@
          assert(basicCodings[_meta_default] == null);
          assert(basicCodings[_meta_canon_min] != null);
@@ -2015,8 +2015,8 @@
          return true;
      }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java	2017-04-26 15:02:11.520826524 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java	2017-04-26 16:05:48.571252346 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java	2017-09-06 17:44:06.788393533 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java	2017-09-06 18:08:33.896786990 +0100
 @@ -466,7 +466,7 @@
  
      void readInnerClasses(Class cls) throws IOException {
@@ -2027,8 +2027,8 @@
              InnerClass ic =
                  new InnerClass(readClassRef(),
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java	2017-04-26 16:05:48.571252346 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java	2017-09-06 18:08:33.896786990 +0100
 @@ -743,9 +743,9 @@
          // Steps 1/2/3 are interdependent, and may be iterated.
          // Steps 4 and 5 may be decided independently afterward.
@@ -2065,8 +2065,8 @@
                  if (popset.add(values[i]))  popvals.add(values[i]);
              }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java	2017-04-26 16:05:48.571252346 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java	2017-09-06 18:08:33.896786990 +0100
 @@ -402,7 +402,7 @@
      private static Map<Coding, Coding> codeMap;
  
@@ -2077,8 +2077,8 @@
          Coding x1 = codeMap.get(x0);
          if (x1 == null)  codeMap.put(x0, x1 = x0);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java	2017-04-26 16:05:48.571252346 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java	2017-09-06 18:08:33.896786990 +0100
 @@ -917,7 +917,7 @@
      public static
      Index[] partition(Index ix, int[] keys) {
@@ -2107,8 +2107,8 @@
              Entry e = work.previous();
              work.remove();          // pop stack
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java	2017-04-26 15:02:12.588809363 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java	2017-04-26 16:05:48.571252346 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java	2017-09-06 17:44:07.040389472 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java	2017-09-06 18:08:33.896786990 +0100
 @@ -61,7 +61,7 @@
                  ResourceBundle.getBundle("com.sun.java.util.jar.pack.DriverResource");
  
@@ -2146,8 +2146,8 @@
          for (String optline : options.split("\n")) {
              String[] words = optline.split("\\p{Space}+");
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/FixedList.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/FixedList.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/FixedList.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/FixedList.java	2017-04-26 16:05:48.571252346 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/FixedList.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/FixedList.java	2017-09-06 18:08:33.896786990 +0100
 @@ -45,7 +45,7 @@
      private final ArrayList<E> flist;
  
@@ -2158,8 +2158,8 @@
          for (int i = 0 ; i < capacity ; i++) {
              flist.add(null);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Fixups.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Fixups.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Fixups.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Fixups.java	2017-04-26 16:05:48.571252346 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Fixups.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Fixups.java	2017-09-06 18:08:33.896786990 +0100
 @@ -126,11 +126,11 @@
      public void setBytes(byte[] newBytes) {
          if (bytes == newBytes)  return;
@@ -2184,8 +2184,8 @@
  
      static final int LOC_SHIFT = 1;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java	2017-04-26 15:02:11.520826524 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java	2017-04-26 16:05:48.575252281 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java	2017-09-06 17:44:06.788393533 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java	2017-09-06 18:08:33.896786990 +0100
 @@ -112,7 +112,7 @@
      public static final Attribute.Layout attrSourceFileSpecial;
      public static final Map<Attribute.Layout, Attribute> attrDefs;
@@ -2350,8 +2350,8 @@
              // Add to the end of ths list:
              if (!fileSet.contains(cls.file))
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java	2017-04-26 15:02:12.588809363 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java	2017-04-26 16:05:48.575252281 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java	2017-09-06 17:44:07.040389472 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java	2017-09-06 18:08:33.896786990 +0100
 @@ -686,7 +686,7 @@
          cp_Signature_classes.expectLength(getIntTotal(numSigClasses));
          cp_Signature_classes.readFrom(in);
@@ -2465,8 +2465,8 @@
              ClassEntry thisClass  = curClass.thisClass;
              ClassEntry superClass = curClass.superClass;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java	2017-04-26 15:02:12.588809363 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java	2017-04-26 16:05:48.575252281 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java	2017-09-06 17:44:07.040389472 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java	2017-09-06 18:08:33.896786990 +0100
 @@ -116,7 +116,7 @@
      int[][]     attrCounts;       // count attr. occurrences
  
@@ -2523,8 +2523,8 @@
          for (Class cls : pkg.classes) {
              if (!cls.hasInnerClasses())  continue;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java	2017-04-26 16:05:48.575252281 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java	2017-09-06 18:08:33.900786926 +0100
 @@ -181,8 +181,8 @@
          final Map<Attribute.Layout, Attribute> attrDefs;
          final Map<Attribute.Layout, String> attrCommands;
@@ -2555,8 +2555,8 @@
                  for (JarEntry je : Collections.list(jf.entries())) {
                      InFile inFile = new InFile(jf, je);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java	2017-04-26 16:05:48.575252281 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java	2017-09-06 18:08:33.900786926 +0100
 @@ -309,7 +309,7 @@
          // As each new value is added, we assert that the value
          // was not already in the set.
@@ -2567,8 +2567,8 @@
          maxForDebug += fillp;
          int min = Integer.MIN_VALUE;  // farthest from the center
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java	2017-04-26 15:02:12.592809299 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java	2017-04-26 16:05:48.575252281 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java	2017-09-06 17:44:07.040389472 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java	2017-09-06 18:08:33.900786926 +0100
 @@ -47,8 +47,9 @@
   */
  
@@ -2591,8 +2591,8 @@
          while (res.remove(null));
          return res;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java	2017-04-26 16:05:48.575252281 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java	2017-09-06 18:08:33.900786926 +0100
 @@ -58,12 +58,12 @@
      private final Map<String, MemberEntry> memberEntries;
  
@@ -2613,8 +2613,8 @@
      }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java	2017-04-26 15:02:12.592809299 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java	2017-04-26 16:05:48.575252281 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java	2017-09-06 17:44:07.040389472 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java	2017-09-06 18:08:33.900786926 +0100
 @@ -232,7 +232,7 @@
              props.setProperty(java.util.jar.Pack200.Unpacker.PROGRESS,"50");
              pkg.ensureAllClassFiles();
@@ -2625,8 +2625,8 @@
                  String name = file.nameString;
                  JarEntry je = new JarEntry(Utils.getJarEntryName(name));
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java	2017-04-26 15:02:12.592809299 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java	2017-04-26 16:05:48.575252281 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java	2017-09-06 17:44:07.040389472 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java	2017-09-06 18:08:33.900786926 +0100
 @@ -132,7 +132,7 @@
      // Keep a TLS point to the global data and environment.
      // This makes it simpler to supply environmental options
@@ -2637,8 +2637,8 @@
      // convenience methods to access the TL globals
      static TLGlobals getTLGlobals() {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jmx/remote/security/SubjectDelegator.java openjdk-boot/jdk/src/share/classes/com/sun/jmx/remote/security/SubjectDelegator.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jmx/remote/security/SubjectDelegator.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jmx/remote/security/SubjectDelegator.java	2017-04-26 16:05:48.575252281 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jmx/remote/security/SubjectDelegator.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/jmx/remote/security/SubjectDelegator.java	2017-09-06 18:08:33.900786926 +0100
 @@ -56,7 +56,7 @@
          // principal in the delegated subject
          //
@@ -2649,8 +2649,8 @@
              final String pname = p.getClass().getName() + "." + p.getName();
              permissions.add(new SubjectDelegationPermission(pname));
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/cosnaming/CNCtx.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/cosnaming/CNCtx.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/cosnaming/CNCtx.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/cosnaming/CNCtx.java	2017-04-26 16:05:48.575252281 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/cosnaming/CNCtx.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/cosnaming/CNCtx.java	2017-09-06 18:08:33.900786926 +0100
 @@ -1093,7 +1093,7 @@
      @SuppressWarnings("unchecked")
      public  Hashtable<String, java.lang.Object> getEnvironment() throws NamingException {
@@ -2670,8 +2670,8 @@
                  // copy-on-write
                  _env = (Hashtable<String, java.lang.Object>)_env.clone();
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/cosnaming/CNNameParser.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/cosnaming/CNNameParser.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/cosnaming/CNNameParser.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/cosnaming/CNNameParser.java	2017-04-26 16:05:48.575252281 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/cosnaming/CNNameParser.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/cosnaming/CNNameParser.java	2017-09-06 18:08:33.900786926 +0100
 @@ -132,7 +132,7 @@
          throws InvalidNameException {
  
@@ -2682,8 +2682,8 @@
          char[] kind = new char[len];
          int idCount, kindCount;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/cosnaming/IiopUrl.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/cosnaming/IiopUrl.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/cosnaming/IiopUrl.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/cosnaming/IiopUrl.java	2017-04-26 16:05:48.575252281 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/cosnaming/IiopUrl.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/cosnaming/IiopUrl.java	2017-09-06 18:08:33.900786926 +0100
 @@ -185,7 +185,7 @@
          } else {
              stringName = UrlUtil.decode(url.substring(addrEnd+1));
@@ -2694,8 +2694,8 @@
              // Only one host:port part, not multiple
              addresses.addElement(
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/dns/DnsContextFactory.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/dns/DnsContextFactory.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/dns/DnsContextFactory.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/dns/DnsContextFactory.java	2017-04-26 16:05:48.575252281 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/dns/DnsContextFactory.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/dns/DnsContextFactory.java	2017-09-06 18:08:33.900786926 +0100
 @@ -59,7 +59,7 @@
  
      public Context getInitialContext(Hashtable<?,?> env) throws NamingException {
@@ -2715,8 +2715,8 @@
                  int colon = platformServer.indexOf(':',
                          platformServer.indexOf(']') + 1);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/dns/DnsName.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/dns/DnsName.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/dns/DnsName.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/dns/DnsName.java	2017-04-26 16:05:48.575252281 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/dns/DnsName.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/dns/DnsName.java	2017-09-06 18:08:33.900786926 +0100
 @@ -110,7 +110,7 @@
      // The labels of this domain name, as a list of strings.  Index 0
      // corresponds to the leftmost (least significant) label:  note that
@@ -2727,8 +2727,8 @@
      // The number of octets needed to carry this domain name in a DNS
      // packet.  Equal to the sum of the lengths of each label, plus the
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/dns/NameNode.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/dns/NameNode.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/dns/NameNode.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/dns/NameNode.java	2017-04-26 16:05:48.575252281 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/dns/NameNode.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/dns/NameNode.java	2017-09-06 18:08:33.900786926 +0100
 @@ -140,7 +140,7 @@
  
              NameNode child = null;
@@ -2739,8 +2739,8 @@
                  child = node.children.get(key);
              }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/dns/ResourceRecords.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/dns/ResourceRecords.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/dns/ResourceRecords.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/dns/ResourceRecords.java	2017-04-26 16:05:48.575252281 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/dns/ResourceRecords.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/dns/ResourceRecords.java	2017-09-06 18:08:33.900786926 +0100
 @@ -45,10 +45,10 @@
      // Four sections:  question, answer, authority, additional.
      // The question section is treated as being made up of (shortened)
@@ -2757,8 +2757,8 @@
      /*
       * True if these resource records are from a zone transfer.  In
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/EventSupport.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/EventSupport.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/EventSupport.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/EventSupport.java	2017-04-26 16:05:48.575252281 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/EventSupport.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/EventSupport.java	2017-09-06 18:08:33.900786926 +0100
 @@ -119,7 +119,7 @@
       * NamingEventNotifiers; hashed by search arguments;
       */
@@ -2787,8 +2787,8 @@
              unsolicited.addElement((UnsolicitedNotificationListener)l);
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapClient.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapClient.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapClient.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapClient.java	2017-04-26 16:05:48.575252281 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapClient.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapClient.java	2017-09-06 18:08:33.900786926 +0100
 @@ -82,7 +82,7 @@
  
      // Default list of binary attributes
@@ -2852,7 +2852,7 @@
              String controlOID;
              boolean criticality = false; // default
              byte[] controlValue = null;  // optional
-@@ -1574,7 +1574,7 @@
+@@ -1575,7 +1575,7 @@
      private void notifyUnsolicited(Object e) {
          Vector<LdapCtx> unsolicitedCopy;
          synchronized (unsolicited) {
@@ -2862,8 +2862,8 @@
                  unsolicited.setSize(0);  // no more listeners after exception
              }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtxFactory.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtxFactory.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtxFactory.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtxFactory.java	2017-04-26 16:05:48.575252281 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtxFactory.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtxFactory.java	2017-09-06 18:08:33.900786926 +0100
 @@ -221,7 +221,7 @@
       * Used by Obj and obj/RemoteToAttrs too so must be public
       */
@@ -2874,8 +2874,8 @@
          if (types.length > 0) {
              BasicAttribute tAttr =
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtx.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtx.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtx.java	2017-04-26 15:02:12.556809877 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtx.java	2017-04-26 16:05:48.575252281 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtx.java	2017-09-06 17:44:07.012389923 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtx.java	2017-09-07 02:54:37.972374109 +0100
 @@ -313,7 +313,7 @@
              this.useDefaultPortNumber = true;
          }
@@ -2885,7 +2885,7 @@
          initEnv();
          try {
              connect(false);
-@@ -2530,19 +2530,19 @@
+@@ -2532,19 +2532,19 @@
              urlCount++;
          }
  
@@ -2908,7 +2908,7 @@
          referral.addElement(refString.substring(iURL));
          referrals.addElement(referral);
  
-@@ -2557,7 +2557,7 @@
+@@ -2559,7 +2559,7 @@
          if (attrIds == null) {
              binaryAttrs = null;
          } else {
@@ -2917,7 +2917,7 @@
              StringTokenizer tokens =
                  new StringTokenizer(attrIds.toLowerCase(Locale.ENGLISH), " ");
  
-@@ -2640,7 +2640,7 @@
+@@ -2642,7 +2642,7 @@
                  }
  
                  // reset the cache before a new connection is established
@@ -2926,7 +2926,7 @@
                  connect(startTLS);
  
              } else if (!sharable || startTLS) {
-@@ -2653,7 +2653,7 @@
+@@ -2655,7 +2655,7 @@
                      }
                  }
                  // reset the cache before a new connection is established
@@ -2935,9 +2935,18 @@
                  connect(startTLS);
              }
  
+@@ -2942,7 +2942,7 @@
+             if (res.referrals == null) {
+                 refs = null;
+             } else if (handleReferrals == LdapClient.LDAP_REF_FOLLOW_SCHEME) {
+-                refs = new Vector<>();
++                refs = new Vector<String>();
+                 for (String s : res.referrals.elementAt(0)) {
+                     if (s.startsWith("ldap:")) {
+                         refs.add(s);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapName.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapName.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapName.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapName.java	2017-04-26 16:05:48.575252281 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapName.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapName.java	2017-09-06 18:08:33.900786926 +0100
 @@ -111,7 +111,7 @@
       */
      private LdapName(String name, Vector<Rdn> rdns, int beg, int end) {
@@ -2966,8 +2975,8 @@
          void add(TypeAndValue tv) {
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapResult.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapResult.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapResult.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapResult.java	2017-04-26 16:05:48.579252217 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapResult.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapResult.java	2017-09-06 18:08:33.900786926 +0100
 @@ -59,7 +59,7 @@
          switch (status) {
              case LdapClient.LDAP_COMPARE_TRUE:
@@ -2987,8 +2996,8 @@
                  break;
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapSchemaParser.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapSchemaParser.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapSchemaParser.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapSchemaParser.java	2017-04-26 16:05:48.579252217 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapSchemaParser.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapSchemaParser.java	2017-09-06 18:08:33.900786926 +0100
 @@ -519,7 +519,7 @@
          throws NamingException {
  
@@ -3008,8 +3017,8 @@
          if (debug) {
              System.err.println("ReadOIDList: pos="+pos[0]);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/NamingEventNotifier.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/NamingEventNotifier.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/NamingEventNotifier.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/NamingEventNotifier.java	2017-04-26 16:05:48.579252217 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/NamingEventNotifier.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/NamingEventNotifier.java	2017-09-06 18:08:33.900786926 +0100
 @@ -83,7 +83,7 @@
          context = (LdapCtx)ctx.newInstance(new Control[]{psearch});
          eventSrc = ctx;
@@ -3020,8 +3029,8 @@
  
          worker = Obj.helper.createThread(this);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/Obj.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/Obj.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/Obj.java	2017-04-26 15:02:12.592809299 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/Obj.java	2017-04-26 16:05:48.579252217 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/Obj.java	2017-09-06 17:44:07.040389472 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/Obj.java	2017-09-06 18:08:33.900786926 +0100
 @@ -207,7 +207,7 @@
          } else {
              StringTokenizer parser =
@@ -3041,9 +3050,9 @@
  
              for (NamingEnumeration<?> vals = attr.getAll(); vals.hasMore(); ) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/pool/Connections.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/pool/Connections.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/pool/Connections.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/pool/Connections.java	2017-04-26 16:05:48.579252217 +0100
-@@ -99,11 +99,11 @@
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/pool/Connections.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/pool/Connections.java	2017-09-06 18:08:33.964785898 +0100
+@@ -98,11 +98,11 @@
          } else {
              this.prefSize = prefSize;
          }
@@ -3057,9 +3066,21 @@
  
          d("init size=", initSize);
          d("max size=", maxSize);
+@@ -292,9 +292,9 @@
+     boolean expire(long threshold) {
+         List<ConnectionDesc> clonedConns;
+         synchronized(this) {
+-            clonedConns = new ArrayList<>(conns);
++            clonedConns = new ArrayList<ConnectionDesc>(conns);
+         }
+-        List<ConnectionDesc> expired = new ArrayList<>();
++        List<ConnectionDesc> expired = new ArrayList<ConnectionDesc>();
+ 
+         for (ConnectionDesc entry : clonedConns) {
+             d("expire(): ", entry);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/pool/Pool.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/pool/Pool.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/pool/Pool.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/pool/Pool.java	2017-04-26 16:05:48.579252217 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/pool/Pool.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/pool/Pool.java	2017-09-06 18:08:33.964785898 +0100
 @@ -83,7 +83,7 @@
       * Used for connections cleanup
       */
@@ -3078,9 +3099,22 @@
          this.prefSize = prefSize;
          this.maxSize = maxSize;
          this.initSize = initSize;
+@@ -165,10 +165,10 @@
+     public void expire(long threshold) {
+         Collection<ConnectionsRef> copy;
+         synchronized (map) {
+-            copy = new ArrayList<>(map.values());
++            copy = new ArrayList<ConnectionsRef>(map.values());
+         }
+ 
+-        ArrayList<ConnectionsRef> removed = new ArrayList<>();
++        ArrayList<ConnectionsRef> removed = new ArrayList<ConnectionsRef>();
+         Connections conns;
+         for (ConnectionsRef ref : copy) {
+             conns = ref.getConnections();
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/sasl/LdapSasl.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/sasl/LdapSasl.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/sasl/LdapSasl.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/sasl/LdapSasl.java	2017-04-26 16:05:48.579252217 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/sasl/LdapSasl.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/sasl/LdapSasl.java	2017-09-06 18:08:33.904786862 +0100
 @@ -186,7 +186,7 @@
        */
      private static String[] getSaslMechanismNames(String str) {
@@ -3091,8 +3125,8 @@
              mechs.addElement(parser.nextToken());
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/toolkit/ctx/Continuation.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/toolkit/ctx/Continuation.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/toolkit/ctx/Continuation.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/toolkit/ctx/Continuation.java	2017-04-26 16:05:48.579252217 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/toolkit/ctx/Continuation.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/toolkit/ctx/Continuation.java	2017-09-06 18:08:33.904786862 +0100
 @@ -155,7 +155,7 @@
          if ((e instanceof CannotProceedException)) {
              CannotProceedException cpe = (CannotProceedException)e;
@@ -3103,8 +3137,8 @@
              cpe.setAltNameCtx(resolvedContext);
              cpe.setAltName(relativeResolvedName);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/toolkit/dir/HierMemDirCtx.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/toolkit/dir/HierMemDirCtx.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/toolkit/dir/HierMemDirCtx.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/toolkit/dir/HierMemDirCtx.java	2017-04-26 16:05:48.579252217 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/toolkit/dir/HierMemDirCtx.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/toolkit/dir/HierMemDirCtx.java	2017-09-06 18:08:33.904786862 +0100
 @@ -84,7 +84,7 @@
  
      private void init() {
@@ -3124,8 +3158,8 @@
              return (Hashtable<String, Object>)myEnv.clone();
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/toolkit/dir/SearchFilter.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/toolkit/dir/SearchFilter.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/toolkit/dir/SearchFilter.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/toolkit/dir/SearchFilter.java	2017-04-26 16:05:48.579252217 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/toolkit/dir/SearchFilter.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/toolkit/dir/SearchFilter.java	2017-09-06 18:08:33.904786862 +0100
 @@ -208,7 +208,7 @@
          private boolean polarity;
  
@@ -3136,8 +3170,8 @@
          }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/toolkit/url/GenericURLContext.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/toolkit/url/GenericURLContext.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/toolkit/url/GenericURLContext.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/toolkit/url/GenericURLContext.java	2017-04-26 16:05:48.579252217 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/toolkit/url/GenericURLContext.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/toolkit/url/GenericURLContext.java	2017-09-06 18:08:33.904786862 +0100
 @@ -510,7 +510,7 @@
      @SuppressWarnings("unchecked") // clone()
      public Hashtable<String, Object> getEnvironment() throws NamingException {
@@ -3148,8 +3182,8 @@
              return (Hashtable<String, Object>)myEnv.clone();
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/media/sound/AbstractLine.java openjdk-boot/jdk/src/share/classes/com/sun/media/sound/AbstractLine.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/media/sound/AbstractLine.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/media/sound/AbstractLine.java	2017-04-26 16:05:48.579252217 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/media/sound/AbstractLine.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/media/sound/AbstractLine.java	2017-09-06 18:08:33.904786862 +0100
 @@ -54,7 +54,7 @@
       * Contains event dispatcher per thread group.
       */
@@ -3160,8 +3194,8 @@
      /**
       * Constructs a new AbstractLine.
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/media/sound/JDK13Services.java openjdk-boot/jdk/src/share/classes/com/sun/media/sound/JDK13Services.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/media/sound/JDK13Services.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/media/sound/JDK13Services.java	2017-04-26 16:05:48.579252217 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/media/sound/JDK13Services.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/media/sound/JDK13Services.java	2017-09-06 18:08:33.904786862 +0100
 @@ -102,7 +102,7 @@
                  && !SoundbankReader.class.equals(serviceClass)
                  && !MidiFileWriter.class.equals(serviceClass)
@@ -3172,8 +3206,8 @@
              providers = JSSecurityManager.getProviders(serviceClass);
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/media/sound/RealTimeSequencer.java openjdk-boot/jdk/src/share/classes/com/sun/media/sound/RealTimeSequencer.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/media/sound/RealTimeSequencer.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/media/sound/RealTimeSequencer.java	2017-04-26 16:05:48.579252217 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/media/sound/RealTimeSequencer.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/media/sound/RealTimeSequencer.java	2017-09-06 18:08:33.904786862 +0100
 @@ -59,7 +59,7 @@
       * dispatcher instance with a factory in EventDispatcher
       */
@@ -3184,8 +3218,8 @@
      /**
       * All RealTimeSequencers share this info object.
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/naming/internal/FactoryEnumeration.java openjdk-boot/jdk/src/share/classes/com/sun/naming/internal/FactoryEnumeration.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/naming/internal/FactoryEnumeration.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/naming/internal/FactoryEnumeration.java	2017-04-26 16:05:48.579252217 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/naming/internal/FactoryEnumeration.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/naming/internal/FactoryEnumeration.java	2017-09-06 18:08:33.904786862 +0100
 @@ -87,7 +87,7 @@
                  }
                  // Instantiate Class to get factory
@@ -3196,8 +3230,8 @@
                  return answer;
              } catch (ClassNotFoundException e) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/naming/internal/ResourceManager.java openjdk-boot/jdk/src/share/classes/com/sun/naming/internal/ResourceManager.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/naming/internal/ResourceManager.java	2017-04-26 15:02:12.548810007 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/naming/internal/ResourceManager.java	2017-04-26 16:05:48.579252217 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/naming/internal/ResourceManager.java	2017-09-06 17:44:07.012389923 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/naming/internal/ResourceManager.java	2017-09-06 18:08:33.904786862 +0100
 @@ -97,7 +97,7 @@
       */
      // WeakHashMap<Class | ClassLoader, Hashtable>
@@ -3292,8 +3326,8 @@
              propertiesCache.put(cl, result);
              return result;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/naming/internal/VersionHelper.java openjdk-boot/jdk/src/share/classes/com/sun/naming/internal/VersionHelper.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/naming/internal/VersionHelper.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/naming/internal/VersionHelper.java	2017-04-26 16:05:48.579252217 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/naming/internal/VersionHelper.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/naming/internal/VersionHelper.java	2017-09-06 18:08:33.904786862 +0100
 @@ -137,7 +137,7 @@
          throws MalformedURLException {
          // Parse codebase into separate URLs
@@ -3304,8 +3338,8 @@
              vec.addElement(parser.nextToken());
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/rmi/rmid/ExecOptionPermission.java openjdk-boot/jdk/src/share/classes/com/sun/rmi/rmid/ExecOptionPermission.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/rmi/rmid/ExecOptionPermission.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/rmi/rmid/ExecOptionPermission.java	2017-04-26 16:05:48.579252217 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/rmi/rmid/ExecOptionPermission.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/rmi/rmid/ExecOptionPermission.java	2017-09-06 18:08:33.904786862 +0100
 @@ -231,7 +231,7 @@
           * Create an empty ExecOptionPermissionCollection.
           */
@@ -3316,8 +3350,8 @@
          }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/rmi/rmid/ExecPermission.java openjdk-boot/jdk/src/share/classes/com/sun/rmi/rmid/ExecPermission.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/rmi/rmid/ExecPermission.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/rmi/rmid/ExecPermission.java	2017-04-26 16:05:48.579252217 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/rmi/rmid/ExecPermission.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/rmi/rmid/ExecPermission.java	2017-09-06 18:08:33.904786862 +0100
 @@ -235,7 +235,7 @@
           * Create an empty ExecPermissionCollection.
           */
@@ -3328,8 +3362,8 @@
  
          /**
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java openjdk-boot/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java	2017-04-26 16:05:48.583252152 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java	2017-09-06 18:08:33.904786862 +0100
 @@ -1285,7 +1285,7 @@
       */
      public Collection<?> toCollection() throws SQLException {
@@ -3349,8 +3383,8 @@
          // create a copy
          CachedRowSetImpl crsTemp;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java openjdk-boot/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java	2017-04-26 16:05:48.583252152 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java	2017-09-06 18:08:33.908786798 +0100
 @@ -222,7 +222,7 @@
             // either of the setter methods have been set.
             if(boolColId){
@@ -3361,8 +3395,8 @@
                    if( (strMatchKey = (cRowset.getMatchColumnNames())[i]) != null) {
                        iMatchKey = cRowset.findColumn(strMatchKey);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/callback/DialogCallbackHandler.java openjdk-boot/jdk/src/share/classes/com/sun/security/auth/callback/DialogCallbackHandler.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/callback/DialogCallbackHandler.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/callback/DialogCallbackHandler.java	2017-04-26 16:05:48.583252152 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/callback/DialogCallbackHandler.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/callback/DialogCallbackHandler.java	2017-09-06 18:08:33.908786798 +0100
 @@ -99,10 +99,10 @@
          throws UnsupportedCallbackException
      {
@@ -3377,8 +3411,8 @@
          ConfirmationInfo confirmation = new ConfirmationInfo();
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/login/ConfigFile.java openjdk-boot/jdk/src/share/classes/com/sun/security/auth/login/ConfigFile.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/login/ConfigFile.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/login/ConfigFile.java	2017-04-26 16:05:48.583252152 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/login/ConfigFile.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/login/ConfigFile.java	2017-09-06 18:08:33.908786798 +0100
 @@ -152,7 +152,7 @@
  
          // new configuration
@@ -3407,8 +3441,8 @@
              String value;
              while (peek(";") == false) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/JndiLoginModule.java openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/JndiLoginModule.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/JndiLoginModule.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/JndiLoginModule.java	2017-04-26 16:05:48.583252152 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/JndiLoginModule.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/JndiLoginModule.java	2017-09-06 18:08:33.908786798 +0100
 @@ -181,7 +181,7 @@
      private UnixNumericUserPrincipal UIDPrincipal;
      private UnixNumericGroupPrincipal GIDPrincipal;
@@ -3419,8 +3453,8 @@
      // initial state
      private Subject subject;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java	2017-04-26 16:05:48.583252152 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java	2017-09-06 18:08:33.908786798 +0100
 @@ -654,7 +654,7 @@
                  throw new FailedLoginException(
                      "Unable to find X.509 certificate chain in keystore");
@@ -3431,8 +3465,8 @@
                      certList.add(fromKeyStore[i]);
                  }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/SolarisLoginModule.java openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/SolarisLoginModule.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/SolarisLoginModule.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/SolarisLoginModule.java	2017-04-26 16:05:48.583252152 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/SolarisLoginModule.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/SolarisLoginModule.java	2017-09-06 18:08:33.908786798 +0100
 @@ -76,7 +76,7 @@
      private SolarisNumericUserPrincipal UIDPrincipal;
      private SolarisNumericGroupPrincipal GIDPrincipal;
@@ -3443,8 +3477,8 @@
      /**
       * Initialize this <code>LoginModule</code>.
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/UnixLoginModule.java openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/UnixLoginModule.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/UnixLoginModule.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/UnixLoginModule.java	2017-04-26 16:05:48.583252152 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/UnixLoginModule.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/UnixLoginModule.java	2017-09-06 18:08:33.908786798 +0100
 @@ -70,7 +70,7 @@
      private UnixNumericUserPrincipal UIDPrincipal;
      private UnixNumericGroupPrincipal GIDPrincipal;
@@ -3455,8 +3489,8 @@
      /**
       * Initialize this <code>LoginModule</code>.
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/PolicyFile.java openjdk-boot/jdk/src/share/classes/com/sun/security/auth/PolicyFile.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/PolicyFile.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/PolicyFile.java	2017-04-26 16:05:48.583252152 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/PolicyFile.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/PolicyFile.java	2017-09-06 18:08:33.908786798 +0100
 @@ -1179,7 +1179,7 @@
              // Done
              return certs;
@@ -3467,8 +3501,8 @@
          while (i < certs.length) {
              userCertList.add(certs[i]);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/tools/example/trace/EventThread.java openjdk-boot/jdk/src/share/classes/com/sun/tools/example/trace/EventThread.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/tools/example/trace/EventThread.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/tools/example/trace/EventThread.java	2017-04-26 16:05:48.583252152 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/tools/example/trace/EventThread.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/tools/example/trace/EventThread.java	2017-09-06 18:08:33.908786798 +0100
 @@ -59,7 +59,7 @@
  
      // Maps ThreadReference to ThreadTrace instances
@@ -3478,9 +3512,126 @@
  
      EventThread(VirtualMachine vm, String[] excludes, PrintWriter writer) {
          super("event-handler");
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/awt/Cursor.java openjdk-boot/jdk/src/share/classes/java/awt/Cursor.java
+--- openjdk-boot.orig/jdk/src/share/classes/java/awt/Cursor.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/awt/Cursor.java	2017-09-06 18:08:33.960785962 +0100
+@@ -163,7 +163,7 @@
+      * hashtable, filesystem dir prefix, filename, and properties for custom cursors support
+      */
+ 
+-    private static final Hashtable<String,Cursor> systemCustomCursors = new Hashtable<>(1);
++    private static final Hashtable<String,Cursor> systemCustomCursors = new Hashtable<String,Cursor>(1);
+     private static final String systemCustomCursorDirPrefix = initCursorDir();
+ 
+     private static String initCursorDir() {
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/awt/datatransfer/Clipboard.java openjdk-boot/jdk/src/share/classes/java/awt/datatransfer/Clipboard.java
+--- openjdk-boot.orig/jdk/src/share/classes/java/awt/datatransfer/Clipboard.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/awt/datatransfer/Clipboard.java	2017-09-06 18:08:33.964785898 +0100
+@@ -341,7 +341,7 @@
+      * @since 1.5
+      */
+     private Set<DataFlavor> getAvailableDataFlavorSet() {
+-        Set<DataFlavor> set = new HashSet<>();
++        Set<DataFlavor> set = new HashSet<DataFlavor>();
+         Transferable contents = getContents(null);
+         if (contents != null) {
+             DataFlavor[] flavors = contents.getTransferDataFlavors();
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/awt/EventQueue.java openjdk-boot/jdk/src/share/classes/java/awt/EventQueue.java
+--- openjdk-boot.orig/jdk/src/share/classes/java/awt/EventQueue.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/awt/EventQueue.java	2017-09-06 18:08:33.964785898 +0100
+@@ -1183,7 +1183,7 @@
+                 return;
+             }
+ 
+-            currentEvent = new WeakReference<>(e);
++            currentEvent = new WeakReference<AWTEvent>(e);
+ 
+             // This series of 'instanceof' checks should be replaced with a
+             // polymorphic type (for example, an interface which declares a
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/awt/MenuBar.java openjdk-boot/jdk/src/share/classes/java/awt/MenuBar.java
+--- openjdk-boot.orig/jdk/src/share/classes/java/awt/MenuBar.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/awt/MenuBar.java	2017-09-06 18:08:33.964785898 +0100
+@@ -94,7 +94,7 @@
+      * @serial
+      * @see #countMenus()
+      */
+-    Vector<Menu> menus = new Vector<>();
++    Vector<Menu> menus = new Vector<Menu>();
+ 
+     /**
+      * This menu is a special menu dedicated to
+@@ -323,7 +323,7 @@
+      * @since       JDK1.1
+      */
+     public synchronized Enumeration<MenuShortcut> shortcuts() {
+-        Vector<MenuShortcut> shortcuts = new Vector<>();
++        Vector<MenuShortcut> shortcuts = new Vector<MenuShortcut>();
+         int nmenus = getMenuCount();
+         for (int i = 0 ; i < nmenus ; i++) {
+             Enumeration<MenuShortcut> e = getMenu(i).shortcuts();
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/awt/Menu.java openjdk-boot/jdk/src/share/classes/java/awt/Menu.java
+--- openjdk-boot.orig/jdk/src/share/classes/java/awt/Menu.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/awt/Menu.java	2017-09-06 18:08:33.964785898 +0100
+@@ -78,7 +78,7 @@
+      * @serial
+      * @see #countItems()
+      */
+-    Vector<MenuComponent> items = new Vector<>();
++    Vector<MenuComponent> items = new Vector<MenuComponent>();
+ 
+     /**
+      * This field indicates whether the menu has the
+@@ -313,7 +313,7 @@
+             }
+ 
+             int nitems = getItemCount();
+-            Vector<MenuItem> tempItems = new Vector<>();
++            Vector<MenuItem> tempItems = new Vector<MenuItem>();
+ 
+             /* Remove the item at index, nitems-index times
+                storing them in a temporary vector in the
+@@ -379,7 +379,7 @@
+             }
+ 
+             int nitems = getItemCount();
+-            Vector<MenuItem> tempItems = new Vector<>();
++            Vector<MenuItem> tempItems = new Vector<MenuItem>();
+ 
+             /* Remove the item at index, nitems-index times
+                storing them in a temporary vector in the
+@@ -476,7 +476,7 @@
+     }
+ 
+     synchronized Enumeration<MenuShortcut> shortcuts() {
+-        Vector<MenuShortcut> shortcuts = new Vector<>();
++        Vector<MenuShortcut> shortcuts = new Vector<MenuShortcut>();
+         int nitems = getItemCount();
+         for (int i = 0 ; i < nitems ; i++) {
+             MenuItem mi = getItem(i);
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/awt/RenderingHints.java openjdk-boot/jdk/src/share/classes/java/awt/RenderingHints.java
+--- openjdk-boot.orig/jdk/src/share/classes/java/awt/RenderingHints.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/awt/RenderingHints.java	2017-09-06 18:08:33.964785898 +0100
+@@ -92,7 +92,7 @@
+      * {@code equals()} method.
+      */
+     public abstract static class Key {
+-        private static HashMap<Object,Object> identitymap = new HashMap<>(17);
++        private static HashMap<Object,Object> identitymap = new HashMap<Object,Object>(17);
+ 
+         private String getIdentity() {
+             // Note that the identity string is dependent on 3 variables:
+@@ -195,7 +195,7 @@
+         }
+     }
+ 
+-    HashMap<Object,Object> hintmap = new HashMap<>(7);
++    HashMap<Object,Object> hintmap = new HashMap<Object,Object>(7);
+ 
+     /**
+      * Antialiasing hint key.
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/beans/Introspector.java openjdk-boot/jdk/src/share/classes/java/beans/Introspector.java
---- openjdk-boot.orig/jdk/src/share/classes/java/beans/Introspector.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/beans/Introspector.java	2017-04-26 16:05:48.583252152 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/beans/Introspector.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/beans/Introspector.java	2017-09-06 18:08:33.908786798 +0100
 @@ -106,7 +106,7 @@
      public final static int IGNORE_ALL_BEANINFO        = 3;
  
@@ -3509,8 +3660,8 @@
          }
          return targetBeanInfo;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/beans/MethodRef.java openjdk-boot/jdk/src/share/classes/java/beans/MethodRef.java
---- openjdk-boot.orig/jdk/src/share/classes/java/beans/MethodRef.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/beans/MethodRef.java	2017-04-26 16:05:48.583252152 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/beans/MethodRef.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/beans/MethodRef.java	2017-09-06 18:08:33.908786798 +0100
 @@ -44,7 +44,7 @@
          }
          else {
@@ -3530,8 +3681,8 @@
          }
          return isPackageAccessible(method.getDeclaringClass()) ? method : null;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/beans/ThreadGroupContext.java openjdk-boot/jdk/src/share/classes/java/beans/ThreadGroupContext.java
---- openjdk-boot.orig/jdk/src/share/classes/java/beans/ThreadGroupContext.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/beans/ThreadGroupContext.java	2017-04-26 16:05:48.583252152 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/beans/ThreadGroupContext.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/beans/ThreadGroupContext.java	2017-09-06 18:08:33.908786798 +0100
 @@ -96,7 +96,7 @@
  
      BeanInfo putBeanInfo(Class<?> type, BeanInfo info) {
@@ -3542,8 +3693,8 @@
          return this.beanInfoCache.put(type, info);
      }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/io/DeleteOnExitHook.java openjdk-boot/jdk/src/share/classes/java/io/DeleteOnExitHook.java
---- openjdk-boot.orig/jdk/src/share/classes/java/io/DeleteOnExitHook.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/io/DeleteOnExitHook.java	2017-04-26 16:05:48.583252152 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/io/DeleteOnExitHook.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/io/DeleteOnExitHook.java	2017-09-06 18:08:33.908786798 +0100
 @@ -34,7 +34,7 @@
   */
  
@@ -3563,8 +3714,8 @@
          // reverse the list to maintain previous jdk deletion order.
          // Last in first deleted.
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/io/FileInputStream.java openjdk-boot/jdk/src/share/classes/java/io/FileInputStream.java
---- openjdk-boot.orig/jdk/src/share/classes/java/io/FileInputStream.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/io/FileInputStream.java	2017-04-26 16:05:48.583252152 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/io/FileInputStream.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/io/FileInputStream.java	2017-09-06 18:08:33.908786798 +0100
 @@ -61,7 +61,7 @@
      private volatile boolean closed = false;
  
@@ -3575,8 +3726,8 @@
      private static boolean isRunningFinalize() {
          Boolean val;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/io/File.java openjdk-boot/jdk/src/share/classes/java/io/File.java
---- openjdk-boot.orig/jdk/src/share/classes/java/io/File.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/io/File.java	2017-04-26 16:05:48.583252152 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/io/File.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/io/File.java	2017-09-06 18:08:33.908786798 +0100
 @@ -1150,7 +1150,7 @@
          if ((names == null) || (filter == null)) {
              return names;
@@ -3605,8 +3756,8 @@
              File f = new File(s, this);
              if ((filter == null) || filter.accept(f))
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/io/FileOutputStream.java openjdk-boot/jdk/src/share/classes/java/io/FileOutputStream.java
---- openjdk-boot.orig/jdk/src/share/classes/java/io/FileOutputStream.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/io/FileOutputStream.java	2017-04-26 16:05:48.583252152 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/io/FileOutputStream.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/io/FileOutputStream.java	2017-09-06 18:08:33.908786798 +0100
 @@ -76,7 +76,7 @@
      private final Object closeLock = new Object();
      private volatile boolean closed = false;
@@ -3617,8 +3768,8 @@
      private static boolean isRunningFinalize() {
          Boolean val;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/io/FilePermission.java openjdk-boot/jdk/src/share/classes/java/io/FilePermission.java
---- openjdk-boot.orig/jdk/src/share/classes/java/io/FilePermission.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/io/FilePermission.java	2017-04-26 16:05:48.583252152 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/io/FilePermission.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/io/FilePermission.java	2017-09-06 18:08:33.908786798 +0100
 @@ -725,7 +725,7 @@
       */
  
@@ -3647,8 +3798,8 @@
      }
  }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectInputStream.java openjdk-boot/jdk/src/share/classes/java/io/ObjectInputStream.java
---- openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectInputStream.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/io/ObjectInputStream.java	2017-04-26 16:05:48.587252087 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectInputStream.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/io/ObjectInputStream.java	2017-09-06 18:08:33.908786798 +0100
 @@ -220,7 +220,7 @@
  
      /** table mapping primitive type names to corresponding class objects */
@@ -3673,8 +3824,8 @@
  
      static {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectOutputStream.java openjdk-boot/jdk/src/share/classes/java/io/ObjectOutputStream.java
---- openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectOutputStream.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/io/ObjectOutputStream.java	2017-04-26 16:05:48.587252087 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectOutputStream.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/io/ObjectOutputStream.java	2017-09-06 18:08:33.912786733 +0100
 @@ -166,11 +166,11 @@
      private static class Caches {
          /** cache of subclass security audit results */
@@ -3699,8 +3850,8 @@
  
          /**
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectStreamClass.java openjdk-boot/jdk/src/share/classes/java/io/ObjectStreamClass.java
---- openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectStreamClass.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/io/ObjectStreamClass.java	2017-04-26 16:05:48.587252087 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectStreamClass.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/io/ObjectStreamClass.java	2017-09-06 18:08:33.912786733 +0100
 @@ -87,18 +87,18 @@
      private static class Caches {
          /** cache mapping local classes -> descriptors */
@@ -3790,8 +3941,8 @@
                  if (ref != null) {
                      Caches.reflectors.remove(key, ref);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/ApplicationShutdownHooks.java openjdk-boot/jdk/src/share/classes/java/lang/ApplicationShutdownHooks.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/ApplicationShutdownHooks.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/ApplicationShutdownHooks.java	2017-04-26 16:05:48.587252087 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/ApplicationShutdownHooks.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/ApplicationShutdownHooks.java	2017-09-06 18:08:33.912786733 +0100
 @@ -47,7 +47,7 @@
                      }
                  }
@@ -3802,8 +3953,8 @@
              // application shutdown hooks cannot be added if
              // shutdown is in progress.
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/Character.java openjdk-boot/jdk/src/share/classes/java/lang/Character.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/Character.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/Character.java	2017-04-26 16:05:48.587252087 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/Character.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/Character.java	2017-09-06 18:08:33.912786733 +0100
 @@ -646,7 +646,8 @@
       */
      public static final class UnicodeBlock extends Subset {
@@ -3824,8 +3975,8 @@
              aliases.put("ARMI", IMPERIAL_ARAMAIC);
              aliases.put("ARMN", ARMENIAN);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/CharacterName.java openjdk-boot/jdk/src/share/classes/java/lang/CharacterName.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/CharacterName.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/CharacterName.java	2017-04-26 16:05:48.587252087 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/CharacterName.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/CharacterName.java	2017-09-06 18:08:33.912786733 +0100
 @@ -81,7 +81,7 @@
              } while (cpOff < cpEnd);
              strPool = new byte[total - cpEnd];
@@ -3836,8 +3987,8 @@
              throw new InternalError(x.getMessage());
          } finally {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/Class.java openjdk-boot/jdk/src/share/classes/java/lang/Class.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/Class.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/Class.java	2017-04-26 16:05:48.587252087 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/Class.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/Class.java	2017-09-06 18:08:33.912786733 +0100
 @@ -1359,7 +1359,7 @@
          return java.security.AccessController.doPrivileged(
              new java.security.PrivilegedAction<Class<?>[]>() {
@@ -3890,8 +4041,8 @@
              for (Map.Entry<Class<? extends Annotation>, Annotation> e : superClass.annotations.entrySet()) {
                  Class<? extends Annotation> annotationClass = e.getKey();
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/ClassLoader.java openjdk-boot/jdk/src/share/classes/java/lang/ClassLoader.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/ClassLoader.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/ClassLoader.java	2017-04-26 16:05:48.587252087 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/ClassLoader.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/ClassLoader.java	2017-09-06 18:08:33.912786733 +0100
 @@ -248,7 +248,7 @@
  
      // The classes loaded by this class loader. The only purpose of this table
@@ -3998,8 +4149,8 @@
  
          for(int i = 0; i < directives.classes.length; i++)
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/ClassValue.java openjdk-boot/jdk/src/share/classes/java/lang/ClassValue.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/ClassValue.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/ClassValue.java	2017-04-26 16:05:48.587252087 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/ClassValue.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/ClassValue.java	2017-09-06 18:08:33.912786733 +0100
 @@ -297,12 +297,12 @@
       * Some machines may also require a barrier instruction to execute
       * before this.version.
@@ -4041,8 +4192,8 @@
          // As soon as the Entry is put into the cache, the value will be
          // reachable via a data race (as defined by the Java Memory Model).
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/BoundMethodHandle.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/BoundMethodHandle.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/BoundMethodHandle.java	2017-04-26 15:02:12.612808977 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/BoundMethodHandle.java	2017-04-26 16:05:48.587252087 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/BoundMethodHandle.java	2017-09-06 17:44:07.064389085 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/BoundMethodHandle.java	2017-09-06 18:08:33.912786733 +0100
 @@ -393,7 +393,7 @@
          }
          private boolean isPlaceholder() { return clazz == null; }
@@ -4053,8 +4204,8 @@
  
          SpeciesData extendWithType(char type) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/DirectMethodHandle.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/DirectMethodHandle.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/DirectMethodHandle.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/DirectMethodHandle.java	2017-04-26 16:05:48.587252087 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/DirectMethodHandle.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/DirectMethodHandle.java	2017-09-06 18:08:33.912786733 +0100
 @@ -290,7 +290,7 @@
              if (UNSAFE.shouldBeInitialized(type))
                  // If the previous call didn't block, this can happen.
@@ -4065,8 +4216,8 @@
          }
          static final EnsureInitialized INSTANCE = new EnsureInitialized();
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java	2017-04-26 15:02:12.612808977 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java	2017-04-26 16:05:48.587252087 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java	2017-09-06 17:44:07.064389085 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java	2017-09-06 18:08:33.912786733 +0100
 @@ -129,7 +129,7 @@
  
      static {
@@ -4086,8 +4237,8 @@
      int cph = 0;  // for counting constant placeholders
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/LambdaForm.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/LambdaForm.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/LambdaForm.java	2017-04-26 15:02:12.612808977 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/LambdaForm.java	2017-04-26 16:05:48.591252022 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/LambdaForm.java	2017-09-06 17:44:07.064389085 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/LambdaForm.java	2017-09-06 18:08:33.912786733 +0100
 @@ -468,12 +468,12 @@
          int   capacity   = 512;    // expect many distinct signatures over time
          float loadFactor = 0.75f;  // normal default
@@ -4104,8 +4255,8 @@
              if (!m.isStatic() || !m.isPackage())  continue;
              MethodType mt = m.getMethodType();
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MemberName.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/MemberName.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MemberName.java	2017-04-26 15:02:11.632824724 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MemberName.java	2017-04-26 16:05:48.591252022 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MemberName.java	2017-09-06 17:44:07.000390116 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MemberName.java	2017-09-06 18:08:33.912786733 +0100
 @@ -808,14 +808,14 @@
                  // JVM returned to us with an intentional overflow!
                  totalCount += buf.length;
@@ -4124,8 +4275,8 @@
                  for (MemberName[] buf0 : bufs) {
                      Collections.addAll(result, buf0);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java	2017-04-26 15:02:12.612808977 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java	2017-04-26 16:05:48.591252022 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java	2017-09-06 17:44:07.064389085 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java	2017-09-06 18:08:33.916786669 +0100
 @@ -73,8 +73,8 @@
  
      static final class ArrayAccessor {
@@ -4147,8 +4298,8 @@
              for (;;) {
                  int nargs = invokes.size();
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandle.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandle.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandle.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandle.java	2017-04-26 16:05:48.591252022 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandle.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandle.java	2017-09-06 18:08:33.916786669 +0100
 @@ -834,7 +834,7 @@
                  }
              }
@@ -4159,8 +4310,8 @@
                      ptypes.set(i, arrayElement);
                  }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandles.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandles.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandles.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandles.java	2017-04-26 16:05:48.591252022 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandles.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandles.java	2017-09-06 18:08:33.916786669 +0100
 @@ -1953,7 +1953,7 @@
          int inargs  = outargs + dropped;
          if (pos < 0 || pos >= inargs)
@@ -4171,8 +4322,8 @@
          if (ptypes.size() != inargs)  throw newIllegalArgumentException("valueTypes");
          MethodType newType = MethodType.methodType(oldType.returnType(), ptypes);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodType.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodType.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodType.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodType.java	2017-04-26 16:05:48.591252022 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodType.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodType.java	2017-09-06 18:08:33.916786669 +0100
 @@ -1048,7 +1048,7 @@
          private final float loadFactor;
  
@@ -4183,8 +4334,8 @@
          private Entry[] newTable(int n) {
              return new Entry[n];
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/management/ManagementFactory.java openjdk-boot/jdk/src/share/classes/java/lang/management/ManagementFactory.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/management/ManagementFactory.java	2017-04-26 15:02:12.536810200 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/management/ManagementFactory.java	2017-04-26 16:05:48.591252022 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/management/ManagementFactory.java	2017-09-06 17:44:07.000390116 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/management/ManagementFactory.java	2017-09-06 18:08:33.916786669 +0100
 @@ -789,7 +789,7 @@
             getPlatformManagementInterfaces()
      {
@@ -4195,8 +4346,8 @@
              result.add(component.getMXBeanInterface());
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/management/PlatformComponent.java openjdk-boot/jdk/src/share/classes/java/lang/management/PlatformComponent.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/management/PlatformComponent.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/management/PlatformComponent.java	2017-04-26 16:05:48.591252022 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/management/PlatformComponent.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/management/PlatformComponent.java	2017-09-06 18:08:33.916786669 +0100
 @@ -287,7 +287,7 @@
              List<T> getGcMXBeanList(Class<T> gcMXBeanIntf) {
          List<GarbageCollectorMXBean> list =
@@ -4234,8 +4385,8 @@
                  // Use String as the key rather than Class<?> to avoid
                  // causing unnecessary class loading of management interface
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/Package.java openjdk-boot/jdk/src/share/classes/java/lang/Package.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/Package.java	2017-04-26 15:02:12.592809299 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/Package.java	2017-04-26 16:05:48.591252022 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/Package.java	2017-09-06 17:44:07.044389407 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/Package.java	2017-09-06 18:08:33.916786669 +0100
 @@ -599,13 +599,16 @@
      }
  
@@ -4257,8 +4408,8 @@
      private static native String getSystemPackage0(String name);
      private static native String[] getSystemPackages0();
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/ProcessBuilder.java openjdk-boot/jdk/src/share/classes/java/lang/ProcessBuilder.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/ProcessBuilder.java	2017-04-26 15:02:12.536810200 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/ProcessBuilder.java	2017-04-26 16:05:48.591252022 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/ProcessBuilder.java	2017-09-06 17:44:07.000390116 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/ProcessBuilder.java	2017-09-06 18:08:33.916786669 +0100
 @@ -214,7 +214,7 @@
       * @param command a string array containing the program and its arguments
       */
@@ -4278,8 +4429,8 @@
              this.command.add(arg);
          return this;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/reflect/Constructor.java openjdk-boot/jdk/src/share/classes/java/lang/reflect/Constructor.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/reflect/Constructor.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/reflect/Constructor.java	2017-04-26 16:05:48.591252022 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/reflect/Constructor.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/reflect/Constructor.java	2017-09-06 18:08:33.916786669 +0100
 @@ -137,7 +137,7 @@
          // which implicitly requires that new java.lang.reflect
          // objects be fabricated for each reflective call on Class
@@ -4290,8 +4441,8 @@
                                                  exceptionTypes, modifiers, slot,
                                                  signature,
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/reflect/Proxy.java openjdk-boot/jdk/src/share/classes/java/lang/reflect/Proxy.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/reflect/Proxy.java	2017-04-26 15:02:12.536810200 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/reflect/Proxy.java	2017-04-26 16:05:48.591252022 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/reflect/Proxy.java	2017-09-06 17:44:07.000390116 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/reflect/Proxy.java	2017-09-06 18:08:33.916786669 +0100
 @@ -234,7 +234,7 @@
       * a cache of proxy classes
       */
@@ -4311,8 +4462,8 @@
                  /*
                   * Verify that the class loader resolves the name of this
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/reflect/ReflectAccess.java openjdk-boot/jdk/src/share/classes/java/lang/reflect/ReflectAccess.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/reflect/ReflectAccess.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/reflect/ReflectAccess.java	2017-04-26 16:05:48.591252022 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/reflect/ReflectAccess.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/reflect/ReflectAccess.java	2017-09-06 18:08:33.916786669 +0100
 @@ -84,7 +84,7 @@
                                               byte[] annotations,
                                               byte[] parameterAnnotations)
@@ -4323,8 +4474,8 @@
                                    checkedExceptions,
                                    modifiers,
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/reflect/WeakCache.java openjdk-boot/jdk/src/share/classes/java/lang/reflect/WeakCache.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/reflect/WeakCache.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/reflect/WeakCache.java	2017-04-26 16:10:51.350343003 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/reflect/WeakCache.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/reflect/WeakCache.java	2017-09-06 18:08:33.916786669 +0100
 @@ -71,12 +71,12 @@
      }
  
@@ -4378,8 +4529,8 @@
  
          private final int hash;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/StringCoding.java openjdk-boot/jdk/src/share/classes/java/lang/StringCoding.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/StringCoding.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/StringCoding.java	2017-04-26 16:05:48.591252022 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/StringCoding.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/StringCoding.java	2017-09-06 18:08:33.916786669 +0100
 @@ -53,9 +53,9 @@
  
      /** The cached coders for each thread */
@@ -4393,8 +4544,8 @@
      private static boolean warnUnsupportedCharset = true;
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/String.java openjdk-boot/jdk/src/share/classes/java/lang/String.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/String.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/String.java	2017-04-26 16:05:48.591252022 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/String.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/String.java	2017-09-06 18:08:33.916786669 +0100
 @@ -2282,7 +2282,7 @@
              int off = 0;
              int next = 0;
@@ -4405,9 +4556,9 @@
                  if (!limited || list.size() < limit - 1) {
                      list.add(substring(off, next));
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/Thread.java openjdk-boot/jdk/src/share/classes/java/lang/Thread.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/Thread.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/Thread.java	2017-04-26 16:05:48.591252022 +0100
-@@ -1638,7 +1638,8 @@
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/Thread.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/Thread.java	2017-09-06 18:08:33.916786669 +0100
+@@ -1641,7 +1641,8 @@
          // Get a snapshot of the list of all threads
          Thread[] threads = getThreads();
          StackTraceElement[][] traces = dumpThreads(threads);
@@ -4417,7 +4568,7 @@
          for (int i = 0; i < threads.length; i++) {
              StackTraceElement[] stackTrace = traces[i];
              if (stackTrace != null) {
-@@ -1659,11 +1660,11 @@
+@@ -1662,11 +1663,11 @@
      private static class Caches {
          /** cache of subclass security audit results */
          static final ConcurrentMap<WeakClassKey,Boolean> subclassAudits =
@@ -4432,8 +4583,8 @@
  
      /**
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/Throwable.java openjdk-boot/jdk/src/share/classes/java/lang/Throwable.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/Throwable.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/Throwable.java	2017-04-26 16:05:48.595251957 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/Throwable.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/Throwable.java	2017-09-06 18:08:33.916786669 +0100
 @@ -918,7 +918,7 @@
                  // Use the sentinel for a zero-length list
                  suppressed = SUPPRESSED_SENTINEL;
@@ -4453,8 +4604,8 @@
          suppressedExceptions.add(exception);
      }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/net/InetAddress.java openjdk-boot/jdk/src/share/classes/java/net/InetAddress.java
---- openjdk-boot.orig/jdk/src/share/classes/java/net/InetAddress.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/net/InetAddress.java	2017-04-26 16:05:48.595251957 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/net/InetAddress.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/net/InetAddress.java	2017-09-06 18:08:33.916786669 +0100
 @@ -733,7 +733,7 @@
  
      static InetAddressImpl  impl;
@@ -4474,8 +4625,8 @@
                  for (String key : cache.keySet()) {
                      CacheEntry entry = cache.get(key);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/net/SocketPermission.java openjdk-boot/jdk/src/share/classes/java/net/SocketPermission.java
---- openjdk-boot.orig/jdk/src/share/classes/java/net/SocketPermission.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/net/SocketPermission.java	2017-04-26 16:05:48.595251957 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/net/SocketPermission.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/net/SocketPermission.java	2017-09-06 18:08:33.920786605 +0100
 @@ -1453,7 +1453,7 @@
          // Don't call out.defaultWriteObject()
  
@@ -4486,8 +4637,8 @@
          synchronized (this) {
              permissions.addAll(perms);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/net/URLClassLoader.java openjdk-boot/jdk/src/share/classes/java/net/URLClassLoader.java
---- openjdk-boot.orig/jdk/src/share/classes/java/net/URLClassLoader.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/net/URLClassLoader.java	2017-04-26 16:05:48.595251957 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/net/URLClassLoader.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/net/URLClassLoader.java	2017-09-06 18:08:33.920786605 +0100
 @@ -198,7 +198,7 @@
       */
  
@@ -4498,8 +4649,8 @@
      /**
       * Returns an input stream for reading the specified resource.
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/net/URLConnection.java openjdk-boot/jdk/src/share/classes/java/net/URLConnection.java
---- openjdk-boot.orig/jdk/src/share/classes/java/net/URLConnection.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/net/URLConnection.java	2017-04-26 16:05:48.595251957 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/net/URLConnection.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/net/URLConnection.java	2017-09-06 18:08:33.920786605 +0100
 @@ -1237,7 +1237,7 @@
          factory = fac;
      }
@@ -4510,8 +4661,8 @@
      /**
       * Gets the Content Handler appropriate for this connection.
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/net/URL.java openjdk-boot/jdk/src/share/classes/java/net/URL.java
---- openjdk-boot.orig/jdk/src/share/classes/java/net/URL.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/net/URL.java	2017-04-26 16:05:48.595251957 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/net/URL.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/net/URL.java	2017-09-06 18:08:33.920786605 +0100
 @@ -1126,7 +1126,7 @@
      /**
       * A table of protocol handlers.
@@ -4522,8 +4673,8 @@
  
      // special case the gopher protocol, disabled by default
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/nio/file/Files.java openjdk-boot/jdk/src/share/classes/java/nio/file/Files.java
---- openjdk-boot.orig/jdk/src/share/classes/java/nio/file/Files.java	2017-04-26 15:02:12.592809299 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/nio/file/Files.java	2017-04-26 16:05:48.595251957 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/nio/file/Files.java	2017-09-06 17:44:07.044389407 +0100
++++ openjdk-boot/jdk/src/share/classes/java/nio/file/Files.java	2017-09-06 18:08:33.920786605 +0100
 @@ -1504,7 +1504,7 @@
              return AccessController
                  .doPrivileged(new PrivilegedAction<List<FileTypeDetector>>() {
@@ -4543,8 +4694,8 @@
                  String line = reader.readLine();
                  if (line == null)
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/security/AccessControlContext.java openjdk-boot/jdk/src/share/classes/java/security/AccessControlContext.java
---- openjdk-boot.orig/jdk/src/share/classes/java/security/AccessControlContext.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/security/AccessControlContext.java	2017-04-26 16:05:48.595251957 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/AccessControlContext.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/security/AccessControlContext.java	2017-09-06 18:08:33.920786605 +0100
 @@ -134,7 +134,7 @@
                  this.context = null;
              }
@@ -4555,8 +4706,8 @@
                  if ((context[i] != null) &&  (!v.contains(context[i])))
                      v.add(context[i]);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/security/BasicPermission.java openjdk-boot/jdk/src/share/classes/java/security/BasicPermission.java
---- openjdk-boot.orig/jdk/src/share/classes/java/security/BasicPermission.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/security/BasicPermission.java	2017-04-26 16:05:48.595251957 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/BasicPermission.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/security/BasicPermission.java	2017-09-06 18:08:33.920786605 +0100
 @@ -514,7 +514,7 @@
  
          // Copy perms into a Hashtable
@@ -4567,8 +4718,8 @@
          synchronized (this) {
              permissions.putAll(perms);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/security/CodeSource.java openjdk-boot/jdk/src/share/classes/java/security/CodeSource.java
---- openjdk-boot.orig/jdk/src/share/classes/java/security/CodeSource.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/security/CodeSource.java	2017-04-26 16:05:48.595251957 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/CodeSource.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/security/CodeSource.java	2017-09-07 03:04:24.979082181 +0100
 @@ -188,7 +188,7 @@
          } else if (signers != null) {
              // Convert the code signers to certs
@@ -4578,7 +4729,16 @@
              for (int i = 0; i < signers.length; i++) {
                  certChains.addAll(
                      signers[i].getSignerCertPath().getCertificates());
-@@ -606,10 +606,10 @@
+@@ -539,7 +539,7 @@
+             // we know of 3 different cert types: X.509, PGP, SDSI, which
+             // could all be present in the stream at the same time
+             cfs = new Hashtable<String, CertificateFactory>(3);
+-            certList = new ArrayList<>(size > 20 ? 20 : size);
++            certList = new ArrayList<java.security.cert.Certificate>(size > 20 ? 20 : size);
+         }
+ 
+         for (int i = 0; i < size; i++) {
+@@ -611,10 +611,10 @@
  
              // Iterate through all the certificates
              int i = 0;
@@ -4592,8 +4752,8 @@
                  int j = i;
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/security/Permissions.java openjdk-boot/jdk/src/share/classes/java/security/Permissions.java
---- openjdk-boot.orig/jdk/src/share/classes/java/security/Permissions.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/security/Permissions.java	2017-04-26 16:05:48.595251957 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/Permissions.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/security/Permissions.java	2017-09-06 18:08:33.920786605 +0100
 @@ -361,7 +361,7 @@
  
          // Copy perms into a Hashtable
@@ -4613,8 +4773,8 @@
              perms.putAll(permsMap);
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/security/Policy.java openjdk-boot/jdk/src/share/classes/java/security/Policy.java
---- openjdk-boot.orig/jdk/src/share/classes/java/security/Policy.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/security/Policy.java	2017-04-26 16:05:48.595251957 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/Policy.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/security/Policy.java	2017-09-06 18:08:33.920786605 +0100
 @@ -109,7 +109,7 @@
  
      // PolicyInfo is stored in an AtomicReference
@@ -4634,8 +4794,8 @@
          }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/security/ProtectionDomain.java openjdk-boot/jdk/src/share/classes/java/security/ProtectionDomain.java
---- openjdk-boot.orig/jdk/src/share/classes/java/security/ProtectionDomain.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/security/ProtectionDomain.java	2017-04-26 16:05:48.595251957 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/ProtectionDomain.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/security/ProtectionDomain.java	2017-09-06 18:08:33.920786605 +0100
 @@ -400,8 +400,8 @@
          int swag = 32;
          int vcap = 8;
@@ -4648,8 +4808,8 @@
          //
          // Build a vector of domain permissions for subsequent merge
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/security/Provider.java openjdk-boot/jdk/src/share/classes/java/security/Provider.java
---- openjdk-boot.orig/jdk/src/share/classes/java/security/Provider.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/security/Provider.java	2017-04-26 16:05:48.595251957 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/Provider.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/security/Provider.java	2017-09-06 18:08:33.920786605 +0100
 @@ -434,7 +434,7 @@
  
      private void readObject(ObjectInputStream in)
@@ -4678,8 +4838,8 @@
                              Class<?> clazz = getKeyClass(className);
                              if (clazz != null) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/security/SecureClassLoader.java openjdk-boot/jdk/src/share/classes/java/security/SecureClassLoader.java
---- openjdk-boot.orig/jdk/src/share/classes/java/security/SecureClassLoader.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/security/SecureClassLoader.java	2017-04-26 16:05:48.595251957 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/SecureClassLoader.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/security/SecureClassLoader.java	2017-09-06 18:08:33.920786605 +0100
 @@ -50,7 +50,7 @@
      // HashMap that maps CodeSource to ProtectionDomain
      // @GuardedBy("pdcache")
@@ -4690,8 +4850,8 @@
      private static final Debug debug = Debug.getInstance("scl");
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/security/Security.java openjdk-boot/jdk/src/share/classes/java/security/Security.java
---- openjdk-boot.orig/jdk/src/share/classes/java/security/Security.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/security/Security.java	2017-04-26 16:05:48.595251957 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/Security.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/security/Security.java	2017-09-06 18:08:33.920786605 +0100
 @@ -544,7 +544,7 @@
              value = filter.substring(index + 1);
          }
@@ -4738,8 +4898,8 @@
  
          for (int i = 0; i < providers.length; i++) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/security/UnresolvedPermissionCollection.java openjdk-boot/jdk/src/share/classes/java/security/UnresolvedPermissionCollection.java
---- openjdk-boot.orig/jdk/src/share/classes/java/security/UnresolvedPermissionCollection.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/security/UnresolvedPermissionCollection.java	2017-04-26 16:05:48.595251957 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/UnresolvedPermissionCollection.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/security/UnresolvedPermissionCollection.java	2017-09-06 18:08:33.920786605 +0100
 @@ -119,7 +119,7 @@
  
      public Enumeration<Permission> elements() {
@@ -4777,8 +4937,8 @@
  
              // Add to Hashtable being serialized
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/security/UnresolvedPermission.java openjdk-boot/jdk/src/share/classes/java/security/UnresolvedPermission.java
---- openjdk-boot.orig/jdk/src/share/classes/java/security/UnresolvedPermission.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/security/UnresolvedPermission.java	2017-04-26 16:05:48.595251957 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/UnresolvedPermission.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/security/UnresolvedPermission.java	2017-09-06 18:08:33.920786605 +0100
 @@ -196,7 +196,7 @@
                  if (this.certs == null) {
                      // extract the signer certs
@@ -4789,8 +4949,8 @@
                      while (i < certs.length) {
                          signerCerts.add(certs[i]);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/AbstractList.java openjdk-boot/jdk/src/share/classes/java/util/AbstractList.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/AbstractList.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/AbstractList.java	2017-04-26 16:05:48.595251957 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/AbstractList.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/AbstractList.java	2017-09-06 18:08:33.920786605 +0100
 @@ -482,8 +482,8 @@
       */
      public List<E> subList(int fromIndex, int toIndex) {
@@ -4820,8 +4980,8 @@
      }
  }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/Arrays.java openjdk-boot/jdk/src/share/classes/java/util/Arrays.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/Arrays.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/Arrays.java	2017-04-26 16:05:48.599251892 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/Arrays.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/Arrays.java	2017-09-06 18:08:33.920786605 +0100
 @@ -2825,7 +2825,7 @@
       */
      @SafeVarargs
@@ -4832,8 +4992,8 @@
  
      /**
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/Collections.java openjdk-boot/jdk/src/share/classes/java/util/Collections.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/Collections.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/Collections.java	2017-04-26 16:05:48.599251892 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/Collections.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/Collections.java	2017-09-06 18:08:33.924786540 +0100
 @@ -1035,7 +1035,7 @@
       * @return an unmodifiable view of the specified collection.
       */
@@ -5459,8 +5619,8 @@
  
      /**
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/Currency.java openjdk-boot/jdk/src/share/classes/java/util/Currency.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/Currency.java	2017-04-26 15:02:12.592809299 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/Currency.java	2017-04-26 16:05:48.599251892 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/Currency.java	2017-09-06 17:44:07.044389407 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/Currency.java	2017-09-06 18:08:33.924786540 +0100
 @@ -101,7 +101,7 @@
  
      // class data: instance map
@@ -5471,8 +5631,8 @@
  
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/EnumMap.java openjdk-boot/jdk/src/share/classes/java/util/EnumMap.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/EnumMap.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/EnumMap.java	2017-04-26 16:05:48.599251892 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/EnumMap.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/EnumMap.java	2017-09-06 18:08:33.924786540 +0100
 @@ -508,7 +508,7 @@
              int j = 0;
              for (int i = 0; i < vals.length; i++)
@@ -5483,8 +5643,8 @@
              return a;
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/EnumSet.java openjdk-boot/jdk/src/share/classes/java/util/EnumSet.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/EnumSet.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/EnumSet.java	2017-04-26 16:05:48.599251892 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/EnumSet.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/EnumSet.java	2017-09-06 18:08:33.924786540 +0100
 @@ -110,9 +110,9 @@
              throw new ClassCastException(elementType + " not an enum");
  
@@ -5507,8 +5667,8 @@
  
      // readObject method for the serialization proxy pattern
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/Formatter.java openjdk-boot/jdk/src/share/classes/java/util/Formatter.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/Formatter.java	2017-04-26 15:02:12.540810134 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/Formatter.java	2017-04-26 16:05:48.599251892 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/Formatter.java	2017-09-06 17:44:07.000390116 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/Formatter.java	2017-09-06 18:08:33.924786540 +0100
 @@ -2531,7 +2531,7 @@
       * Finds format specifiers in the format string.
       */
@@ -5519,8 +5679,8 @@
          for (int i = 0, len = s.length(); i < len; ) {
              if (m.find(i)) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/HashMap.java openjdk-boot/jdk/src/share/classes/java/util/HashMap.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/HashMap.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/HashMap.java	2017-04-26 16:05:48.599251892 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/HashMap.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/HashMap.java	2017-09-06 18:08:33.924786540 +0100
 @@ -894,7 +894,7 @@
       */
      void createEntry(int hash, K key, V value, int bucketIndex) {
@@ -5531,8 +5691,8 @@
      }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/HashSet.java openjdk-boot/jdk/src/share/classes/java/util/HashSet.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/HashSet.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/HashSet.java	2017-04-26 16:05:48.599251892 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/HashSet.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/HashSet.java	2017-09-06 18:08:33.924786540 +0100
 @@ -100,7 +100,7 @@
       * default initial capacity (16) and load factor (0.75).
       */
@@ -5579,8 +5739,8 @@
  
      /**
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/Hashtable.java openjdk-boot/jdk/src/share/classes/java/util/Hashtable.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/Hashtable.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/Hashtable.java	2017-04-26 16:05:48.599251892 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/Hashtable.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/Hashtable.java	2017-09-06 18:08:33.924786540 +0100
 @@ -538,7 +538,7 @@
  
          // Creates the new entry.
@@ -5636,8 +5796,8 @@
          }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/IdentityHashMap.java openjdk-boot/jdk/src/share/classes/java/util/IdentityHashMap.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/IdentityHashMap.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/IdentityHashMap.java	2017-04-26 16:05:48.599251892 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/IdentityHashMap.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/IdentityHashMap.java	2017-09-06 18:08:33.924786540 +0100
 @@ -1145,7 +1145,7 @@
              Object[] result = new Object[size];
              Iterator<Map.Entry<K,V>> it = iterator();
@@ -5656,9 +5816,147 @@
              if (a.length > size)
                  a[size] = null;
              return a;
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/jar/Attributes.java openjdk-boot/jdk/src/share/classes/java/util/jar/Attributes.java
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/jar/Attributes.java	2017-09-07 02:54:08.180847792 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/jar/Attributes.java	2017-09-07 03:04:08.603338144 +0100
+@@ -71,7 +71,7 @@
+      * @param size the initial number of attributes
+      */
+     public Attributes(int size) {
+-        map = new HashMap<>(size);
++        map = new HashMap<Object,Object>(size);
+     }
+ 
+     /**
+@@ -81,7 +81,7 @@
+      * @param attr the specified Attributes
+      */
+     public Attributes(Attributes attr) {
+-        map = new HashMap<>(attr);
++        map = new HashMap<Object,Object>(attr);
+     }
+ 
+ 
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/jar/JarVerifier.java openjdk-boot/jdk/src/share/classes/java/util/jar/JarVerifier.java
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/jar/JarVerifier.java	2017-09-07 02:54:08.188847664 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/jar/JarVerifier.java	2017-09-07 02:57:54.461249527 +0100
+@@ -95,10 +95,10 @@
+ 
+     public JarVerifier(byte rawBytes[]) {
+         manifestRawBytes = rawBytes;
+-        sigFileSigners = new Hashtable<>();
+-        verifiedSigners = new Hashtable<>();
+-        sigFileData = new Hashtable<>(11);
+-        pendingBlocks = new ArrayList<>();
++        sigFileSigners = new Hashtable<String, CodeSigner[]>();
++        verifiedSigners = new Hashtable<String, CodeSigner[]>();
++        sigFileData = new Hashtable<String, byte[]>(11);
++        pendingBlocks = new ArrayList<SignatureFileVerifier>();
+         baos = new ByteArrayOutputStream();
+         manifestDigests = new ArrayList();
+     }
+@@ -283,7 +283,7 @@
+                 String key = uname.substring(0, uname.lastIndexOf("."));
+ 
+                 if (signerCache == null)
+-                    signerCache = new ArrayList<>();
++                    signerCache = new ArrayList<CodeSigner[]>();
+ 
+                 if (manDig == null) {
+                     synchronized(manifestRawBytes) {
+@@ -389,7 +389,8 @@
+         CodeSigner[] signers) {
+ 
+         if (signers != null) {
+-            ArrayList<java.security.cert.Certificate> certChains = new ArrayList<>();
++            ArrayList<java.security.cert.Certificate> certChains =
++		new ArrayList<java.security.cert.Certificate>();
+             for (int i = 0; i < signers.length; i++) {
+                 certChains.addAll(
+                     signers[i].getSignerCertPath().getCertificates());
+@@ -505,8 +506,10 @@
+ 
+     // Extended JavaUtilJarAccess CodeSource API Support
+ 
+-    private Map<URL, Map<CodeSigner[], CodeSource>> urlToCodeSourceMap = new HashMap<>();
+-    private Map<CodeSigner[], CodeSource> signerToCodeSource = new HashMap<>();
++    private Map<URL, Map<CodeSigner[], CodeSource>> urlToCodeSourceMap =
++	new HashMap<URL, Map<CodeSigner[], CodeSource>>();
++    private Map<CodeSigner[], CodeSource> signerToCodeSource =
++	new HashMap<CodeSigner[], CodeSource>();
+     private URL lastURL;
+     private Map<CodeSigner[], CodeSource> lastURLMap;
+ 
+@@ -522,7 +525,7 @@
+         } else {
+             map = urlToCodeSourceMap.get(url);
+             if (map == null) {
+-                map = new HashMap<>();
++                map = new HashMap<CodeSigner[], CodeSource>();
+                 urlToCodeSourceMap.put(url, map);
+             }
+             lastURLMap = map;
+@@ -537,7 +540,7 @@
+     }
+ 
+     private CodeSource[] mapSignersToCodeSources(URL url, List<CodeSigner[]> signers, boolean unsigned) {
+-        List<CodeSource> sources = new ArrayList<>();
++        List<CodeSource> sources = new ArrayList<CodeSource>();
+ 
+         for (int i = 0; i < signers.size(); i++) {
+             sources.add(mapSignersToCodeSource(url, signers.get(i)));
+@@ -565,7 +568,7 @@
+          * but this handles a CodeSource of any type, just in case.
+          */
+         CodeSource[] sources = mapSignersToCodeSources(cs.getLocation(), getJarCodeSigners(), true);
+-        List<CodeSource> sourceList = new ArrayList<>();
++        List<CodeSource> sourceList = new ArrayList<CodeSource>();
+         for (int i = 0; i < sources.length; i++) {
+             sourceList.add(sources[i]);
+         }
+@@ -663,7 +666,8 @@
+              * only about the asserted signatures. Verification of
+              * signature validity happens via the JarEntry apis.
+              */
+-            signerMap = new HashMap<>(verifiedSigners.size() + sigFileSigners.size());
++            signerMap =
++		new HashMap<String, CodeSigner[]>(verifiedSigners.size() + sigFileSigners.size());
+             signerMap.putAll(verifiedSigners);
+             signerMap.putAll(sigFileSigners);
+         }
+@@ -679,7 +683,7 @@
+          * Grab a single copy of the CodeSigner arrays. Check
+          * to see if we can optimize CodeSigner equality test.
+          */
+-        List<CodeSigner[]> req = new ArrayList<>(cs.length);
++        List<CodeSigner[]> req = new ArrayList<CodeSigner[]>(cs.length);
+         for (int i = 0; i < cs.length; i++) {
+             CodeSigner[] match = findMatchingSigners(cs[i]);
+             if (match != null) {
+@@ -735,7 +739,7 @@
+      * and includes signed entries with no ZIP data.
+      */
+     public Enumeration<JarEntry> entries2(final JarFile jar, Enumeration<? extends ZipEntry> e) {
+-        final Map<String, CodeSigner[]> map = new HashMap<>();
++        final Map<String, CodeSigner[]> map = new HashMap<String, CodeSigner[]>();
+         map.putAll(signerMap());
+         final Enumeration<? extends ZipEntry> enum_ = e;
+         return new Enumeration<JarEntry>() {
+@@ -840,9 +844,9 @@
+     private synchronized List<CodeSigner[]> getJarCodeSigners() {
+         CodeSigner[] signers;
+         if (jarCodeSigners == null) {
+-            HashSet<CodeSigner[]> set = new HashSet<>();
++            HashSet<CodeSigner[]> set = new HashSet<CodeSigner[]>();
+             set.addAll(signerMap().values());
+-            jarCodeSigners = new ArrayList<>();
++            jarCodeSigners = new ArrayList<CodeSigner[]>();
+             jarCodeSigners.addAll(set);
+         }
+         return jarCodeSigners;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/JumboEnumSet.java openjdk-boot/jdk/src/share/classes/java/util/JumboEnumSet.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/JumboEnumSet.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/JumboEnumSet.java	2017-04-26 16:05:48.599251892 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/JumboEnumSet.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/JumboEnumSet.java	2017-09-06 18:08:33.924786540 +0100
 @@ -91,7 +91,7 @@
       * @return an iterator over the elements contained in this set
       */
@@ -5669,8 +5967,8 @@
  
      private class EnumSetIterator<E extends Enum<E>> implements Iterator<E> {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/LinkedHashMap.java openjdk-boot/jdk/src/share/classes/java/util/LinkedHashMap.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/LinkedHashMap.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/LinkedHashMap.java	2017-04-26 16:05:48.599251892 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/LinkedHashMap.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/LinkedHashMap.java	2017-09-06 18:08:33.924786540 +0100
 @@ -238,7 +238,7 @@
       */
      @Override
@@ -5690,8 +5988,8 @@
          e.addBefore(header);
          size++;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/LinkedList.java openjdk-boot/jdk/src/share/classes/java/util/LinkedList.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/LinkedList.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/LinkedList.java	2017-04-26 16:05:48.599251892 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/LinkedList.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/LinkedList.java	2017-09-06 18:08:33.924786540 +0100
 @@ -122,7 +122,7 @@
       */
      private void linkFirst(E e) {
@@ -5729,8 +6027,8 @@
                  first = newNode;
              else
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/ListResourceBundle.java openjdk-boot/jdk/src/share/classes/java/util/ListResourceBundle.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/ListResourceBundle.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/ListResourceBundle.java	2017-04-26 16:05:48.599251892 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/ListResourceBundle.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/ListResourceBundle.java	2017-09-06 18:08:33.924786540 +0100
 @@ -187,7 +187,7 @@
              return;
  
@@ -5741,8 +6039,8 @@
              // key must be non-null String, value must be non-null
              String key = (String) contents[i][0];
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/Locale.java openjdk-boot/jdk/src/share/classes/java/util/Locale.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/Locale.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/Locale.java	2017-04-26 16:05:48.603251827 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/Locale.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/Locale.java	2017-09-06 18:08:33.924786540 +0100
 @@ -1807,7 +1807,7 @@
                  return formatList(variantNames, listPattern, listCompositionPattern);
              }
@@ -5753,8 +6051,8 @@
              names.add(languageName);
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/logging/FileHandler.java openjdk-boot/jdk/src/share/classes/java/util/logging/FileHandler.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/logging/FileHandler.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/logging/FileHandler.java	2017-04-26 16:05:48.603251827 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/logging/FileHandler.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/logging/FileHandler.java	2017-09-06 18:08:33.924786540 +0100
 @@ -127,7 +127,7 @@
      private FileOutputStream lockStream;
      private File files[];
@@ -5765,8 +6063,8 @@
      // A metered stream is a subclass of OutputStream that
      //   (a) forwards all its output to a target stream
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/logging/Level.java openjdk-boot/jdk/src/share/classes/java/util/logging/Level.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/logging/Level.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/logging/Level.java	2017-04-26 16:05:48.603251827 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/logging/Level.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/logging/Level.java	2017-09-06 18:08:33.928786476 +0100
 @@ -518,8 +518,8 @@
      // were final, the following KnownLevel implementation can be removed.
      // Future API change should take this into consideration.
@@ -5796,8 +6094,8 @@
              }
              list.add(o);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/logging/Logger.java openjdk-boot/jdk/src/share/classes/java/util/logging/Logger.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/logging/Logger.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/logging/Logger.java	2017-04-26 16:05:48.603251827 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/logging/Logger.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/logging/Logger.java	2017-09-06 18:08:33.928786476 +0100
 @@ -177,7 +177,7 @@
      private volatile LogManager manager;
      private String name;
@@ -5817,8 +6115,8 @@
              if (ref == null) {
                  // we didn't have a previous parent
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/logging/Logging.java openjdk-boot/jdk/src/share/classes/java/util/logging/Logging.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/logging/Logging.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/logging/Logging.java	2017-04-26 16:05:48.603251827 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/logging/Logging.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/logging/Logging.java	2017-09-06 18:08:33.928786476 +0100
 @@ -56,7 +56,7 @@
  
      public List<String> getLoggerNames() {
@@ -5829,8 +6127,8 @@
          for (; loggers.hasMoreElements();) {
              array.add((String) loggers.nextElement());
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/logging/LogManager.java openjdk-boot/jdk/src/share/classes/java/util/logging/LogManager.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/logging/LogManager.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/logging/LogManager.java	2017-04-26 16:05:48.603251827 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/logging/LogManager.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/logging/LogManager.java	2017-09-06 18:08:33.928786476 +0100
 @@ -389,7 +389,7 @@
                      // find the AppContext of the applet code
                      // will be null if we are in the main app context.
@@ -5886,8 +6184,8 @@
              int end = ix;
              while (end < hands.length()) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/logging/LogRecord.java openjdk-boot/jdk/src/share/classes/java/util/logging/LogRecord.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/logging/LogRecord.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/logging/LogRecord.java	2017-04-26 16:05:48.603251827 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/logging/LogRecord.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/logging/LogRecord.java	2017-09-06 18:08:33.928786476 +0100
 @@ -85,7 +85,8 @@
      private static final AtomicInteger nextThreadId
          = new AtomicInteger(MIN_SEQUENTIAL_THREAD_ID);
@@ -5908,8 +6206,8 @@
                  params.add(in.readObject());
              }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/prefs/AbstractPreferences.java openjdk-boot/jdk/src/share/classes/java/util/prefs/AbstractPreferences.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/prefs/AbstractPreferences.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/prefs/AbstractPreferences.java	2017-04-26 16:05:48.603251827 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/prefs/AbstractPreferences.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/prefs/AbstractPreferences.java	2017-09-06 18:08:33.928786476 +0100
 @@ -155,7 +155,8 @@
       * All known unremoved children of this node.  (This "cache" is consulted
       * prior to calling childSpi() or getChild().
@@ -5940,8 +6238,8 @@
      /**
       * These two classes are used to distinguish NodeChangeEvents on
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/PriorityQueue.java openjdk-boot/jdk/src/share/classes/java/util/PriorityQueue.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/PriorityQueue.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/PriorityQueue.java	2017-04-26 16:05:48.603251827 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/PriorityQueue.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/PriorityQueue.java	2017-09-06 18:08:33.928786476 +0100
 @@ -538,7 +538,7 @@
                      cursor--;
                  else {
@@ -5952,8 +6250,8 @@
                  }
              } else if (lastRetElt != null) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/Properties.java openjdk-boot/jdk/src/share/classes/java/util/Properties.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/Properties.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/Properties.java	2017-04-26 16:05:48.603251827 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/Properties.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/Properties.java	2017-09-06 18:08:33.928786476 +0100
 @@ -1010,7 +1010,7 @@
       * @since   1.6
       */
@@ -5964,8 +6262,8 @@
          return h.keySet();
      }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/regex/Pattern.java openjdk-boot/jdk/src/share/classes/java/util/regex/Pattern.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/regex/Pattern.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/regex/Pattern.java	2017-04-26 16:05:48.603251827 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/regex/Pattern.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/regex/Pattern.java	2017-09-06 18:08:33.928786476 +0100
 @@ -321,7 +321,7 @@
   *     <td headers="matches">Nothing, but quotes all characters until <tt>\E</tt></td></tr>
   * <tr><td valign="top" headers="construct quot"><tt>\E</tt></td>
@@ -6003,8 +6301,8 @@
          static {
              // Unicode character property aliases, defined in
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/regex/UnicodeProp.java openjdk-boot/jdk/src/share/classes/java/util/regex/UnicodeProp.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/regex/UnicodeProp.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/regex/UnicodeProp.java	2017-04-26 16:05:48.603251827 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/regex/UnicodeProp.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/regex/UnicodeProp.java	2017-09-06 18:08:33.928786476 +0100
 @@ -193,8 +193,8 @@
          }
      };
@@ -6017,8 +6315,8 @@
          posix.put("ALPHA", "ALPHABETIC");
          posix.put("LOWER", "LOWERCASE");
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/RegularEnumSet.java openjdk-boot/jdk/src/share/classes/java/util/RegularEnumSet.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/RegularEnumSet.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/RegularEnumSet.java	2017-04-26 16:05:48.603251827 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/RegularEnumSet.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/RegularEnumSet.java	2017-09-06 18:08:33.928786476 +0100
 @@ -72,7 +72,7 @@
       * @return an iterator over the elements contained in this set
       */
@@ -6029,8 +6327,8 @@
  
      private class EnumSetIterator<E extends Enum<E>> implements Iterator<E> {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/ResourceBundle.java openjdk-boot/jdk/src/share/classes/java/util/ResourceBundle.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/ResourceBundle.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/ResourceBundle.java	2017-04-26 16:05:48.603251827 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/ResourceBundle.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/ResourceBundle.java	2017-09-06 18:08:33.928786476 +0100
 @@ -291,7 +291,7 @@
       * name for compatibility with some workarounds for bug 4212439.
       */
@@ -6095,8 +6393,8 @@
                  if (variants != null) {
                      for (String v : variants) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/ServiceLoader.java openjdk-boot/jdk/src/share/classes/java/util/ServiceLoader.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/ServiceLoader.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/ServiceLoader.java	2017-04-26 16:05:48.603251827 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/ServiceLoader.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/ServiceLoader.java	2017-09-06 18:08:33.928786476 +0100
 @@ -191,7 +191,7 @@
      private ClassLoader loader;
  
@@ -6125,8 +6423,8 @@
  
      /**
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/TimSort.java openjdk-boot/jdk/src/share/classes/java/util/TimSort.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/TimSort.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/TimSort.java	2017-04-26 16:05:48.603251827 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/TimSort.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/TimSort.java	2017-09-06 18:08:33.928786476 +0100
 @@ -196,7 +196,7 @@
           * extending short natural runs to minRun elements, and merging runs
           * to maintain stack invariant.
@@ -6137,8 +6435,8 @@
          do {
              // Identify next run
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/TreeMap.java openjdk-boot/jdk/src/share/classes/java/util/TreeMap.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/TreeMap.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/TreeMap.java	2017-04-26 16:05:48.607251762 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/TreeMap.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/TreeMap.java	2017-09-06 18:08:33.928786476 +0100
 @@ -530,7 +530,7 @@
          if (t == null) {
              compare(key, key); // type (and possibly null) check
@@ -6194,8 +6492,8 @@
          // color nodes in non-full bottommost level red
          if (level == redLevel)
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/TreeSet.java openjdk-boot/jdk/src/share/classes/java/util/TreeSet.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/TreeSet.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/TreeSet.java	2017-04-26 16:05:48.607251762 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/TreeSet.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/TreeSet.java	2017-09-06 18:08:33.932786411 +0100
 @@ -138,7 +138,7 @@
       *        ordering} of the elements will be used.
       */
@@ -6263,8 +6561,8 @@
  
          // Read in size
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/WeakHashMap.java openjdk-boot/jdk/src/share/classes/java/util/WeakHashMap.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/WeakHashMap.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/WeakHashMap.java	2017-04-26 16:05:48.607251762 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/WeakHashMap.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/WeakHashMap.java	2017-09-06 18:08:33.932786411 +0100
 @@ -172,7 +172,7 @@
      /**
       * Reference queue for cleared WeakEntries
@@ -6297,9 +6595,9 @@
          }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/zip/ZipFile.java openjdk-boot/jdk/src/share/classes/java/util/zip/ZipFile.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/zip/ZipFile.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/zip/ZipFile.java	2017-04-26 16:05:48.607251762 +0100
-@@ -321,7 +321,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/zip/ZipFile.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/zip/ZipFile.java	2017-09-06 18:08:33.932786411 +0100
+@@ -336,7 +336,7 @@
  
      // the outstanding inputstreams that need to be closed,
      // mapped to the inflater objects they use.
@@ -6308,7 +6606,7 @@
  
      /**
       * Returns an input stream for reading the contents of the specified
-@@ -463,7 +463,7 @@
+@@ -478,7 +478,7 @@
      }
  
      // List of available Inflater objects for decompression
@@ -6317,7 +6615,7 @@
  
      /**
       * Returns the path name of the ZIP file.
-@@ -579,7 +579,7 @@
+@@ -596,7 +596,7 @@
              // Close streams, release their inflaters
              synchronized (streams) {
                  if (false == streams.isEmpty()) {
@@ -6327,8 +6625,8 @@
                      for (Map.Entry<InputStream, Inflater> e : copy.entrySet()) {
                          e.getKey().close();
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/zip/ZipOutputStream.java openjdk-boot/jdk/src/share/classes/java/util/zip/ZipOutputStream.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/zip/ZipOutputStream.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/zip/ZipOutputStream.java	2017-04-26 16:05:48.607251762 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/zip/ZipOutputStream.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/zip/ZipOutputStream.java	2017-09-06 18:08:33.932786411 +0100
 @@ -53,8 +53,8 @@
      }
  
@@ -6341,8 +6639,8 @@
      private long written = 0;
      private long locoff = 0;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/crypto/Cipher.java openjdk-boot/jdk/src/share/classes/javax/crypto/Cipher.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/crypto/Cipher.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/crypto/Cipher.java	2017-04-26 16:05:48.607251762 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/crypto/Cipher.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/crypto/Cipher.java	2017-09-06 18:08:33.932786411 +0100
 @@ -417,7 +417,7 @@
              return Collections.singletonList(tr);
          } else { // if ((mode != null) && (pad != null)) {
@@ -6362,8 +6660,8 @@
              cipherServices.add(new ServiceId("Cipher", transform.transform));
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/crypto/CryptoAllPermission.java openjdk-boot/jdk/src/share/classes/javax/crypto/CryptoAllPermission.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/crypto/CryptoAllPermission.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/crypto/CryptoAllPermission.java	2017-04-26 16:05:48.607251762 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/crypto/CryptoAllPermission.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/crypto/CryptoAllPermission.java	2017-09-06 18:08:33.932786411 +0100
 @@ -172,7 +172,7 @@
       * @return an enumeration of all the CryptoAllPermission objects.
       */
@@ -6374,8 +6672,8 @@
          return v.elements();
      }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/crypto/CryptoPermissions.java openjdk-boot/jdk/src/share/classes/javax/crypto/CryptoPermissions.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/crypto/CryptoPermissions.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/crypto/CryptoPermissions.java	2017-04-26 16:05:48.607251762 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/crypto/CryptoPermissions.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/crypto/CryptoPermissions.java	2017-09-06 18:08:33.932786411 +0100
 @@ -84,7 +84,7 @@
       * no CryptoPermissionCollections.
       */
@@ -6423,8 +6721,8 @@
          fields.put("perms", permTable);
          s.writeFields();
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/crypto/CryptoPolicyParser.java openjdk-boot/jdk/src/share/classes/javax/crypto/CryptoPolicyParser.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/crypto/CryptoPolicyParser.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/crypto/CryptoPolicyParser.java	2017-04-26 16:05:48.607251762 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/crypto/CryptoPolicyParser.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/crypto/CryptoPolicyParser.java	2017-09-06 18:08:33.932786411 +0100
 @@ -252,7 +252,7 @@
              // AlgorithmParameterSpec class name.
              String algParamSpecClassName = match("quoted string");
@@ -6453,8 +6751,8 @@
              processedPermissions.put(alg, exemptionMechanisms);
              return true;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/crypto/JceSecurity.java openjdk-boot/jdk/src/share/classes/javax/crypto/JceSecurity.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/crypto/JceSecurity.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/crypto/JceSecurity.java	2017-04-26 16:05:48.607251762 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/crypto/JceSecurity.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/crypto/JceSecurity.java	2017-09-06 18:08:33.932786411 +0100
 @@ -58,11 +58,11 @@
      // value == PROVIDER_VERIFIED is successfully verified
      // value is failure cause Exception in error case
@@ -6479,8 +6777,8 @@
      /*
       * Returns the CodeBase for the given class.
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/crypto/JceSecurityManager.java openjdk-boot/jdk/src/share/classes/javax/crypto/JceSecurityManager.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/crypto/JceSecurityManager.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/crypto/JceSecurityManager.java	2017-04-26 16:05:48.607251762 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/crypto/JceSecurityManager.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/crypto/JceSecurityManager.java	2017-09-06 18:08:33.932786411 +0100
 @@ -52,9 +52,9 @@
      private static final CryptoPermissions exemptPolicy;
      private static final CryptoAllPermission allPerm;
@@ -6493,9 +6791,22 @@
      private static final CryptoPermissions CACHE_NULL_MARK =
              new CryptoPermissions();
  
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/imageio/spi/ServiceRegistry.java openjdk-boot/jdk/src/share/classes/javax/imageio/spi/ServiceRegistry.java
+--- openjdk-boot.orig/jdk/src/share/classes/javax/imageio/spi/ServiceRegistry.java	2017-09-07 02:54:08.220847155 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/imageio/spi/ServiceRegistry.java	2017-09-07 03:03:51.427606594 +0100
+@@ -698,7 +698,8 @@
+ 
+     // Class -> Provider Object of that class
+     final Map<Class<?>,Object> map = new HashMap();
+-    final Map<Class<?>,AccessControlContext> accMap = new HashMap<>();
++    final Map<Class<?>,AccessControlContext> accMap =
++	new HashMap<Class<?>, AccessControlContext>();
+ 
+     public SubRegistry(ServiceRegistry registry, Class category) {
+         this.registry = registry;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/management/remote/rmi/RMIJRMPServerImpl.java openjdk-boot/jdk/src/share/classes/javax/management/remote/rmi/RMIJRMPServerImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/management/remote/rmi/RMIJRMPServerImpl.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/management/remote/rmi/RMIJRMPServerImpl.java	2017-04-26 16:05:48.607251762 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/management/remote/rmi/RMIJRMPServerImpl.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/management/remote/rmi/RMIJRMPServerImpl.java	2017-09-06 18:08:33.932786411 +0100
 @@ -103,7 +103,7 @@
                  = (String[]) this.env.get(EnvHelp.CREDENTIAL_TYPES);
          List<String> types = null;
@@ -6506,8 +6817,8 @@
                  if (type == null) {
                      throw new IllegalArgumentException("A credential type is null.");
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/naming/directory/BasicAttribute.java openjdk-boot/jdk/src/share/classes/javax/naming/directory/BasicAttribute.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/naming/directory/BasicAttribute.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/naming/directory/BasicAttribute.java	2017-04-26 16:05:48.607251762 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/naming/directory/BasicAttribute.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/naming/directory/BasicAttribute.java	2017-09-06 18:09:00.976351841 +0100
 @@ -255,7 +255,7 @@
        */
      public BasicAttribute(String id, boolean ordered) {
@@ -6521,14 +6832,14 @@
              throws java.io.IOException, ClassNotFoundException {
          s.defaultReadObject();  // read in the attrID
          int n = s.readInt();    // number of values
--        values = new Vector<>(n);
-+        values = new Vector<Object>(n);
+-        values = new Vector<>(Math.min(1024, n));
++        values = new Vector<Object>(Math.min(1024, n));
          while (--n >= 0) {
              values.addElement(s.readObject());
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/naming/directory/BasicAttributes.java openjdk-boot/jdk/src/share/classes/javax/naming/directory/BasicAttributes.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/naming/directory/BasicAttributes.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/naming/directory/BasicAttributes.java	2017-04-26 16:05:48.607251762 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/naming/directory/BasicAttributes.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/naming/directory/BasicAttributes.java	2017-09-06 18:08:33.932786411 +0100
 @@ -79,7 +79,7 @@
      // If ignoreCase is true, key is aways lowercase.
      // If ignoreCase is false, key is stored as supplied by put().
@@ -6539,8 +6850,8 @@
      /**
        * Constructs a new instance of Attributes.
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/naming/ldap/InitialLdapContext.java openjdk-boot/jdk/src/share/classes/javax/naming/ldap/InitialLdapContext.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/naming/ldap/InitialLdapContext.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/naming/ldap/InitialLdapContext.java	2017-04-26 16:05:48.607251762 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/naming/ldap/InitialLdapContext.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/naming/ldap/InitialLdapContext.java	2017-09-06 18:08:33.932786411 +0100
 @@ -137,7 +137,7 @@
  
          // Clone environment since caller owns it.
@@ -6551,8 +6862,8 @@
  
          // Put connect controls into environment.  Copy them first since
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/naming/ldap/LdapName.java openjdk-boot/jdk/src/share/classes/javax/naming/ldap/LdapName.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/naming/ldap/LdapName.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/naming/ldap/LdapName.java	2017-04-26 16:05:48.607251762 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/naming/ldap/LdapName.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/naming/ldap/LdapName.java	2017-09-06 18:08:33.932786411 +0100
 @@ -142,7 +142,7 @@
          //              "Invalid entries, list entries must be of type Rdn");
          //  }
@@ -6572,8 +6883,8 @@
  
      /**
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/naming/ldap/Rdn.java openjdk-boot/jdk/src/share/classes/javax/naming/ldap/Rdn.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/naming/ldap/Rdn.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/naming/ldap/Rdn.java	2017-04-26 16:05:48.607251762 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/naming/ldap/Rdn.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/naming/ldap/Rdn.java	2017-09-06 18:08:33.932786411 +0100
 @@ -130,7 +130,7 @@
          if (attrSet.size() == 0) {
              throw new InvalidNameException("Attributes cannot be empty");
@@ -6629,8 +6940,8 @@
          try {
              (new Rfc2253Parser(unparsed)).parseRdn(this);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/naming/ldap/Rfc2253Parser.java openjdk-boot/jdk/src/share/classes/javax/naming/ldap/Rfc2253Parser.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/naming/ldap/Rfc2253Parser.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/naming/ldap/Rfc2253Parser.java	2017-04-26 16:05:48.607251762 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/naming/ldap/Rfc2253Parser.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/naming/ldap/Rfc2253Parser.java	2017-09-06 18:08:33.932786411 +0100
 @@ -61,7 +61,7 @@
              //  new ArrayList<Rdn>(len / 3 + 10);  // leave room for growth
  
@@ -6641,8 +6952,8 @@
              if (len == 0) {
                  return rdns;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/naming/NameImpl.java openjdk-boot/jdk/src/share/classes/javax/naming/NameImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/naming/NameImpl.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/naming/NameImpl.java	2017-04-26 16:05:48.607251762 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/naming/NameImpl.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/naming/NameImpl.java	2017-09-06 18:08:33.932786411 +0100
 @@ -272,7 +272,7 @@
          if (syntax != null) {
              recordNamingConvention(syntax);
@@ -6653,8 +6964,8 @@
  
      NameImpl(Properties syntax, String n) throws InvalidNameException {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/naming/Reference.java openjdk-boot/jdk/src/share/classes/javax/naming/Reference.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/naming/Reference.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/naming/Reference.java	2017-04-26 16:05:48.607251762 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/naming/Reference.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/naming/Reference.java	2017-09-06 18:08:33.932786411 +0100
 @@ -120,7 +120,7 @@
        */
      public Reference(String className) {
@@ -6683,8 +6994,8 @@
          while (a.hasMoreElements())
              r.addrs.addElement(a.nextElement());
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/naming/spi/DirectoryManager.java openjdk-boot/jdk/src/share/classes/javax/naming/spi/DirectoryManager.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/naming/spi/DirectoryManager.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/naming/spi/DirectoryManager.java	2017-04-26 16:05:48.607251762 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/naming/spi/DirectoryManager.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/naming/spi/DirectoryManager.java	2017-09-06 18:08:33.932786411 +0100
 @@ -90,7 +90,7 @@
  
          Hashtable<Object,Object> env = (Hashtable<Object,Object>)cpe.getEnvironment();
@@ -6695,8 +7006,8 @@
              // Make a (shallow) copy of the environment.
              env = (Hashtable<Object,Object>) env.clone();
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/naming/spi/NamingManager.java openjdk-boot/jdk/src/share/classes/javax/naming/spi/NamingManager.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/naming/spi/NamingManager.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/naming/spi/NamingManager.java	2017-04-26 16:05:48.607251762 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/naming/spi/NamingManager.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/naming/spi/NamingManager.java	2017-09-06 18:08:33.932786411 +0100
 @@ -777,7 +777,7 @@
  
          Hashtable<Object,Object> env = (Hashtable<Object,Object>)cpe.getEnvironment();
@@ -6707,8 +7018,8 @@
              // Make a (shallow) copy of the environment.
              env = (Hashtable<Object,Object>)env.clone();
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/script/ScriptEngineManager.java openjdk-boot/jdk/src/share/classes/javax/script/ScriptEngineManager.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/script/ScriptEngineManager.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/script/ScriptEngineManager.java	2017-04-26 16:05:48.607251762 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/script/ScriptEngineManager.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/script/ScriptEngineManager.java	2017-09-06 18:08:33.932786411 +0100
 @@ -116,7 +116,7 @@
              return null;
          }
@@ -6719,8 +7030,8 @@
              while (itr.hasNext()) {
                  try {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/security/auth/kerberos/DelegationPermission.java openjdk-boot/jdk/src/share/classes/javax/security/auth/kerberos/DelegationPermission.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/security/auth/kerberos/DelegationPermission.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/security/auth/kerberos/DelegationPermission.java	2017-04-26 16:05:48.611251698 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/security/auth/kerberos/DelegationPermission.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/security/auth/kerberos/DelegationPermission.java	2017-09-06 18:08:33.932786411 +0100
 @@ -361,7 +361,7 @@
          // Don't call out.defaultWriteObject()
  
@@ -6731,8 +7042,8 @@
          synchronized (this) {
              permissions.addAll(perms);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/security/auth/kerberos/ServicePermission.java openjdk-boot/jdk/src/share/classes/javax/security/auth/kerberos/ServicePermission.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/security/auth/kerberos/ServicePermission.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/security/auth/kerberos/ServicePermission.java	2017-04-26 16:05:48.611251698 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/security/auth/kerberos/ServicePermission.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/security/auth/kerberos/ServicePermission.java	2017-09-06 18:08:33.936786347 +0100
 @@ -590,7 +590,7 @@
          // Don't call out.defaultWriteObject()
  
@@ -6743,8 +7054,8 @@
          synchronized (this) {
              permissions.addAll(perms);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/security/auth/PrivateCredentialPermission.java openjdk-boot/jdk/src/share/classes/javax/security/auth/PrivateCredentialPermission.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/security/auth/PrivateCredentialPermission.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/security/auth/PrivateCredentialPermission.java	2017-04-26 16:05:48.611251698 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/security/auth/PrivateCredentialPermission.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/security/auth/PrivateCredentialPermission.java	2017-09-06 18:08:33.936786347 +0100
 @@ -329,7 +329,7 @@
              throw new IllegalArgumentException("invalid empty name");
          }
@@ -6755,8 +7066,8 @@
          String principalClass = null;
          String principalName = null;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/security/auth/SubjectDomainCombiner.java openjdk-boot/jdk/src/share/classes/javax/security/auth/SubjectDomainCombiner.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/security/auth/SubjectDomainCombiner.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/security/auth/SubjectDomainCombiner.java	2017-04-26 16:05:48.611251698 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/security/auth/SubjectDomainCombiner.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/security/auth/SubjectDomainCombiner.java	2017-09-06 18:08:33.936786347 +0100
 @@ -50,7 +50,7 @@
  
      private Subject subject;
@@ -6767,8 +7078,8 @@
      private Principal[] principals;
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/swing/JDesktopPane.java openjdk-boot/jdk/src/share/classes/javax/swing/JDesktopPane.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/swing/JDesktopPane.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/swing/JDesktopPane.java	2017-04-26 16:05:48.611251698 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/swing/JDesktopPane.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/swing/JDesktopPane.java	2017-09-06 18:08:33.936786347 +0100
 @@ -267,7 +267,7 @@
  
      private static Collection<JInternalFrame> getAllFrames(Container parent) {
@@ -6779,8 +7090,8 @@
          for (i = 0; i < count; i++) {
              Component next = parent.getComponent(i);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/jdk/net/Sockets.java openjdk-boot/jdk/src/share/classes/jdk/net/Sockets.java
---- openjdk-boot.orig/jdk/src/share/classes/jdk/net/Sockets.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/jdk/net/Sockets.java	2017-04-26 16:05:48.611251698 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/jdk/net/Sockets.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/jdk/net/Sockets.java	2017-09-06 18:08:33.936786347 +0100
 @@ -58,7 +58,7 @@
  public class Sockets {
  
@@ -6827,8 +7138,8 @@
          set.add(StandardSocketOptions.SO_RCVBUF);
          set.add(StandardSocketOptions.SO_REUSEADDR);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/Policy.java openjdk-boot/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/Policy.java
---- openjdk-boot.orig/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/Policy.java	2017-04-26 15:02:11.528826395 +0100
-+++ openjdk-boot/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/Policy.java	2017-04-26 16:05:48.611251698 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/Policy.java	2017-09-06 17:44:06.792393468 +0100
++++ openjdk-boot/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/Policy.java	2017-09-06 18:08:33.936786347 +0100
 @@ -46,11 +46,11 @@
  public final class Policy {
  
@@ -6845,8 +7156,8 @@
      private static boolean noRMLoops = false;
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/awt/im/ExecutableInputMethodManager.java openjdk-boot/jdk/src/share/classes/sun/awt/im/ExecutableInputMethodManager.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/awt/im/ExecutableInputMethodManager.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/awt/im/ExecutableInputMethodManager.java	2017-04-26 16:05:48.611251698 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/awt/im/ExecutableInputMethodManager.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/awt/im/ExecutableInputMethodManager.java	2017-09-06 18:08:33.936786347 +0100
 @@ -96,7 +96,7 @@
      // IM preference stuff
      private static final String preferredIMNode = "/sun/awt/im/preferredInputMethod";
@@ -6857,8 +7168,8 @@
  
      ExecutableInputMethodManager() {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/awt/im/InputContext.java openjdk-boot/jdk/src/share/classes/sun/awt/im/InputContext.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/awt/im/InputContext.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/awt/im/InputContext.java	2017-04-26 16:05:48.611251698 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/awt/im/InputContext.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/awt/im/InputContext.java	2017-09-06 18:08:33.936786347 +0100
 @@ -552,10 +552,10 @@
  
              // keep the input method instance around for future use
@@ -6882,8 +7193,8 @@
              perInputMethodState.put(requester, Boolean.valueOf(enable));
              return;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/font/CreatedFontTracker.java openjdk-boot/jdk/src/share/classes/sun/font/CreatedFontTracker.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/font/CreatedFontTracker.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/font/CreatedFontTracker.java	2017-04-26 16:05:48.611251698 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/font/CreatedFontTracker.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/font/CreatedFontTracker.java	2017-09-06 18:08:33.936786347 +0100
 @@ -109,7 +109,7 @@
       * Note that this only applies to createFont() from an InputStream object.
       */
@@ -6894,8 +7205,8 @@
          private static Thread t = null;
          static void init() {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/invoke/util/ValueConversions.java openjdk-boot/jdk/src/share/classes/sun/invoke/util/ValueConversions.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/invoke/util/ValueConversions.java	2017-04-26 15:02:12.612808977 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/invoke/util/ValueConversions.java	2017-04-26 16:05:48.611251698 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/invoke/util/ValueConversions.java	2017-09-06 17:44:07.064389085 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/invoke/util/ValueConversions.java	2017-09-06 18:08:33.936786347 +0100
 @@ -60,7 +60,7 @@
          EnumMap<Wrapper, MethodHandle>[] caches
                  = (EnumMap<Wrapper, MethodHandle>[]) new EnumMap<?,?>[n];
@@ -6933,8 +7244,8 @@
              MethodHandle mh = findCollector("list", mhs.size(), List.class);
              if (mh == null)  break;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/io/CharacterEncoding.java openjdk-boot/jdk/src/share/classes/sun/io/CharacterEncoding.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/io/CharacterEncoding.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/io/CharacterEncoding.java	2017-04-26 16:05:48.611251698 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/io/CharacterEncoding.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/io/CharacterEncoding.java	2017-09-06 18:08:33.936786347 +0100
 @@ -54,7 +54,7 @@
      private static volatile boolean installedAll;
  
@@ -6945,8 +7256,8 @@
          aliasTable.put("us-ascii",              "ASCII");
          aliasTable.put("ascii",                 "ASCII");
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/io/Converters.java openjdk-boot/jdk/src/share/classes/sun/io/Converters.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/io/Converters.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/io/Converters.java	2017-04-26 16:05:48.611251698 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/io/Converters.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/io/Converters.java	2017-09-06 18:08:33.936786347 +0100
 @@ -120,7 +120,7 @@
  
      private static Class<?> cache(int type, Object encoding, Class<?> c) {
@@ -6957,8 +7268,8 @@
          return c;
      }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMSProfile.java openjdk-boot/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMSProfile.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMSProfile.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMSProfile.java	2017-04-26 16:05:48.611251698 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMSProfile.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMSProfile.java	2017-09-06 18:08:33.936786347 +0100
 @@ -61,7 +61,7 @@
  
          TagCache(LCMSProfile p) {
@@ -6969,8 +7280,8 @@
  
          TagData getTag(int sig) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/launcher/LauncherHelper.java openjdk-boot/jdk/src/share/classes/sun/launcher/LauncherHelper.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/launcher/LauncherHelper.java	2017-04-26 15:02:12.596809236 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/launcher/LauncherHelper.java	2017-04-26 16:05:48.611251698 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/launcher/LauncherHelper.java	2017-09-06 17:44:07.044389407 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/launcher/LauncherHelper.java	2017-09-06 18:08:33.936786347 +0100
 @@ -171,7 +171,7 @@
      private static void printProperties(PrintStream ostream) {
          Properties p = System.getProperties();
@@ -7007,9 +7318,120 @@
          if (trace) {
              System.err.println("Incoming arguments:");
          }
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/management/ConnectorAddressLink.java openjdk-boot/jdk/src/share/classes/sun/management/ConnectorAddressLink.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/management/ConnectorAddressLink.java	2017-09-07 02:54:08.268846392 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/management/ConnectorAddressLink.java	2017-09-07 03:03:32.763898282 +0100
+@@ -168,7 +168,7 @@
+             throw new IOException(iae.getMessage());
+         }
+         List<Counter> counters = new PerfInstrumentation(bb).getAllCounters();
+-        Map<String, String> properties = new HashMap<>();
++        Map<String, String> properties = new HashMap<String, String>();
+         for (Counter c : counters) {
+             String name =  c.getName();
+             if (name.startsWith(REMOTE_CONNECTOR_COUNTER_PREFIX) &&
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/management/counter/perf/PerfInstrumentation.java openjdk-boot/jdk/src/share/classes/sun/management/counter/perf/PerfInstrumentation.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/management/counter/perf/PerfInstrumentation.java	2017-09-07 02:54:08.280846201 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/management/counter/perf/PerfInstrumentation.java	2017-09-07 03:00:35.210692739 +0100
+@@ -73,7 +73,7 @@
+         buffer.position(prologue.getEntryOffset());
+         nextEntry = buffer.position();
+         // rebuild all the counters
+-        map = new TreeMap<>();
++        map = new TreeMap<String, Counter>();
+     }
+ 
+     boolean hasNext() {
+@@ -154,7 +154,7 @@
+                 map.put(c.getName(), c);
+             }
+         }
+-        return new ArrayList<>(map.values());
++        return new ArrayList<Counter>(map.values());
+     }
+ 
+     public synchronized List<Counter> findByPattern(String patternString) {
+@@ -167,7 +167,7 @@
+ 
+         Pattern pattern = Pattern.compile(patternString);
+         Matcher matcher = pattern.matcher("");
+-        List<Counter> matches = new ArrayList<>();
++        List<Counter> matches = new ArrayList<Counter>();
+ 
+ 
+         for (Map.Entry<String,Counter> me: map.entrySet()) {
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/management/Flag.java openjdk-boot/jdk/src/share/classes/sun/management/Flag.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/management/Flag.java	2017-09-07 02:54:08.292846011 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/management/Flag.java	2017-09-07 03:03:26.060003050 +0100
+@@ -91,7 +91,7 @@
+         Flag[] flags = new Flag[numFlags];
+         int count = getFlags(names, flags, numFlags);
+ 
+-        List<Flag> result = new ArrayList<>();
++        List<Flag> result = new ArrayList<Flag>();
+         for (Flag f : flags) {
+             if (f != null) {
+                 result.add(f);
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/management/GarbageCollectionNotifInfoCompositeData.java openjdk-boot/jdk/src/share/classes/sun/management/GarbageCollectionNotifInfoCompositeData.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/management/GarbageCollectionNotifInfoCompositeData.java	2017-09-07 02:54:08.300845883 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/management/GarbageCollectionNotifInfoCompositeData.java	2017-09-07 03:03:17.724133319 +0100
+@@ -137,7 +137,7 @@
+         GC_INFO
+     };
+     private static HashMap<GcInfoBuilder,CompositeType> compositeTypeByBuilder =
+-        new HashMap<>();
++        new HashMap<GcInfoBuilder, CompositeType>();
+ 
+     public static String getGcName(CompositeData cd) {
+         String gcname = getString(cd, GC_NAME);
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/management/HotspotCompilation.java openjdk-boot/jdk/src/share/classes/sun/management/HotspotCompilation.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/management/HotspotCompilation.java	2017-09-07 02:54:08.320845566 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/management/HotspotCompilation.java	2017-09-07 03:02:50.924552104 +0100
+@@ -136,7 +136,7 @@
+ 
+     private void initCompilerCounters() {
+         // Build a tree map of the current list of performance counters
+-        counters = new TreeMap<>();
++        counters = new TreeMap<String, Counter>();
+         for (Counter c: getInternalCompilerCounters()) {
+             counters.put(c.getName(), c);
+         }
+@@ -198,7 +198,7 @@
+     }
+ 
+     public java.util.List<CompilerThreadStat> getCompilerThreadStats() {
+-        List<CompilerThreadStat> list = new ArrayList<>(threads.length);
++        List<CompilerThreadStat> list = new ArrayList<CompilerThreadStat>(threads.length);
+         int i = 0;
+         if (threads[0] == null) {
+             // no adaptor thread
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/management/HotSpotDiagnostic.java openjdk-boot/jdk/src/share/classes/sun/management/HotSpotDiagnostic.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/management/HotSpotDiagnostic.java	2017-09-07 02:54:08.336845311 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/management/HotSpotDiagnostic.java	2017-09-07 03:03:06.396310339 +0100
+@@ -69,7 +69,7 @@
+ 
+     public List<VMOption> getDiagnosticOptions() {
+         List<Flag> allFlags = Flag.getAllFlags();
+-        List<VMOption> result = new ArrayList<>();
++        List<VMOption> result = new ArrayList<VMOption>();
+         for (Flag flag : allFlags) {
+             if (flag.isWriteable() && flag.isExternal()) {
+                 result.add(flag.getVMOption());
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/management/HotspotThread.java openjdk-boot/jdk/src/share/classes/sun/management/HotspotThread.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/management/HotspotThread.java	2017-09-07 02:54:08.344845184 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/management/HotspotThread.java	2017-09-07 03:04:47.106736290 +0100
+@@ -58,7 +58,7 @@
+         String[] names = new String[count];
+         long[] times = new long[count];
+         int numThreads = getInternalThreadTimes0(names, times);
+-        Map<String, Long> result = new HashMap<>(numThreads);
++        Map<String, Long> result = new HashMap<String, Long>(numThreads);
+         for (int i = 0; i < numThreads; i++) {
+             result.put(names[i], new Long(times[i]));
+         }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/management/jdp/JdpPacketReader.java openjdk-boot/jdk/src/share/classes/sun/management/jdp/JdpPacketReader.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/management/jdp/JdpPacketReader.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/management/jdp/JdpPacketReader.java	2017-04-26 16:05:48.611251698 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/management/jdp/JdpPacketReader.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/management/jdp/JdpPacketReader.java	2017-09-06 18:08:33.936786347 +0100
 @@ -120,7 +120,7 @@
  
          String key = null, value = null;
@@ -7019,9 +7441,75 @@
          try {
              while (true) {
                  key = getEntry();
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/management/jmxremote/ConnectorBootstrap.java openjdk-boot/jdk/src/share/classes/sun/management/jmxremote/ConnectorBootstrap.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/management/jmxremote/ConnectorBootstrap.java	2017-09-07 02:54:08.368844802 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/management/jmxremote/ConnectorBootstrap.java	2017-09-07 03:01:51.473480974 +0100
+@@ -244,7 +244,7 @@
+                 }
+             }
+ 
+-            final Set<String> principalsStr = new HashSet<>();
++            final Set<String> principalsStr = new HashSet<String>();
+             for (Principal p2: principals) {
+                 principalsStr.add(p2.getName());
+             }
+@@ -483,7 +483,7 @@
+         try {
+             // Export remote connector address and associated configuration
+             // properties to the instrumentation buffer.
+-            Map<String, String> properties = new HashMap<>();
++            Map<String, String> properties = new HashMap<String, String>();
+             properties.put("remoteAddress", url.toString());
+             properties.put("authenticate", useAuthenticationStr);
+             properties.put("ssl", useSslStr);
+@@ -509,7 +509,7 @@
+         System.setProperty("java.rmi.server.randomIDs", "true");
+ 
+         // This RMI server should not keep the VM alive
+-        Map<String, Object> env = new HashMap<>();
++        Map<String, Object> env = new HashMap<String, Object>();
+         env.put(RMIExporter.EXPORTER_ATTRIBUTE, new PermanentExporter());
+         env.put(EnvHelp.CREDENTIAL_TYPES, new String[]{
+             String[].class.getName(), String.class.getName()
+@@ -739,7 +739,7 @@
+ 
+         JMXServiceURL url = new JMXServiceURL("rmi", bindAddress, rmiPort);
+ 
+-        Map<String, Object> env = new HashMap<>();
++        Map<String, Object> env = new HashMap<String, Object>();
+ 
+         PermanentExporter exporter = new PermanentExporter();
+ 
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/management/ManagementFactoryHelper.java openjdk-boot/jdk/src/share/classes/sun/management/ManagementFactoryHelper.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/management/ManagementFactoryHelper.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/management/ManagementFactoryHelper.java	2017-04-26 16:05:48.611251698 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/management/ManagementFactoryHelper.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/management/ManagementFactoryHelper.java	2017-09-07 03:01:02.418259944 +0100
+@@ -110,7 +110,7 @@
+ 
+     public static List<MemoryPoolMXBean> getMemoryPoolMXBeans() {
+         MemoryPoolMXBean[] pools = MemoryImpl.getMemoryPools();
+-        List<MemoryPoolMXBean> list = new ArrayList<>(pools.length);
++        List<MemoryPoolMXBean> list = new ArrayList<MemoryPoolMXBean>(pools.length);
+         for (MemoryPoolMXBean p : pools) {
+             list.add(p);
+         }
+@@ -119,7 +119,7 @@
+ 
+     public static List<MemoryManagerMXBean> getMemoryManagerMXBeans() {
+         MemoryManagerMXBean[]  mgrs = MemoryImpl.getMemoryManagers();
+-        List<MemoryManagerMXBean> result = new ArrayList<>(mgrs.length);
++        List<MemoryManagerMXBean> result = new ArrayList<MemoryManagerMXBean>(mgrs.length);
+         for (MemoryManagerMXBean m : mgrs) {
+             result.add(m);
+         }
+@@ -128,7 +128,7 @@
+ 
+     public static List<GarbageCollectorMXBean> getGarbageCollectorMXBeans() {
+         MemoryManagerMXBean[]  mgrs = MemoryImpl.getMemoryManagers();
+-        List<GarbageCollectorMXBean> result = new ArrayList<>(mgrs.length);
++        List<GarbageCollectorMXBean> result = new ArrayList<GarbageCollectorMXBean>(mgrs.length);
+         for (MemoryManagerMXBean m : mgrs) {
+             if (GarbageCollectorMXBean.class.isInstance(m)) {
+                  result.add(GarbageCollectorMXBean.class.cast(m));
 @@ -205,7 +205,7 @@
      private static List<BufferPoolMXBean> bufferPools = null;
      public static synchronized List<BufferPoolMXBean> getBufferPoolMXBeans() {
@@ -7031,9 +7519,119 @@
              bufferPools.add(createBufferPoolMXBean(sun.misc.SharedSecrets.getJavaNioAccess()
                  .getDirectBufferPool()));
              bufferPools.add(createBufferPoolMXBean(sun.nio.ch.FileChannelImpl
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/management/MappedMXBeanType.java openjdk-boot/jdk/src/share/classes/sun/management/MappedMXBeanType.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/management/MappedMXBeanType.java	2017-09-07 02:54:08.388844484 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/management/MappedMXBeanType.java	2017-09-07 02:59:35.679639659 +0100
+@@ -62,7 +62,7 @@
+ @SuppressWarnings("unchecked")
+ public abstract class MappedMXBeanType {
+     private static final WeakHashMap<Type,MappedMXBeanType> convertedTypes =
+-        new WeakHashMap<>();
++        new WeakHashMap<Type,MappedMXBeanType>();
+ 
+     boolean  isBasicType = false;
+     OpenType<?> openType = inProgress;
+@@ -299,7 +299,7 @@
+                 throw ode;
+             }
+ 
+-            openType = new ArrayType<>(dim, baseElementType.getOpenType());
++            openType = new ArrayType<OpenType<?>>(dim, baseElementType.getOpenType());
+         }
+ 
+         protected ArrayMXBeanType() {
+@@ -395,7 +395,7 @@
+                 throw ode;
+             }
+ 
+-            openType = new ArrayType<>(dim, baseElementType.getOpenType());
++            openType = new ArrayType<OpenType<?>>(dim, baseElementType.getOpenType());
+         }
+ 
+         Type getJavaType() {
+@@ -445,7 +445,7 @@
+                 ode.initCause(e);
+                 throw ode;
+             }
+-            openType = new ArrayType<>(1, paramType.getOpenType());
++            openType = new ArrayType<OpenType<?>>(1, paramType.getOpenType());
+         }
+ 
+         Type getJavaType() {
+@@ -473,7 +473,7 @@
+             throws OpenDataException, InvalidObjectException {
+ 
+             final Object[] openArray = (Object[]) data;
+-            List<Object> result = new ArrayList<>(openArray.length);
++            List<Object> result = new ArrayList<Object>(openArray.length);
+             for (Object o : openArray) {
+                 result.add(paramType.toJavaTypeData(o));
+             }
+@@ -560,7 +560,7 @@
+ 
+             final TabularData td = (TabularData) data;
+ 
+-            Map<Object, Object> result = new HashMap<>();
++            Map<Object, Object> result = new HashMap<Object, Object>();
+             for (CompositeData row : (Collection<CompositeData>) td.values()) {
+                 Object key = keyType.toJavaTypeData(row.get(KEY));
+                 Object value = valueType.toJavaTypeData(row.get(VALUE));
+@@ -639,8 +639,8 @@
+                             return javaClass.getMethods();
+                         }
+                     });
+-                final List<String> names = new ArrayList<>();
+-                final List<OpenType<?>> types = new ArrayList<>();
++                final List<String> names = new ArrayList<String>();
++                final List<OpenType<?>> types = new ArrayList<OpenType<?>>();
+ 
+                 /* Select public methods that look like "T getX()" or "boolean
+                    isX()", where T is not void and X is not the empty
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/management/NotificationEmitterSupport.java openjdk-boot/jdk/src/share/classes/sun/management/NotificationEmitterSupport.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/management/NotificationEmitterSupport.java	2017-09-07 02:54:08.400844294 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/management/NotificationEmitterSupport.java	2017-09-07 03:02:11.385169894 +0100
+@@ -71,7 +71,7 @@
+            efficient solution would be to clone the listener list
+            every time a notification is sent.  */
+         synchronized (listenerLock) {
+-            List<ListenerInfo> newList = new ArrayList<>(listenerList.size() + 1);
++            List<ListenerInfo> newList = new ArrayList<ListenerInfo>(listenerList.size() + 1);
+             newList.addAll(listenerList);
+             newList.add(new ListenerInfo(listener, filter, handback));
+             listenerList = newList;
+@@ -82,7 +82,7 @@
+         throws ListenerNotFoundException {
+ 
+         synchronized (listenerLock) {
+-            List<ListenerInfo> newList = new ArrayList<>(listenerList);
++            List<ListenerInfo> newList = new ArrayList<ListenerInfo>(listenerList);
+             /* We scan the list of listeners in reverse order because
+                in forward order we would have to repeat the loop with
+                the same index after a remove.  */
+@@ -106,7 +106,7 @@
+         boolean found = false;
+ 
+         synchronized (listenerLock) {
+-            List<ListenerInfo> newList = new ArrayList<>(listenerList);
++            List<ListenerInfo> newList = new ArrayList<ListenerInfo>(listenerList);
+             final int size = newList.size();
+             for (int i = 0; i < size; i++) {
+                 ListenerInfo li =  newList.get(i);
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/management/RuntimeImpl.java openjdk-boot/jdk/src/share/classes/sun/management/RuntimeImpl.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/management/RuntimeImpl.java	2017-09-07 02:54:08.408844167 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/management/RuntimeImpl.java	2017-09-07 03:04:34.254937188 +0100
+@@ -128,7 +128,7 @@
+ 
+     public Map<String,String> getSystemProperties() {
+         Properties sysProps = System.getProperties();
+-        Map<String,String> map = new HashMap<>();
++        Map<String,String> map = new HashMap<String,String>();
+ 
+         // Properties.entrySet() does not include the entries in
+         // the default properties.  So use Properties.stringPropertyNames()
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/misc/ObjectInputFilter.java openjdk-boot/jdk/src/share/classes/sun/misc/ObjectInputFilter.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/misc/ObjectInputFilter.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/misc/ObjectInputFilter.java	2017-04-26 16:05:48.611251698 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/misc/ObjectInputFilter.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/misc/ObjectInputFilter.java	2017-09-06 18:08:33.936786347 +0100
 @@ -444,7 +444,7 @@
                  maxStreamBytes = Long.MAX_VALUE;
  
@@ -7043,9 +7641,23 @@
                  for (int i = 0; i < patterns.length; i++) {
                      String p = patterns[i];
                      int nameLen = p.length();
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/net/RegisteredDomain.java openjdk-boot/jdk/src/share/classes/sun/net/RegisteredDomain.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/net/RegisteredDomain.java	2017-09-07 02:54:08.432843785 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/net/RegisteredDomain.java	2017-09-07 03:00:02.231217329 +0100
+@@ -118,8 +118,8 @@
+ private static Set<String>  usSubStateSet = new HashSet<String>(Arrays.asList("state",
+                 "lib", "k12", "cc", "tec", "gen", "cog", "mus", "dst"));
+ 
+-private static Map<String,Set<String>> topMap = new HashMap<>();
+-private static Map<String,Set<String>> top3Map = new HashMap<>();
++private static Map<String,Set<String>> topMap = new HashMap<String,Set<String>>();
++private static Map<String,Set<String>> top3Map = new HashMap<String,Set<String>>();
+ 
+ static {
+     /*
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java openjdk-boot/jdk/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java	2017-04-26 16:05:48.611251698 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java	2017-09-06 18:08:33.936786347 +0100
 @@ -52,7 +52,7 @@
  
      // Per-thread soft cache of the last temporary context
@@ -7074,8 +7686,8 @@
  
          // do the query
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/net/TransferProtocolClient.java openjdk-boot/jdk/src/share/classes/sun/net/TransferProtocolClient.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/net/TransferProtocolClient.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/net/TransferProtocolClient.java	2017-04-26 16:05:48.611251698 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/net/TransferProtocolClient.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/net/TransferProtocolClient.java	2017-09-06 18:08:33.936786347 +0100
 @@ -42,7 +42,7 @@
  
      /** Array of strings (usually 1 entry) for the last reply
@@ -7086,8 +7698,8 @@
      /** code for last reply */
      protected int       lastReplyCode;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/http/AuthenticationHeader.java openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/http/AuthenticationHeader.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/http/AuthenticationHeader.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/http/AuthenticationHeader.java	2017-04-26 16:05:48.611251698 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/http/AuthenticationHeader.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/http/AuthenticationHeader.java	2017-09-06 18:08:33.936786347 +0100
 @@ -139,7 +139,7 @@
          this.dontUseNegotiate = dontUseNegotiate;
          this.rsp = response;
@@ -7098,9 +7710,9 @@
      }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/http/AuthenticationInfo.java openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/http/AuthenticationInfo.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/http/AuthenticationInfo.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/http/AuthenticationInfo.java	2017-04-26 16:05:48.611251698 +0100
-@@ -111,7 +111,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/http/AuthenticationInfo.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/http/AuthenticationInfo.java	2017-09-06 18:08:33.936786347 +0100
+@@ -120,7 +120,7 @@
       * at the same time, then all but the first will block until
       * the first completes its authentication.
       */
@@ -7110,8 +7722,8 @@
      /* check if a request for this destination is in progress
       * return false immediately if not. Otherwise block until
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java	2017-04-26 15:02:12.552809941 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java	2017-04-26 16:05:48.611251698 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java	2017-09-06 17:44:07.012389923 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java	2017-09-06 18:08:33.936786347 +0100
 @@ -224,7 +224,7 @@
          if (list == null || list.isEmpty())
              return Collections.emptySet();
@@ -7148,9 +7760,30 @@
              if (userCookies != null) {
                  userCookiesMap.put("Cookie", Arrays.asList(userCookies));
              }
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/http/NegotiateAuthentication.java openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/http/NegotiateAuthentication.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/http/NegotiateAuthentication.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/http/NegotiateAuthentication.java	2017-09-06 18:08:33.964785898 +0100
+@@ -128,7 +128,7 @@
+      */
+     private static synchronized boolean isSupportedImpl(HttpCallerInfo hci) {
+         if (supported == null) {
+-            supported = new HashMap<>();
++            supported = new HashMap<String, Boolean>();
+         }
+         String hostname = hci.host;
+         hostname = hostname.toLowerCase();
+@@ -145,7 +145,7 @@
+                 cache = new ThreadLocal<HashMap<String, Negotiator>>() {
+                     @Override
+                     protected HashMap<String, Negotiator> initialValue() {
+-                        return new HashMap<>();
++                        return new HashMap<String, Negotiator>();
+                     }
+                 };
+             }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/net/www/URLConnection.java openjdk-boot/jdk/src/share/classes/sun/net/www/URLConnection.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/net/www/URLConnection.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/net/www/URLConnection.java	2017-04-26 16:05:48.611251698 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/net/www/URLConnection.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/net/www/URLConnection.java	2017-09-06 18:08:33.936786347 +0100
 @@ -234,7 +234,7 @@
          url = null;
      }
@@ -7161,8 +7794,8 @@
      public synchronized static void setProxiedHost(String host) {
          proxiedHosts.put(host.toLowerCase(), null);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/nio/cs/AbstractCharsetProvider.java openjdk-boot/jdk/src/share/classes/sun/nio/cs/AbstractCharsetProvider.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/nio/cs/AbstractCharsetProvider.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/nio/cs/AbstractCharsetProvider.java	2017-04-26 16:05:48.611251698 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/nio/cs/AbstractCharsetProvider.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/nio/cs/AbstractCharsetProvider.java	2017-09-06 18:08:33.936786347 +0100
 @@ -49,22 +49,22 @@
      /* Maps canonical names to class names
       */
@@ -7200,8 +7833,8 @@
  
          return new Iterator<Charset>() {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/AbstractAclFileAttributeView.java openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractAclFileAttributeView.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/AbstractAclFileAttributeView.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractAclFileAttributeView.java	2017-04-26 16:05:48.615251633 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/AbstractAclFileAttributeView.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractAclFileAttributeView.java	2017-09-06 18:08:33.940786283 +0100
 @@ -84,7 +84,7 @@
              throw new IllegalArgumentException("'" + name() + ":" +
                  attribute + "' not recognized");
@@ -7212,8 +7845,8 @@
              result.put(ACL_NAME, getAcl());
          if (owner)
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/AbstractBasicFileAttributeView.java openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractBasicFileAttributeView.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/AbstractBasicFileAttributeView.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractBasicFileAttributeView.java	2017-04-26 16:05:48.615251633 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/AbstractBasicFileAttributeView.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractBasicFileAttributeView.java	2017-09-06 18:08:33.940786283 +0100
 @@ -89,8 +89,8 @@
       * Used to build a map of attribute name/values.
       */
@@ -7226,8 +7859,8 @@
  
          private AttributesBuilder(Set<String> allowed, String[] requested) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/AbstractPoller.java openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractPoller.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/AbstractPoller.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractPoller.java	2017-04-26 16:05:48.615251633 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/AbstractPoller.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractPoller.java	2017-09-06 18:08:33.940786283 +0100
 @@ -102,7 +102,7 @@
              throw new NullPointerException();
          if (events.length == 0)
@@ -7238,8 +7871,8 @@
              // standard events
              if (event == StandardWatchEventKinds.ENTRY_CREATE ||
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/AbstractUserDefinedFileAttributeView.java openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractUserDefinedFileAttributeView.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/AbstractUserDefinedFileAttributeView.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractUserDefinedFileAttributeView.java	2017-04-26 16:05:48.615251633 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/AbstractUserDefinedFileAttributeView.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractUserDefinedFileAttributeView.java	2017-09-06 18:08:33.940786283 +0100
 @@ -77,7 +77,7 @@
          throws IOException
      {
@@ -7259,8 +7892,8 @@
              int size = size(name);
              byte[] buf = new byte[size];
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/FileOwnerAttributeViewImpl.java openjdk-boot/jdk/src/share/classes/sun/nio/fs/FileOwnerAttributeViewImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/FileOwnerAttributeViewImpl.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/FileOwnerAttributeViewImpl.java	2017-04-26 16:05:48.615251633 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/FileOwnerAttributeViewImpl.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/FileOwnerAttributeViewImpl.java	2017-09-06 18:08:33.940786283 +0100
 @@ -71,7 +71,7 @@
  
      @Override
@@ -7271,8 +7904,8 @@
              if (attribute.equals("*") || attribute.equals(OWNER_NAME)) {
                  result.put(OWNER_NAME, getOwner());
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/Util.java openjdk-boot/jdk/src/share/classes/sun/nio/fs/Util.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/Util.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/Util.java	2017-04-26 16:05:48.615251633 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/Util.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/Util.java	2017-09-06 18:08:33.940786283 +0100
 @@ -63,7 +63,7 @@
       * Returns a Set containing the given elements.
       */
@@ -7292,8 +7925,8 @@
              set.add(e);
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java openjdk-boot/jdk/src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java	2017-04-26 15:02:11.524826459 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java	2017-04-26 16:05:48.615251633 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java	2017-09-06 17:44:06.792393468 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java	2017-09-06 18:08:33.940786283 +0100
 @@ -442,7 +442,7 @@
  
          Map<String, Class<?>> memberTypes = annotationType.memberTypes();
@@ -7304,8 +7937,8 @@
          // If there are annotation members without values, that
          // situation is handled by the invoke method.
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/reflect/generics/parser/SignatureParser.java openjdk-boot/jdk/src/share/classes/sun/reflect/generics/parser/SignatureParser.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/reflect/generics/parser/SignatureParser.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/reflect/generics/parser/SignatureParser.java	2017-04-26 16:05:48.615251633 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/reflect/generics/parser/SignatureParser.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/reflect/generics/parser/SignatureParser.java	2017-09-06 18:08:33.940786283 +0100
 @@ -229,7 +229,7 @@
       *     "<" FormalTypeParameter+ ">"
       */
@@ -7370,9 +8003,9 @@
              ets.add(parseThrowsSignature());
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/registry/RegistryImpl.java openjdk-boot/jdk/src/share/classes/sun/rmi/registry/RegistryImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/registry/RegistryImpl.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/registry/RegistryImpl.java	2017-04-26 16:05:48.615251633 +0100
-@@ -82,9 +82,9 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/registry/RegistryImpl.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/registry/RegistryImpl.java	2017-09-06 18:08:33.940786283 +0100
+@@ -86,9 +86,9 @@
      /* indicate compatibility with JDK 1.1.x version of class */
      private static final long serialVersionUID = 4666870661827494597L;
      private Hashtable<String, Remote> bindings
@@ -7385,8 +8018,8 @@
      private static ObjID id = new ObjID(ObjID.REGISTRY_ID);
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/rmic/BatchEnvironment.java openjdk-boot/jdk/src/share/classes/sun/rmi/rmic/BatchEnvironment.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/rmic/BatchEnvironment.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/rmic/BatchEnvironment.java	2017-04-26 16:05:48.615251633 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/rmic/BatchEnvironment.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/rmic/BatchEnvironment.java	2017-09-06 18:08:33.940786283 +0100
 @@ -160,7 +160,7 @@
      }
  
@@ -7397,8 +8030,8 @@
      /**
       * Remember a generated source file generated so that it
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/rmic/Main.java openjdk-boot/jdk/src/share/classes/sun/rmi/rmic/Main.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/rmic/Main.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/rmic/Main.java	2017-04-26 16:05:48.615251633 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/rmic/Main.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/rmic/Main.java	2017-09-06 18:08:33.940786283 +0100
 @@ -184,7 +184,7 @@
          destDir = null;
          flags = F_WARNINGS;
@@ -7418,8 +8051,8 @@
          // Pre-process command line for @file arguments
          try {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/rmic/RMIGenerator.java openjdk-boot/jdk/src/share/classes/sun/rmi/rmic/RMIGenerator.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/rmic/RMIGenerator.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/rmic/RMIGenerator.java	2017-04-26 16:05:48.615251633 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/rmic/RMIGenerator.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/rmic/RMIGenerator.java	2017-09-06 18:08:33.940786283 +0100
 @@ -61,7 +61,7 @@
   */
  public class RMIGenerator implements RMIConstants, Generator {
@@ -7439,8 +8072,8 @@
          uniqueList.addElement(defRuntimeException);
          uniqueList.addElement(defRemoteException);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/ActivationGroupImpl.java openjdk-boot/jdk/src/share/classes/sun/rmi/server/ActivationGroupImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/ActivationGroupImpl.java	2017-04-26 15:02:12.544810070 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/ActivationGroupImpl.java	2017-04-26 16:05:48.615251633 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/ActivationGroupImpl.java	2017-09-06 17:44:07.004390052 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/ActivationGroupImpl.java	2017-09-06 18:08:33.940786283 +0100
 @@ -66,10 +66,10 @@
  
      /** maps persistent IDs to activated remote objects */
@@ -7455,8 +8088,8 @@
      /**
       * Creates a default activation group implementation.
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/Activation.java openjdk-boot/jdk/src/share/classes/sun/rmi/server/Activation.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/Activation.java	2017-04-26 15:02:12.596809236 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/Activation.java	2017-04-26 16:05:48.615251633 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/Activation.java	2017-09-06 17:44:07.048389343 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/Activation.java	2017-09-06 18:08:33.940786283 +0100
 @@ -149,10 +149,10 @@
  
      /** maps activation id to its respective group id */
@@ -7483,7 +8116,7 @@
          }
      }
  
-@@ -805,8 +805,8 @@
+@@ -844,8 +844,8 @@
          ActivationGroupDesc desc = null;
          ActivationGroupID groupID = null;
          long incarnation = 0;
@@ -7494,7 +8127,7 @@
  
          transient ActivationInstantiator group = null;
          transient int status = NORMAL;
-@@ -1359,7 +1359,7 @@
+@@ -1398,7 +1398,7 @@
          cmdenv = desc.getCommandEnvironment();
  
          // argv is the literal command to exec
@@ -7503,7 +8136,7 @@
  
          // Command name/path
          argv.add((cmdenv != null && cmdenv.getCommandPath() != null)
-@@ -1964,7 +1964,7 @@
+@@ -2003,7 +2003,7 @@
              }
  
              String log = null;
@@ -7513,9 +8146,9 @@
              /*
               * Parse arguments
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/LoaderHandler.java openjdk-boot/jdk/src/share/classes/sun/rmi/server/LoaderHandler.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/LoaderHandler.java	2017-04-26 15:02:12.544810070 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/LoaderHandler.java	2017-04-26 16:05:48.615251633 +0100
-@@ -113,11 +113,11 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/LoaderHandler.java	2017-09-06 17:44:07.004390052 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/LoaderHandler.java	2017-09-06 18:08:33.940786283 +0100
+@@ -114,11 +114,11 @@
       * garbage collected.
       */
      private static final HashMap<LoaderKey, LoaderEntry> loaderTable
@@ -7529,7 +8162,7 @@
  
      /*
       * Disallow anyone from creating one of these.
-@@ -780,7 +780,7 @@
+@@ -781,7 +781,7 @@
  
      /** map from weak(key=string) to [URL[], soft(key)] */
      private static final Map<String, Object[]> pathToURLsCache
@@ -7539,8 +8172,8 @@
      /**
       * Convert an array of URL objects into a corresponding string
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/MarshalInputStream.java openjdk-boot/jdk/src/share/classes/sun/rmi/server/MarshalInputStream.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/MarshalInputStream.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/MarshalInputStream.java	2017-04-26 16:05:48.615251633 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/MarshalInputStream.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/MarshalInputStream.java	2017-09-06 18:08:33.940786283 +0100
 @@ -76,14 +76,14 @@
  
      /** table to hold sun classes to which access is explicitly permitted */
@@ -7559,9 +8192,9 @@
      /**
       * if true, load classes (if not available locally) only from the
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/UnicastServerRef.java openjdk-boot/jdk/src/share/classes/sun/rmi/server/UnicastServerRef.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/UnicastServerRef.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/UnicastServerRef.java	2017-04-26 16:05:48.615251633 +0100
-@@ -577,7 +577,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/UnicastServerRef.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/UnicastServerRef.java	2017-09-06 18:08:33.940786283 +0100
+@@ -575,7 +575,7 @@
          HashToMethod_Maps() {}
  
          protected Map<Long,Method> computeValue(Class<?> remoteClass) {
@@ -7571,9 +8204,9 @@
                   cl != null;
                   cl = cl.getSuperclass())
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/Util.java openjdk-boot/jdk/src/share/classes/sun/rmi/server/Util.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/Util.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/Util.java	2017-04-26 16:05:48.615251633 +0100
-@@ -207,7 +207,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/Util.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/Util.java	2017-09-06 18:08:33.940786283 +0100
+@@ -208,7 +208,7 @@
       * @throws  NullPointerException if remoteClass is null
       */
      private static Class<?>[] getRemoteInterfaces(Class<?> remoteClass) {
@@ -7583,8 +8216,8 @@
          return list.toArray(new Class<?>[list.size()]);
      }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/WeakClassHashMap.java openjdk-boot/jdk/src/share/classes/sun/rmi/server/WeakClassHashMap.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/WeakClassHashMap.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/WeakClassHashMap.java	2017-04-26 16:05:48.615251633 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/WeakClassHashMap.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/WeakClassHashMap.java	2017-09-06 18:08:33.940786283 +0100
 @@ -46,7 +46,7 @@
   **/
  public abstract class WeakClassHashMap<V> {
@@ -7595,8 +8228,8 @@
      protected WeakClassHashMap() { }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/ConnectionInputStream.java openjdk-boot/jdk/src/share/classes/sun/rmi/transport/ConnectionInputStream.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/ConnectionInputStream.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/ConnectionInputStream.java	2017-04-26 16:05:48.615251633 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/ConnectionInputStream.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/ConnectionInputStream.java	2017-09-06 18:08:33.940786283 +0100
 @@ -43,7 +43,7 @@
      private boolean dgcAckNeeded = false;
  
@@ -7607,8 +8240,8 @@
      /** identifier for gc ack*/
      private UID ackID;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/DGCAckHandler.java openjdk-boot/jdk/src/share/classes/sun/rmi/transport/DGCAckHandler.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/DGCAckHandler.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/DGCAckHandler.java	2017-04-26 16:05:48.615251633 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/DGCAckHandler.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/DGCAckHandler.java	2017-09-06 18:08:33.940786283 +0100
 @@ -78,7 +78,7 @@
          Collections.synchronizedMap(new HashMap<UID,DGCAckHandler>());
  
@@ -7619,9 +8252,9 @@
  
      /**
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/DGCClient.java openjdk-boot/jdk/src/share/classes/sun/rmi/transport/DGCClient.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/DGCClient.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/DGCClient.java	2017-04-26 16:05:48.615251633 +0100
-@@ -193,9 +193,9 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/DGCClient.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/DGCClient.java	2017-09-06 18:08:33.940786283 +0100
+@@ -197,9 +197,9 @@
          private DGC dgc;
  
          /** table of refs held for endpoint: maps LiveRef to RefEntry */
@@ -7633,7 +8266,7 @@
  
          /** true if this entry has been removed from the global table */
          private boolean removed = false;
-@@ -217,12 +217,12 @@
+@@ -221,12 +221,12 @@
          private boolean interruptible = false;
  
          /** reference queue for phantom references */
@@ -7649,7 +8282,7 @@
          /** handle for GC latency request (for future cancellation) */
          private static GC.LatencyRequest gcLatencyRequest = null;
  
-@@ -299,7 +299,7 @@
+@@ -303,7 +303,7 @@
                          refEntry = new RefEntry(refClone);
                          refTable.put(refClone, refEntry);
                          if (refsToDirty == null) {
@@ -7658,7 +8291,7 @@
                          }
                          refsToDirty.add(refEntry);
                      }
-@@ -581,7 +581,7 @@
+@@ -591,7 +591,7 @@
                              needRenewal = true;
                              if (!invalidRefs.isEmpty()) {
                                  refsToDirty = invalidRefs;
@@ -7667,7 +8300,7 @@
                              }
                              sequenceNum = getNextSequenceNum();
                          }
-@@ -627,12 +627,12 @@
+@@ -637,12 +637,12 @@
                  if (refEntry.isRefSetEmpty()) {
                      if (refEntry.hasDirtyFailed()) {
                          if (strongCleans == null) {
@@ -7682,7 +8315,7 @@
                          }
                          normalCleans.add(refEntry);
                      }
-@@ -728,7 +728,7 @@
+@@ -738,7 +738,7 @@
              /** LiveRef value for this entry (not a registered instance) */
              private LiveRef ref;
              /** set of phantom references to registered instances */
@@ -7692,9 +8325,9 @@
              private boolean dirtyFailed = false;
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/DGCImpl.java openjdk-boot/jdk/src/share/classes/sun/rmi/transport/DGCImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/DGCImpl.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/DGCImpl.java	2017-04-26 16:05:48.615251633 +0100
-@@ -93,7 +93,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/DGCImpl.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/DGCImpl.java	2017-09-06 18:08:33.944786218 +0100
+@@ -94,7 +94,7 @@
      /** remote implementation of DGC interface for this VM */
      private static DGCImpl dgc;
      /** table that maps VMID to LeaseInfo */
@@ -7703,7 +8336,7 @@
      /** checks for lease expiration */
      private Future<?> checker = null;
  
-@@ -289,7 +289,7 @@
+@@ -290,7 +290,7 @@
          long time = System.currentTimeMillis();
  
          /* List of vmids that need to be removed from the leaseTable */
@@ -7712,7 +8345,7 @@
  
          /* Build a list of leaseInfo objects that need to have
           * targets removed from their notifySet.  Remove expired
-@@ -429,7 +429,7 @@
+@@ -432,7 +432,7 @@
      private static class LeaseInfo {
          VMID vmid;
          long expiration;
@@ -7722,8 +8355,8 @@
          LeaseInfo(VMID vmid, long lease) {
              this.vmid = vmid;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/ObjectTable.java openjdk-boot/jdk/src/share/classes/sun/rmi/transport/ObjectTable.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/ObjectTable.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/ObjectTable.java	2017-04-26 16:05:48.615251633 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/ObjectTable.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/ObjectTable.java	2017-09-06 18:08:33.944786218 +0100
 @@ -62,9 +62,9 @@
  
      /** tables mapping to Target, keyed from ObjectEndpoint and impl object */
@@ -7746,8 +8379,8 @@
      /** handle for GC latency request (for future cancellation) */
      private static GC.LatencyRequest gcLatencyRequest = null;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/proxy/CGIHandler.java openjdk-boot/jdk/src/share/classes/sun/rmi/transport/proxy/CGIHandler.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/proxy/CGIHandler.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/proxy/CGIHandler.java	2017-04-26 16:05:48.615251633 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/proxy/CGIHandler.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/proxy/CGIHandler.java	2017-09-06 18:08:33.944786218 +0100
 @@ -116,7 +116,7 @@
      /* construct table mapping command strings to handlers */
      private static Hashtable<String, CGICommandHandler> commandLookup;
@@ -7758,9 +8391,9 @@
              commandLookup.put(commands[i].getName(), commands[i]);
      }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/proxy/RMIMasterSocketFactory.java openjdk-boot/jdk/src/share/classes/sun/rmi/transport/proxy/RMIMasterSocketFactory.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/proxy/RMIMasterSocketFactory.java	2017-04-26 15:02:12.596809236 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/proxy/RMIMasterSocketFactory.java	2017-04-26 16:05:48.615251633 +0100
-@@ -75,13 +75,13 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/proxy/RMIMasterSocketFactory.java	2017-09-06 17:44:07.048389343 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/proxy/RMIMasterSocketFactory.java	2017-09-06 18:08:33.944786218 +0100
+@@ -76,13 +76,13 @@
  
      /** table of hosts successfully connected to and the factory used */
      private Hashtable<String, RMISocketFactory> successTable =
@@ -7776,7 +8409,7 @@
  
      /** default factory for initial use for direct socket connection */
      protected RMISocketFactory initialFactory = new RMIDirectSocketFactory();
-@@ -96,7 +96,7 @@
+@@ -97,7 +97,7 @@
       * socket connection fails.
       */
      public RMIMasterSocketFactory() {
@@ -7786,8 +8419,8 @@
  
          try {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/Target.java openjdk-boot/jdk/src/share/classes/sun/rmi/transport/Target.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/Target.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/Target.java	2017-04-26 16:05:48.619251568 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/Target.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/Target.java	2017-09-06 18:08:33.944786218 +0100
 @@ -53,10 +53,10 @@
      /** stub for remote object */
      private final Remote stub;
@@ -7802,9 +8435,9 @@
      private final AccessControlContext acc;
      /** context class loader in which target was created */
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/tcp/ConnectionMultiplexer.java openjdk-boot/jdk/src/share/classes/sun/rmi/transport/tcp/ConnectionMultiplexer.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/tcp/ConnectionMultiplexer.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/tcp/ConnectionMultiplexer.java	2017-04-26 16:05:48.619251568 +0100
-@@ -85,7 +85,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/tcp/ConnectionMultiplexer.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/tcp/ConnectionMultiplexer.java	2017-09-06 18:08:33.944786218 +0100
+@@ -86,7 +86,7 @@
      private DataOutputStream dataOut;
  
      /** table holding currently open connection IDs and related info */
@@ -7814,8 +8447,8 @@
      /** number of currently open connections */
      private int numConnections = 0;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/tcp/TCPChannel.java openjdk-boot/jdk/src/share/classes/sun/rmi/transport/tcp/TCPChannel.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/tcp/TCPChannel.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/tcp/TCPChannel.java	2017-04-26 16:05:48.619251568 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/tcp/TCPChannel.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/tcp/TCPChannel.java	2017-09-06 18:08:33.944786218 +0100
 @@ -64,7 +64,7 @@
      private final TCPTransport tr;
      /** list of cached connections */
@@ -7835,8 +8468,8 @@
      /** thread ID counter */
      private static int threadNum = 0;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/tcp/TCPEndpoint.java openjdk-boot/jdk/src/share/classes/sun/rmi/transport/tcp/TCPEndpoint.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/tcp/TCPEndpoint.java	2017-04-26 15:02:12.544810070 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/tcp/TCPEndpoint.java	2017-04-26 16:05:48.619251568 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/tcp/TCPEndpoint.java	2017-09-06 17:44:07.004390052 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/tcp/TCPEndpoint.java	2017-09-06 18:08:33.944786218 +0100
 @@ -148,7 +148,7 @@
      // TBD: should this be a weak hash table?
      private static final
@@ -7847,9 +8480,9 @@
      /**
       * Create an endpoint for a specified host and port.
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/tcp/TCPTransport.java openjdk-boot/jdk/src/share/classes/sun/rmi/transport/tcp/TCPTransport.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/tcp/TCPTransport.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/tcp/TCPTransport.java	2017-04-26 16:05:48.619251568 +0100
-@@ -123,7 +123,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/tcp/TCPTransport.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/tcp/TCPTransport.java	2017-09-06 18:08:33.944786218 +0100
+@@ -124,7 +124,7 @@
  
      /** client host for the current thread's connection */
      private static final ThreadLocal<ConnectionHandler>
@@ -7858,7 +8491,7 @@
  
      /** an AccessControlContext with no permissions */
      private static final AccessControlContext NOPERMS_ACC;
-@@ -141,7 +141,7 @@
+@@ -142,7 +142,7 @@
      private ServerSocket server = null;
      /** table mapping endpoints to channels */
      private final Map<TCPEndpoint,Reference<TCPChannel>> channelTable =
@@ -7868,9 +8501,9 @@
      static final RMISocketFactory defaultSocketFactory =
          RMISocketFactory.getDefaultSocketFactory();
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/Transport.java openjdk-boot/jdk/src/share/classes/sun/rmi/transport/Transport.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/Transport.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/Transport.java	2017-04-26 16:05:48.619251568 +0100
-@@ -66,7 +66,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/Transport.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/Transport.java	2017-09-06 18:08:33.944786218 +0100
+@@ -67,7 +67,7 @@
          Log.getLog("sun.rmi.transport.misc", "transport", Transport.logLevel);
  
      /** References the current transport when a call is being serviced */
@@ -7880,8 +8513,8 @@
      /** ObjID for DGCImpl */
      private static final ObjID dgcID = new ObjID(ObjID.DGC_ID);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/acl/AclEntryImpl.java openjdk-boot/jdk/src/share/classes/sun/security/acl/AclEntryImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/acl/AclEntryImpl.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/acl/AclEntryImpl.java	2017-04-26 16:05:48.619251568 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/acl/AclEntryImpl.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/acl/AclEntryImpl.java	2017-09-06 18:08:33.944786218 +0100
 @@ -36,7 +36,7 @@
   */
  public class AclEntryImpl implements AclEntry {
@@ -7892,8 +8525,8 @@
  
      /**
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/acl/AclImpl.java openjdk-boot/jdk/src/share/classes/sun/security/acl/AclImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/acl/AclImpl.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/acl/AclImpl.java	2017-04-26 16:05:48.619251568 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/acl/AclImpl.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/acl/AclImpl.java	2017-09-06 18:08:33.944786218 +0100
 @@ -41,15 +41,15 @@
      // or principal.
      //
@@ -7934,8 +8567,8 @@
          while (e1.hasMoreElements())
              v.addElement(e1.nextElement());
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/acl/GroupImpl.java openjdk-boot/jdk/src/share/classes/sun/security/acl/GroupImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/acl/GroupImpl.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/acl/GroupImpl.java	2017-04-26 16:05:48.619251568 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/acl/GroupImpl.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/acl/GroupImpl.java	2017-09-06 18:08:33.944786218 +0100
 @@ -34,7 +34,7 @@
   * @author      Satish Dharmaraj
   */
@@ -7955,8 +8588,8 @@
          }
      }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/jca/ProviderList.java openjdk-boot/jdk/src/share/classes/sun/security/jca/ProviderList.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/jca/ProviderList.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/jca/ProviderList.java	2017-04-26 16:05:48.619251568 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/jca/ProviderList.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/jca/ProviderList.java	2017-09-06 18:08:33.944786218 +0100
 @@ -97,7 +97,7 @@
          if (providerList.getProvider(p.getName()) != null) {
              return providerList;
@@ -7994,8 +8627,8 @@
              ids.add(new ServiceId(type, alg));
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/jca/Providers.java openjdk-boot/jdk/src/share/classes/sun/security/jca/Providers.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/jca/Providers.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/jca/Providers.java	2017-04-26 16:05:48.619251568 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/jca/Providers.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/jca/Providers.java	2017-09-06 18:08:33.944786218 +0100
 @@ -37,7 +37,7 @@
  public class Providers {
  
@@ -8006,8 +8639,8 @@
      // number of threads currently using thread-local provider lists
      // tracked to allow an optimization if == 0
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/jgss/krb5/Krb5Util.java openjdk-boot/jdk/src/share/classes/sun/security/jgss/krb5/Krb5Util.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/jgss/krb5/Krb5Util.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/jgss/krb5/Krb5Util.java	2017-04-26 16:05:48.619251568 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/jgss/krb5/Krb5Util.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/jgss/krb5/Krb5Util.java	2017-09-06 18:08:33.944786218 +0100
 @@ -251,7 +251,7 @@
          }
  
@@ -8018,8 +8651,8 @@
                  keys.add(k);
              }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/Config.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/Config.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/Config.java	2017-04-26 15:02:11.524826459 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/Config.java	2017-04-26 16:05:48.619251568 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/Config.java	2017-09-06 17:44:06.796393404 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/Config.java	2017-09-06 18:08:33.944786218 +0100
 @@ -610,7 +610,7 @@
                  }
                  })));
@@ -8097,8 +8730,8 @@
              for (int i = 0; i < len; i++) {
                  type = getType(st.nextToken());
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/Authenticator.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/Authenticator.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/Authenticator.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/Authenticator.java	2017-04-26 16:05:48.619251568 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/Authenticator.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/Authenticator.java	2017-09-06 18:08:33.944786218 +0100
 @@ -173,7 +173,7 @@
       * @exception IOException if an I/O error occurs while reading encoded data.
       */
@@ -8109,8 +8742,8 @@
          temp.putInteger(BigInteger.valueOf(authenticator_vno));
          v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte) 0x00), temp.toByteArray()));
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/AuthorizationData.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/AuthorizationData.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/AuthorizationData.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/AuthorizationData.java	2017-04-26 16:05:48.619251568 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/AuthorizationData.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/AuthorizationData.java	2017-09-06 18:08:33.944786218 +0100
 @@ -99,7 +99,7 @@
       * @exception IOException if an I/O error occurs while reading encoded data.
       */
@@ -8121,8 +8754,8 @@
              throw new Asn1Exception(Krb5.ASN1_BAD_ID);
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java	2017-04-26 15:02:12.596809236 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java	2017-04-26 16:05:48.619251568 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java	2017-09-06 17:44:07.048389343 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java	2017-09-06 18:08:33.944786218 +0100
 @@ -569,7 +569,7 @@
  
      private static String exec(String c) {
@@ -8133,8 +8766,8 @@
              v.addElement(st.nextToken());
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/crypto/EType.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/crypto/EType.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/crypto/EType.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/crypto/EType.java	2017-04-26 16:05:48.619251568 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/crypto/EType.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/crypto/EType.java	2017-09-06 18:08:33.944786218 +0100
 @@ -257,7 +257,7 @@
                  + configName);
          }
@@ -8145,8 +8778,8 @@
              if (EncryptionKey.findKey(answer[i], keys) != null) {
                  list.add(answer[i]);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/EncAPRepPart.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/EncAPRepPart.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/EncAPRepPart.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/EncAPRepPart.java	2017-04-26 16:05:48.619251568 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/EncAPRepPart.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/EncAPRepPart.java	2017-09-06 18:08:33.944786218 +0100
 @@ -133,7 +133,7 @@
       * @exception IOException if an I/O error occurs while reading encoded data.
       */
@@ -8157,8 +8790,8 @@
          v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT,
                  true, (byte) 0x00), ctime.asn1Encode()));
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/HostAddresses.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/HostAddresses.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/HostAddresses.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/HostAddresses.java	2017-04-26 16:05:48.619251568 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/HostAddresses.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/HostAddresses.java	2017-09-06 18:08:33.944786218 +0100
 @@ -179,7 +179,7 @@
      */
      public HostAddresses(DerValue encoding)
@@ -8178,8 +8811,8 @@
          for (int i = 0; i < addresses.length; i++) {
              try {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/KDCReqBody.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KDCReqBody.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/KDCReqBody.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KDCReqBody.java	2017-04-26 16:05:48.619251568 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/KDCReqBody.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KDCReqBody.java	2017-09-06 18:08:33.944786218 +0100
 @@ -165,7 +165,7 @@
              throw new Asn1Exception(Krb5.ASN1_BAD_ID);
          }
@@ -8208,8 +8841,8 @@
          if (msgType == Krb5.KRB_AS_REQ) {
              if (cname != null) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/KDCReq.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KDCReq.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/KDCReq.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KDCReq.java	2017-04-26 16:05:48.619251568 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/KDCReq.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KDCReq.java	2017-09-06 18:08:33.944786218 +0100
 @@ -150,7 +150,7 @@
              if (subsubDer.getTag() != DerValue.tag_SequenceOf) {
                  throw new Asn1Exception(Krb5.ASN1_BAD_ID);
@@ -8220,8 +8853,8 @@
                  v.addElement(new PAData(subsubDer.getData().getDerValue()));
              }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/KrbCredInfo.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KrbCredInfo.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/KrbCredInfo.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KrbCredInfo.java	2017-04-26 16:05:48.619251568 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/KrbCredInfo.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KrbCredInfo.java	2017-09-06 18:08:33.948786154 +0100
 @@ -150,7 +150,7 @@
       * @exception IOException if an I/O error occurs while reading encoded data.
       */
@@ -8232,8 +8865,8 @@
          if (pname != null) {
              v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x01), pname.getRealm().asn1Encode()));
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/KRBCred.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KRBCred.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/KRBCred.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KRBCred.java	2017-04-26 16:05:48.619251568 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/KRBCred.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KRBCred.java	2017-09-06 18:08:33.948786154 +0100
 @@ -134,7 +134,7 @@
              if (subsubDer.getTag() != DerValue.tag_SequenceOf) {
                  throw new Asn1Exception(Krb5.ASN1_BAD_ID);
@@ -8244,8 +8877,8 @@
                  v.addElement(new Ticket(subsubDer.getData().getDerValue()));
              }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/KRBError.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KRBError.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/KRBError.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KRBError.java	2017-04-26 16:05:48.619251568 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/KRBError.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KRBError.java	2017-09-06 18:08:33.948786154 +0100
 @@ -249,7 +249,7 @@
      private void parsePAData(byte[] data)
              throws IOException, Asn1Exception {
@@ -8256,8 +8889,8 @@
              // read the PA-DATA
              DerValue tmp = derPA.data.getDerValue();
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java	2017-04-26 15:02:12.596809236 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java	2017-04-26 16:05:48.619251568 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java	2017-09-06 17:44:07.048389343 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java	2017-09-06 18:08:33.948786154 +0100
 @@ -67,7 +67,7 @@
  
      // Attention: Currently there is no way to remove a keytab from this map,
@@ -8295,8 +8928,8 @@
          for (int i = entries.size()-1; i >= 0; i--) {
              KeyTabEntry e = entries.get(i);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/LastReq.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/LastReq.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/LastReq.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/LastReq.java	2017-04-26 16:05:48.619251568 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/LastReq.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/LastReq.java	2017-09-06 18:08:33.948786154 +0100
 @@ -77,7 +77,7 @@
       */
  
@@ -8307,8 +8940,8 @@
              throw new Asn1Exception(Krb5.ASN1_BAD_ID);
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/KdcComm.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/KdcComm.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/KdcComm.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/KdcComm.java	2017-04-26 16:05:48.619251568 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/KdcComm.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/KdcComm.java	2017-09-06 18:08:33.948786154 +0100
 @@ -466,7 +466,7 @@
       */
      static class KdcAccessibility {
@@ -8331,8 +8964,8 @@
                      String t = st.nextToken();
                      if (bads.contains(t)) badkdcs.add(t);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/KrbServiceLocator.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/KrbServiceLocator.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/KrbServiceLocator.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/KrbServiceLocator.java	2017-04-26 16:05:48.619251568 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/KrbServiceLocator.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/KrbServiceLocator.java	2017-09-06 18:08:33.948786154 +0100
 @@ -85,7 +85,7 @@
              // the initial context constructor. This avoids having the initial
              // context constructor call itself (when processing the URL
@@ -8352,8 +8985,8 @@
                  return null; // cannot create a DNS context
              }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/PrincipalName.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/PrincipalName.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/PrincipalName.java	2017-04-26 15:02:12.544810070 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/PrincipalName.java	2017-04-26 16:05:48.619251568 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/PrincipalName.java	2017-09-06 17:44:07.004390052 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/PrincipalName.java	2017-09-06 18:08:33.948786154 +0100
 @@ -265,7 +265,7 @@
              if (subDer.getTag() != DerValue.tag_SequenceOf) {
                  throw new Asn1Exception(Krb5.ASN1_BAD_ID);
@@ -8373,8 +9006,8 @@
          int i = 0;
          int componentStart = 0;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/Realm.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/Realm.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/Realm.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/Realm.java	2017-04-26 16:05:48.623251503 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/Realm.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/Realm.java	2017-09-06 18:08:33.948786154 +0100
 @@ -375,7 +375,7 @@
              return null;
          }
@@ -8394,8 +9027,8 @@
          // Un-common ones for client side
          for (int i=0; i<=cPos; i++) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java openjdk-boot/jdk/src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java	2017-04-26 16:05:48.623251503 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java	2017-09-06 18:08:33.948786154 +0100
 @@ -894,7 +894,7 @@
          // Check for loops in the chain. If there are repeated certs,
          // the Set of certs in the chain will contain fewer certs than
@@ -8406,8 +9039,8 @@
      }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/CertStoreHelper.java openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/CertStoreHelper.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/CertStoreHelper.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/CertStoreHelper.java	2017-04-26 16:05:48.623251503 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/CertStoreHelper.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/CertStoreHelper.java	2017-09-06 18:08:33.948786154 +0100
 @@ -50,7 +50,7 @@
  public abstract class CertStoreHelper {
  
@@ -8418,8 +9051,8 @@
          classMap.put(
              "LDAP",
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java	2017-04-26 16:05:48.623251503 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java	2017-09-06 18:08:33.948786154 +0100
 @@ -586,7 +586,7 @@
              // Except the performance improvement, another benefit is to break
              // the dead loop while looking for the issuer back and forth
@@ -8430,8 +9063,8 @@
              if (prevKey != null) {
                  // Add the previous certificate as a trust anchor.
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/ssl/SSLServerCertStore.java openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/ssl/SSLServerCertStore.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/ssl/SSLServerCertStore.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/ssl/SSLServerCertStore.java	2017-04-26 16:05:48.623251503 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/ssl/SSLServerCertStore.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/ssl/SSLServerCertStore.java	2017-09-06 18:08:33.948786154 +0100
 @@ -138,7 +138,7 @@
          if (selector == null) {
              return certs;
@@ -8442,8 +9075,8 @@
              if (selector.match(cert)) {
                  matchedCerts.add(cert);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/URICertStore.java openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/URICertStore.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/URICertStore.java	2017-04-26 15:02:12.600809170 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/URICertStore.java	2017-04-26 16:05:48.623251503 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/URICertStore.java	2017-09-06 17:44:07.048389343 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/URICertStore.java	2017-09-06 18:08:33.948786154 +0100
 @@ -339,7 +339,7 @@
          if (selector == null) {
              return certs;
@@ -8454,8 +9087,8 @@
              if (selector.match(cert)) {
                  matchedCerts.add(cert);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/JavaKeyStore.java openjdk-boot/jdk/src/share/classes/sun/security/provider/JavaKeyStore.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/JavaKeyStore.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/provider/JavaKeyStore.java	2017-04-26 16:05:48.623251503 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/JavaKeyStore.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/JavaKeyStore.java	2017-09-06 18:08:33.948786154 +0100
 @@ -683,7 +683,7 @@
                      // Read the certificate chain
                      int numOfCerts = dis.readInt();
@@ -8466,8 +9099,8 @@
                          for (int j = 0; j < numOfCerts; j++) {
                              if (xVersion == 2) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/PolicyFile.java openjdk-boot/jdk/src/share/classes/sun/security/provider/PolicyFile.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/PolicyFile.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/provider/PolicyFile.java	2017-04-26 16:05:48.623251503 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/PolicyFile.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/PolicyFile.java	2017-09-06 18:08:33.948786154 +0100
 @@ -292,7 +292,7 @@
      private static final int DEFAULT_CACHE_SIZE = 1;
  
@@ -8523,8 +9156,8 @@
                          while (i < certs.length) {
                              signerCerts.add(certs[i]);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/Sun.java openjdk-boot/jdk/src/share/classes/sun/security/provider/Sun.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/Sun.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/provider/Sun.java	2017-04-26 16:05:48.623251503 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/Sun.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/Sun.java	2017-09-06 18:08:33.948786154 +0100
 @@ -55,7 +55,7 @@
              SunEntries.putEntries(this);
          } else {
@@ -8535,8 +9168,8 @@
              AccessController.doPrivileged(new PutAllAction(this, map));
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/VerificationProvider.java openjdk-boot/jdk/src/share/classes/sun/security/provider/VerificationProvider.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/VerificationProvider.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/provider/VerificationProvider.java	2017-04-26 16:05:48.623251503 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/VerificationProvider.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/VerificationProvider.java	2017-09-06 18:08:33.948786154 +0100
 @@ -76,7 +76,7 @@
              SunRsaSignEntries.putEntries(this);
          } else {
@@ -8547,8 +9180,8 @@
              SunRsaSignEntries.putEntries(map);
              AccessController.doPrivileged(new PutAllAction(this, map));
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/X509Factory.java openjdk-boot/jdk/src/share/classes/sun/security/provider/X509Factory.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/X509Factory.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/provider/X509Factory.java	2017-04-26 16:05:48.623251503 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/X509Factory.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/X509Factory.java	2017-09-06 18:08:33.948786154 +0100
 @@ -431,7 +431,7 @@
          int peekByte;
          byte[] data;
@@ -8604,8 +9237,8 @@
          } catch (ParsingException e) {
              while (data != null) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/rsa/RSACore.java openjdk-boot/jdk/src/share/classes/sun/security/rsa/RSACore.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/rsa/RSACore.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/rsa/RSACore.java	2017-04-26 16:05:48.623251503 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/rsa/RSACore.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/rsa/RSACore.java	2017-09-06 18:08:33.948786154 +0100
 @@ -57,7 +57,7 @@
      // use a weak hashmap so that cached values are automatically cleared
      // when the modulus is GC'ed
@@ -8616,8 +9249,8 @@
      private RSACore() {
          // empty
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/rsa/SunRsaSign.java openjdk-boot/jdk/src/share/classes/sun/security/rsa/SunRsaSign.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/rsa/SunRsaSign.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/rsa/SunRsaSign.java	2017-04-26 16:05:48.623251503 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/rsa/SunRsaSign.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/rsa/SunRsaSign.java	2017-09-06 18:08:33.948786154 +0100
 @@ -52,7 +52,7 @@
              SunRsaSignEntries.putEntries(this);
          } else {
@@ -8628,8 +9261,8 @@
              AccessController.doPrivileged(new PutAllAction(this, map));
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/CipherSuite.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/CipherSuite.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/CipherSuite.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/CipherSuite.java	2017-04-26 16:05:48.623251503 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/CipherSuite.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/CipherSuite.java	2017-09-06 18:08:33.948786154 +0100
 @@ -399,7 +399,7 @@
  
          // Map BulkCipher -> Boolean(available)
@@ -8640,8 +9273,8 @@
          // descriptive name including key size, e.g. AES/128
          final String description;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/ClientHandshaker.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/ClientHandshaker.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/ClientHandshaker.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/ClientHandshaker.java	2017-04-26 16:05:48.623251503 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/ClientHandshaker.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/ClientHandshaker.java	2017-09-06 18:08:33.948786154 +0100
 @@ -755,7 +755,7 @@
          if (certRequest != null) {
              X509ExtendedKeyManager km = sslContext.getX509KeyManager();
@@ -8679,8 +9312,8 @@
                      subAltDnsNames.add(subAltDnsName);
                  }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/DHCrypt.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/DHCrypt.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/DHCrypt.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/DHCrypt.java	2017-04-26 16:05:48.623251503 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/DHCrypt.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/DHCrypt.java	2017-09-06 18:08:33.948786154 +0100
 @@ -367,7 +367,7 @@
                  }
              }
@@ -8691,8 +9324,8 @@
                  Matcher syntaxMatcher = syntaxPattern.matcher(property);
                  if (syntaxMatcher.matches()) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/ExtensionType.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/ExtensionType.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/ExtensionType.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/ExtensionType.java	2017-04-26 16:05:48.623251503 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/ExtensionType.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/ExtensionType.java	2017-09-06 18:08:33.952786090 +0100
 @@ -42,7 +42,7 @@
          return name;
      }
@@ -8703,8 +9336,8 @@
      static ExtensionType get(int id) {
          for (ExtensionType ext : knownExtensions) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/HandshakeMessage.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/HandshakeMessage.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/HandshakeMessage.java	2017-04-26 15:02:11.524826459 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/HandshakeMessage.java	2017-04-26 16:05:48.623251503 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/HandshakeMessage.java	2017-09-06 17:44:06.796393404 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/HandshakeMessage.java	2017-09-06 18:08:33.952786090 +0100
 @@ -255,7 +255,7 @@
      // add server_name extension
      void addServerNameIndicationExtension(String hostname) {
@@ -8742,8 +9375,8 @@
      private static void digestKey(MessageDigest md, SecretKey key) {
          try {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/Handshaker.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/Handshaker.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/Handshaker.java	2017-04-26 15:02:12.548810007 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/Handshaker.java	2017-04-26 16:05:48.623251503 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/Handshaker.java	2017-09-06 17:44:07.008389988 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/Handshaker.java	2017-09-06 18:08:33.952786090 +0100
 @@ -592,7 +592,7 @@
                  activeProtocols = getActiveProtocols();
              }
@@ -8763,8 +9396,8 @@
                  EnumSet.<CryptoPrimitive>of(CryptoPrimitive.KEY_AGREEMENT);
              for (ProtocolVersion protocol : enabledProtocols.collection()) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/ProtocolList.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/ProtocolList.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/ProtocolList.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/ProtocolList.java	2017-04-26 16:05:48.623251503 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/ProtocolList.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/ProtocolList.java	2017-09-06 18:08:33.952786090 +0100
 @@ -79,7 +79,7 @@
              throw new IllegalArgumentException("Protocols may not be null");
          }
@@ -8775,8 +9408,8 @@
              ProtocolVersion version = ProtocolVersion.valueOf(names[i]);
              if (versions.contains(version) == false) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/ProtocolVersion.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/ProtocolVersion.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/ProtocolVersion.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/ProtocolVersion.java	2017-04-26 16:05:48.623251503 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/ProtocolVersion.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/ProtocolVersion.java	2017-09-06 18:08:33.952786090 +0100
 @@ -106,7 +106,7 @@
  
      // Initialize the available protocols.
@@ -8787,8 +9420,8 @@
          ProtocolVersion[] pvs = new ProtocolVersion[] {
                  SSL20Hello, SSL30, TLS10, TLS11, TLS12};
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java	2017-04-26 16:05:48.623251503 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java	2017-09-06 18:08:33.952786090 +0100
 @@ -156,7 +156,7 @@
      static Collection<SignatureAndHashAlgorithm>
              getSupportedAlgorithms(AlgorithmConstraints constraints) {
@@ -8827,8 +9460,8 @@
              for (SignatureAndHashAlgorithm sigAlg : algorithms) {
                  if (sigAlg.hash.value > 0) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SSLAlgorithmDecomposer.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/SSLAlgorithmDecomposer.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SSLAlgorithmDecomposer.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SSLAlgorithmDecomposer.java	2017-04-26 16:05:48.623251503 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SSLAlgorithmDecomposer.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SSLAlgorithmDecomposer.java	2017-09-06 18:08:33.952786090 +0100
 @@ -48,7 +48,7 @@
      }
  
@@ -8866,8 +9499,8 @@
          if (keyExchange != null) {
              components.addAll(decomposes(keyExchange));
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SSLContextImpl.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/SSLContextImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SSLContextImpl.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SSLContextImpl.java	2017-04-26 16:05:48.627251438 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SSLContextImpl.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SSLContextImpl.java	2017-09-06 18:08:33.952786090 +0100
 @@ -328,7 +328,7 @@
          Collection<CipherSuite> allowedCipherSuites =
                                      CipherSuite.allowedCipherSuites();
@@ -8905,8 +9538,8 @@
              if ((certs != null) && (certs.length > 0)){
                  Collections.addAll(trustedCerts, certs);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SSLSessionImpl.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/SSLSessionImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SSLSessionImpl.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SSLSessionImpl.java	2017-04-26 16:05:48.627251438 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SSLSessionImpl.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SSLSessionImpl.java	2017-09-06 18:08:33.952786090 +0100
 @@ -642,7 +642,7 @@
       * key and the calling security context. This is important since
       * sessions can be shared across different protection domains.
@@ -8926,8 +9559,8 @@
          Object securityCtx = SecureKey.getCurrentSecurityContext();
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SSLSocketImpl.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/SSLSocketImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SSLSocketImpl.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SSLSocketImpl.java	2017-04-26 16:05:48.627251438 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SSLSocketImpl.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SSLSocketImpl.java	2017-09-06 18:08:33.952786090 +0100
 @@ -2561,7 +2561,7 @@
              entrySet, HandshakeCompletedEvent e) {
  
@@ -8938,8 +9571,8 @@
          }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java	2017-04-26 16:05:48.627251438 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java	2017-09-06 18:08:33.952786090 +0100
 @@ -337,7 +337,7 @@
  
          X500Principal[] x500Issuers = (X500Principal[])issuers;
@@ -8959,8 +9592,8 @@
              Principal p = principals[i];
              if (p instanceof X500Principal) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java	2017-04-26 15:02:09.376860972 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java	2017-04-26 16:05:48.627251438 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java	2017-09-06 17:44:04.208435105 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java	2017-09-06 18:08:33.952786090 +0100
 @@ -50,12 +50,12 @@
      private static final int ARBITRARY_CHAR2 = 0xff02;
  
@@ -9005,8 +9638,8 @@
              if (constraints.permits(
                      EnumSet.of(CryptoPrimitive.KEY_AGREEMENT),
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SupportedEllipticPointFormatsExtension.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/SupportedEllipticPointFormatsExtension.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SupportedEllipticPointFormatsExtension.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SupportedEllipticPointFormatsExtension.java	2017-04-26 16:05:48.627251438 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SupportedEllipticPointFormatsExtension.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SupportedEllipticPointFormatsExtension.java	2017-09-06 18:08:33.952786090 +0100
 @@ -92,7 +92,7 @@
      }
  
@@ -9017,8 +9650,8 @@
              list.add(toString(format));
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java	2017-04-26 16:05:48.627251438 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java	2017-09-06 18:08:33.952786090 +0100
 @@ -134,7 +134,7 @@
          FileInputStream fis = null;
          String defaultTrustStoreType;
@@ -9029,8 +9662,8 @@
          KeyStore ks = null;
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java	2017-04-26 15:02:11.524826459 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java	2017-04-26 16:05:48.627251438 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java	2017-09-06 17:44:06.796393404 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java	2017-09-06 18:08:33.952786090 +0100
 @@ -309,7 +309,7 @@
                  (keyTypes.length == 0) || (keyTypes[0] == null)) {
              return null;
@@ -9050,8 +9683,8 @@
              return null;
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/jarsigner/Main.java openjdk-boot/jdk/src/share/classes/sun/security/tools/jarsigner/Main.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/jarsigner/Main.java	2017-04-26 15:02:12.600809170 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/tools/jarsigner/Main.java	2017-04-26 16:05:48.627251438 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/jarsigner/Main.java	2017-09-06 17:44:07.052389278 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/tools/jarsigner/Main.java	2017-09-06 18:08:33.952786090 +0100
 @@ -134,14 +134,14 @@
      boolean token = false; // token-based keystore
      String jarfile;  // jar files to sign or verify
@@ -9144,8 +9777,8 @@
                  KeyStore caks = KeyStoreUtil.getCacertsKeyStore();
                  if (caks != null) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/keytool/Main.java openjdk-boot/jdk/src/share/classes/sun/security/tools/keytool/Main.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/keytool/Main.java	2017-04-26 15:02:12.600809170 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/tools/keytool/Main.java	2017-04-26 16:05:48.631251373 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/keytool/Main.java	2017-09-06 17:44:07.052389278 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/tools/keytool/Main.java	2017-09-06 18:08:33.952786090 +0100
 @@ -151,11 +151,11 @@
      private KeyStore caks = null; // "cacerts" keystore
      private char[] srcstorePass = null;
@@ -9216,8 +9849,8 @@
  }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/policytool/PolicyTool.java openjdk-boot/jdk/src/share/classes/sun/security/tools/policytool/PolicyTool.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/policytool/PolicyTool.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/tools/policytool/PolicyTool.java	2017-04-26 16:05:48.631251373 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/policytool/PolicyTool.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/tools/policytool/PolicyTool.java	2017-09-06 18:08:33.956786026 +0100
 @@ -645,7 +645,7 @@
          Class<?> pc = Class.forName(type, true,
                  Thread.currentThread().getContextClassLoader());
@@ -9255,8 +9888,8 @@
          super(i, b);
      }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/util/AlgorithmDecomposer.java openjdk-boot/jdk/src/share/classes/sun/security/util/AlgorithmDecomposer.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/util/AlgorithmDecomposer.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/util/AlgorithmDecomposer.java	2017-04-26 16:05:48.631251373 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/util/AlgorithmDecomposer.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/util/AlgorithmDecomposer.java	2017-09-06 18:08:33.956786026 +0100
 @@ -43,7 +43,7 @@
          // algorithm/mode/padding
          String[] transTockens = transPattern.split(algorithm);
@@ -9285,8 +9918,8 @@
  
          Set<String> elements = decomposeImpl(algorithm);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/util/AnchorCertificates.java openjdk-boot/jdk/src/share/classes/sun/security/util/AnchorCertificates.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/util/AnchorCertificates.java	2017-04-26 15:02:12.600809170 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/util/AnchorCertificates.java	2017-04-26 16:05:48.631251373 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/util/AnchorCertificates.java	2017-09-06 17:44:07.052389278 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/util/AnchorCertificates.java	2017-09-06 18:08:33.956786026 +0100
 @@ -60,7 +60,7 @@
                      try {
                          fis = new FileInputStream(f);
@@ -9297,8 +9930,8 @@
                          String alias;
                          while (list.hasMoreElements()) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java openjdk-boot/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java	2017-04-26 15:02:11.524826459 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java	2017-04-26 16:05:48.631251373 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java	2017-09-06 17:44:06.796393404 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java	2017-09-06 18:08:33.956786026 +0100
 @@ -235,7 +235,7 @@
       */
  
@@ -9309,8 +9942,8 @@
                  "keySize\\s*(<=|<|==|!=|>|>=)\\s*(\\d+)");
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/x509/X509CertImpl.java openjdk-boot/jdk/src/share/classes/sun/security/x509/X509CertImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/x509/X509CertImpl.java	2017-04-26 15:02:12.552809941 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/x509/X509CertImpl.java	2017-04-26 16:05:48.631251373 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/x509/X509CertImpl.java	2017-09-06 17:44:07.012389923 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/x509/X509CertImpl.java	2017-09-06 18:08:33.956786026 +0100
 @@ -1252,7 +1252,7 @@
              if (exts == null) {
                  return null;
@@ -9367,8 +10000,8 @@
      public String getFingerprint(String algorithm) {
          String fingerprint = null;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/x509/X509CRLEntryImpl.java openjdk-boot/jdk/src/share/classes/sun/security/x509/X509CRLEntryImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/x509/X509CRLEntryImpl.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/x509/X509CRLEntryImpl.java	2017-04-26 16:05:48.631251373 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/x509/X509CRLEntryImpl.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/x509/X509CRLEntryImpl.java	2017-09-06 18:08:33.956786026 +0100
 @@ -350,7 +350,7 @@
          if (extensions == null) {
              return null;
@@ -9397,8 +10030,8 @@
              map.put(ext.getId(), ext);
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/x509/X509CRLImpl.java openjdk-boot/jdk/src/share/classes/sun/security/x509/X509CRLImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/x509/X509CRLImpl.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/x509/X509CRLImpl.java	2017-04-26 16:05:48.631251373 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/x509/X509CRLImpl.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/x509/X509CRLImpl.java	2017-09-06 18:08:33.956786026 +0100
 @@ -103,8 +103,8 @@
      private X500Principal    issuerPrincipal = null;
      private Date             thisUpdate = null;
@@ -9428,10 +10061,68 @@
          for (Extension ex : extensions.getAllExtensions()) {
              if (!ex.isCritical()) {
                  extSet.add(ex.getExtensionId().toString());
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/tools/jar/CommandLine.java openjdk-boot/jdk/src/share/classes/sun/tools/jar/CommandLine.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/tools/jar/CommandLine.java	2017-09-08 14:13:18.648128198 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/tools/jar/CommandLine.java	2017-09-08 14:14:31.982964516 +0100
+@@ -55,7 +55,7 @@
+     public static String[] parse(String[] args)
+         throws IOException
+     {
+-        List<String> newArgs = new ArrayList<>(args.length);
++        List<String> newArgs = new ArrayList<String>(args.length);
+         for (int i = 0; i < args.length; i++) {
+             String arg = args[i];
+             if (arg.length() > 1 && arg.charAt(0) == '@') {
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/tools/jar/Manifest.java openjdk-boot/jdk/src/share/classes/sun/tools/jar/Manifest.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/tools/jar/Manifest.java	2017-09-08 14:13:18.656128071 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/tools/jar/Manifest.java	2017-09-08 14:14:22.255118877 +0100
+@@ -47,10 +47,10 @@
+     /* list of headers that all pertain to a particular
+      * file in the archive
+      */
+-    private Vector<MessageHeader> entries = new Vector<>();
++    private Vector<MessageHeader> entries = new Vector<MessageHeader>();
+     private byte[] tmpbuf = new byte[512];
+     /* a hashtable of entries, for fast lookup */
+-    private Hashtable<String, MessageHeader> tableEntries = new Hashtable<>();
++    private Hashtable<String, MessageHeader> tableEntries = new Hashtable<String, MessageHeader>();
+ 
+     static final String[] hashes = {"SHA"};
+     static final byte[] EOL = {(byte)'\r', (byte)'\n'};
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/tools/jar/SignatureFile.java openjdk-boot/jdk/src/share/classes/sun/tools/jar/SignatureFile.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/tools/jar/SignatureFile.java	2017-09-08 14:13:18.668127880 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/tools/jar/SignatureFile.java	2017-09-08 14:14:08.327339884 +0100
+@@ -66,7 +66,7 @@
+ 
+     /* list of headers that all pertain to a particular file in the
+      * archive */
+-    private Vector<MessageHeader> entries = new Vector<>();
++    private Vector<MessageHeader> entries = new Vector<MessageHeader>();
+ 
+     /* Right now we only support SHA hashes */
+     static final String[] hashes = {"SHA"};
+@@ -98,7 +98,7 @@
+      * character in length.  */
+     private SignatureFile(String name) throws JarException {
+ 
+-        entries = new Vector<>();
++        entries = new Vector<MessageHeader>();
+ 
+         if (name != null) {
+             if (name.length() > 8 || name.indexOf('.') != -1) {
+@@ -322,7 +322,7 @@
+         }
+     }
+ 
+-    private Hashtable<String, MessageDigest> digests = new Hashtable<>();
++    private Hashtable<String, MessageDigest> digests = new Hashtable<String, MessageDigest>();
+ 
+     private MessageDigest getDigest(String algorithm)
+     throws NoSuchAlgorithmException {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/tools/native2ascii/Main.java openjdk-boot/jdk/src/share/classes/sun/tools/native2ascii/Main.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/tools/native2ascii/Main.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/tools/native2ascii/Main.java	2017-04-26 16:05:48.631251373 +0100
-@@ -95,7 +95,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/tools/native2ascii/Main.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/tools/native2ascii/Main.java	2017-09-06 18:08:33.956786026 +0100
+@@ -94,7 +94,7 @@
       * Run the converter
       */
      public synchronized boolean convert(String argv[]){
@@ -9441,8 +10132,8 @@
          boolean createOutputFile = false;
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/util/locale/InternalLocaleBuilder.java openjdk-boot/jdk/src/share/classes/sun/util/locale/InternalLocaleBuilder.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/util/locale/InternalLocaleBuilder.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/util/locale/InternalLocaleBuilder.java	2017-04-26 16:05:48.631251373 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/util/locale/InternalLocaleBuilder.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/util/locale/InternalLocaleBuilder.java	2017-09-06 18:08:33.956786026 +0100
 @@ -113,7 +113,7 @@
          }
          // Use case insensitive string to prevent duplication
@@ -9557,8 +10248,8 @@
                      ukeywords.put(key, type);
                  }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/util/locale/LanguageTag.java openjdk-boot/jdk/src/share/classes/sun/util/locale/LanguageTag.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/util/locale/LanguageTag.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/util/locale/LanguageTag.java	2017-04-26 16:05:48.631251373 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/util/locale/LanguageTag.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/util/locale/LanguageTag.java	2017-09-06 18:08:33.956786026 +0100
 @@ -62,7 +62,7 @@
      // Map contains grandfathered tags and its preferred mappings from
      // http://www.ietf.org/rfc/rfc5646.txt
@@ -9614,8 +10305,8 @@
                      extensions.add(locextKey.toString() + SEP + ext.getValue());
                  }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/util/locale/LocaleExtensions.java openjdk-boot/jdk/src/share/classes/sun/util/locale/LocaleExtensions.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/util/locale/LocaleExtensions.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/util/locale/LocaleExtensions.java	2017-04-26 16:05:48.631251373 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/util/locale/LocaleExtensions.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/util/locale/LocaleExtensions.java	2017-09-06 18:08:33.956786026 +0100
 @@ -81,7 +81,7 @@
          }
  
@@ -9643,8 +10334,8 @@
                      String key = LocaleUtils.toLowerString(kwd.getKey().value());
                      String type = LocaleUtils.toLowerString(kwd.getValue());
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/util/locale/LocaleObjectCache.java openjdk-boot/jdk/src/share/classes/sun/util/locale/LocaleObjectCache.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/util/locale/LocaleObjectCache.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/util/locale/LocaleObjectCache.java	2017-04-26 16:05:48.631251373 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/util/locale/LocaleObjectCache.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/util/locale/LocaleObjectCache.java	2017-09-06 18:08:33.956786026 +0100
 @@ -38,14 +38,14 @@
  
  public abstract class LocaleObjectCache<K, V> {
@@ -9681,8 +10372,8 @@
          return (oldEntry == null) ? null : oldEntry.get();
      }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/util/LocaleServiceProviderPool.java openjdk-boot/jdk/src/share/classes/sun/util/LocaleServiceProviderPool.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/util/LocaleServiceProviderPool.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/util/LocaleServiceProviderPool.java	2017-04-26 16:05:48.631251373 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/util/LocaleServiceProviderPool.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/util/LocaleServiceProviderPool.java	2017-09-06 18:08:33.956786026 +0100
 @@ -59,7 +59,7 @@
       * set of provider implementations of a particular locale sensitive service.
       */
@@ -9702,8 +10393,8 @@
                          tmpList.add(getLookupLocale(locale));
                      }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/util/logging/PlatformLogger.java openjdk-boot/jdk/src/share/classes/sun/util/logging/PlatformLogger.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/util/logging/PlatformLogger.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/util/logging/PlatformLogger.java	2017-04-26 16:05:48.631251373 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/util/logging/PlatformLogger.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/util/logging/PlatformLogger.java	2017-09-06 18:08:33.956786026 +0100
 @@ -187,7 +187,7 @@
  
      // Table of known loggers.  Maps names to PlatformLoggers.
@@ -9723,8 +10414,8 @@
          return log;
      }
 diff -Nru openjdk-boot.orig/jdk/src/share/demo/nio/zipfs/Demo.java openjdk-boot/jdk/src/share/demo/nio/zipfs/Demo.java
---- openjdk-boot.orig/jdk/src/share/demo/nio/zipfs/Demo.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/demo/nio/zipfs/Demo.java	2017-04-26 16:05:48.635251308 +0100
+--- openjdk-boot.orig/jdk/src/share/demo/nio/zipfs/Demo.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/demo/nio/zipfs/Demo.java	2017-09-06 18:08:33.956786026 +0100
 @@ -160,7 +160,7 @@
          }
  
@@ -9759,8 +10450,8 @@
          openwrite.add(WRITE);
  
 diff -Nru openjdk-boot.orig/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipCoder.java openjdk-boot/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipCoder.java
---- openjdk-boot.orig/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipCoder.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipCoder.java	2017-04-26 16:05:48.635251308 +0100
+--- openjdk-boot.orig/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipCoder.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipCoder.java	2017-09-06 18:08:33.956786026 +0100
 @@ -142,8 +142,8 @@
          return new ZipCoder(Charset.defaultCharset());
      }
@@ -9773,8 +10464,8 @@
      private CharsetDecoder decoder() {
          CharsetDecoder dec = decTL.get();
 diff -Nru openjdk-boot.orig/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileAttributeView.java openjdk-boot/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileAttributeView.java
---- openjdk-boot.orig/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileAttributeView.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileAttributeView.java	2017-04-26 16:05:48.635251308 +0100
+--- openjdk-boot.orig/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileAttributeView.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileAttributeView.java	2017-09-06 18:08:33.956786026 +0100
 @@ -134,7 +134,7 @@
          throws IOException
      {
@@ -9785,8 +10476,8 @@
              for (AttrID id : AttrID.values()) {
                  try {
 diff -Nru openjdk-boot.orig/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java openjdk-boot/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java
---- openjdk-boot.orig/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java	2017-04-26 16:05:48.635251308 +0100
+--- openjdk-boot.orig/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java	2017-09-06 18:08:33.956786026 +0100
 @@ -157,7 +157,7 @@
  
      @Override
@@ -9887,8 +10578,8 @@
              inodes.put(root, root);
              dirs.add(root);
 diff -Nru openjdk-boot.orig/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystemProvider.java openjdk-boot/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystemProvider.java
---- openjdk-boot.orig/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystemProvider.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystemProvider.java	2017-04-26 16:05:48.635251308 +0100
+--- openjdk-boot.orig/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystemProvider.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystemProvider.java	2017-09-06 18:08:33.956786026 +0100
 @@ -62,7 +62,7 @@
  public class ZipFileSystemProvider extends FileSystemProvider {
  
@@ -9899,8 +10590,8 @@
      public ZipFileSystemProvider() {}
  
 diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/java/lang/ProcessEnvironment.java openjdk-boot/jdk/src/solaris/classes/java/lang/ProcessEnvironment.java
---- openjdk-boot.orig/jdk/src/solaris/classes/java/lang/ProcessEnvironment.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/java/lang/ProcessEnvironment.java	2017-04-26 16:05:48.635251308 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/java/lang/ProcessEnvironment.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/solaris/classes/java/lang/ProcessEnvironment.java	2017-09-06 18:08:33.956786026 +0100
 @@ -68,7 +68,7 @@
          // We cache the C environment.  This means that subsequent calls
          // to putenv/setenv from C will not be visible from Java code.
@@ -9911,8 +10602,8 @@
          // so that earlier variables override later ones.
          for (int i = environ.length-1; i > 0; i-=2)
 diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java openjdk-boot/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java
---- openjdk-boot.orig/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java	2017-04-26 15:02:12.600809170 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java	2017-04-26 16:05:48.635251308 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java	2017-09-06 17:44:07.052389278 +0100
++++ openjdk-boot/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java	2017-09-06 18:08:33.956786026 +0100
 @@ -354,7 +354,7 @@
       * log against that map.  The resulting map is then written back
       * to the disk.
@@ -9977,8 +10668,8 @@
          }
          if (!changeLog.isEmpty()) {
 diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java openjdk-boot/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java
---- openjdk-boot.orig/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java	2017-04-26 16:05:48.635251308 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java	2017-09-06 18:08:33.960785962 +0100
 @@ -60,7 +60,7 @@
                                            int maxperkeyword,
                                            int maxkeywords)
@@ -9998,8 +10689,8 @@
          if (domain != null && domain.length() > 0) {
              sl.add(domain);
 diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/sun/net/www/protocol/jar/JarFileFactory.java openjdk-boot/jdk/src/solaris/classes/sun/net/www/protocol/jar/JarFileFactory.java
---- openjdk-boot.orig/jdk/src/solaris/classes/sun/net/www/protocol/jar/JarFileFactory.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/net/www/protocol/jar/JarFileFactory.java	2017-04-26 16:05:48.635251308 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/net/www/protocol/jar/JarFileFactory.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/net/www/protocol/jar/JarFileFactory.java	2017-09-06 18:08:33.960785962 +0100
 @@ -43,10 +43,10 @@
  class JarFileFactory implements URLJarFile.URLJarFileCloseController {
  
@@ -10014,8 +10705,8 @@
      private static final JarFileFactory instance = new JarFileFactory();
  
 diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java
---- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java	2017-04-26 16:05:48.635251308 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java	2017-09-06 18:08:33.960785962 +0100
 @@ -133,7 +133,7 @@
          pollArrayAddress = pollArray.address();
          wfd = init();
@@ -10026,8 +10717,8 @@
  
      void initInterrupt(int fd0, int fd1) {
 diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/ch/EPollArrayWrapper.java openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/EPollArrayWrapper.java
---- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/ch/EPollArrayWrapper.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/EPollArrayWrapper.java	2017-04-26 16:05:48.635251308 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/ch/EPollArrayWrapper.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/EPollArrayWrapper.java	2017-09-06 18:08:33.960785962 +0100
 @@ -136,7 +136,7 @@
  
          // eventHigh needed when using file descriptors > 64k
@@ -10038,8 +10729,8 @@
  
      void initInterrupt(int fd0, int fd1) {
 diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/ch/EPollSelectorImpl.java openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/EPollSelectorImpl.java
---- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/ch/EPollSelectorImpl.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/EPollSelectorImpl.java	2017-04-26 16:05:48.635251308 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/ch/EPollSelectorImpl.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/EPollSelectorImpl.java	2017-09-06 18:08:33.960785962 +0100
 @@ -67,7 +67,7 @@
          fd1 = (int) pipeFds;
          pollWrapper = new EPollArrayWrapper();
@@ -10050,8 +10741,8 @@
  
      protected int doSelect(long timeout) throws IOException {
 diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/ch/EventPortSelectorImpl.java openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/EventPortSelectorImpl.java
---- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/ch/EventPortSelectorImpl.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/EventPortSelectorImpl.java	2017-04-26 16:05:48.635251308 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/ch/EventPortSelectorImpl.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/EventPortSelectorImpl.java	2017-09-06 18:08:33.960785962 +0100
 @@ -58,7 +58,7 @@
      EventPortSelectorImpl(SelectorProvider sp) throws IOException {
          super(sp);
@@ -10062,8 +10753,8 @@
  
      protected int doSelect(long timeout) throws IOException {
 diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/ch/EventPortWrapper.java openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/EventPortWrapper.java
---- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/ch/EventPortWrapper.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/EventPortWrapper.java	2017-04-26 16:05:48.635251308 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/ch/EventPortWrapper.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/EventPortWrapper.java	2017-09-06 18:08:33.960785962 +0100
 @@ -96,7 +96,7 @@
          pollArrayAddress = pollArray.address();
          this.pfd = port_create();
@@ -10074,8 +10765,8 @@
  
      void close() throws IOException {
 diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/ch/SctpNet.java openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/SctpNet.java
---- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/ch/SctpNet.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/SctpNet.java	2017-04-26 16:05:48.635251308 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/ch/SctpNet.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/SctpNet.java	2017-09-06 18:08:33.960785962 +0100
 @@ -113,7 +113,7 @@
              SocketAddress[] saa)
      {
@@ -10086,8 +10777,8 @@
               set.add(getRevealedLocalAddress(sa, sm));
           }
 diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/cs/ext/CompoundTextSupport.java openjdk-boot/jdk/src/solaris/classes/sun/nio/cs/ext/CompoundTextSupport.java
---- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/cs/ext/CompoundTextSupport.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/cs/ext/CompoundTextSupport.java	2017-04-26 16:05:48.635251308 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/cs/ext/CompoundTextSupport.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/cs/ext/CompoundTextSupport.java	2017-09-06 18:08:33.960785962 +0100
 @@ -153,12 +153,12 @@
  
      static {
@@ -10106,8 +10797,8 @@
          if (!(isEncodingSupported("US-ASCII") &&
                isEncodingSupported("ISO-8859-1")))
 diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java
---- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java	2017-04-26 16:05:48.635251308 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java	2017-09-06 18:08:33.960785962 +0100
 @@ -53,7 +53,7 @@
          static final Set<String> supportedFileAttributeViews =
              supportedFileAttributeViews();
@@ -10127,8 +10818,8 @@
              long fp = setmntent(fstab.getBytes(), "r".getBytes());
              try {
 diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/LinuxUserDefinedFileAttributeView.java openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/LinuxUserDefinedFileAttributeView.java
---- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/LinuxUserDefinedFileAttributeView.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/LinuxUserDefinedFileAttributeView.java	2017-04-26 16:05:48.635251308 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/LinuxUserDefinedFileAttributeView.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/LinuxUserDefinedFileAttributeView.java	2017-09-06 18:08:33.960785962 +0100
 @@ -63,7 +63,7 @@
  
      // Parses buffer as array of NULL-terminated C strings.
@@ -10139,8 +10830,8 @@
          int pos = 0;
          while (pos < size) {
 diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java
---- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java	2017-04-26 16:05:48.635251308 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java	2017-09-06 18:08:33.960785962 +0100
 @@ -198,7 +198,7 @@
       * Decode the buffer, returning an ACL
       */
@@ -10151,8 +10842,8 @@
              long offset = address + i*SIZEOF_ACE_T;
  
 diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/SolarisFileSystem.java openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/SolarisFileSystem.java
---- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/SolarisFileSystem.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/SolarisFileSystem.java	2017-04-26 16:05:48.635251308 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/SolarisFileSystem.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/SolarisFileSystem.java	2017-09-06 18:08:33.960785962 +0100
 @@ -76,7 +76,7 @@
          static final Set<String> supportedFileAttributeViews =
              supportedFileAttributeViews();
@@ -10172,8 +10863,8 @@
              UnixPath mnttab = new UnixPath(this, "/etc/mnttab");
              long fp = fopen(mnttab, "r");
 diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java
---- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java	2017-04-26 16:05:48.635251308 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java	2017-09-06 18:08:33.960785962 +0100
 @@ -83,7 +83,7 @@
                  }
  
@@ -10184,8 +10875,8 @@
                      byte[] name;
                      while ((name = readdir(dp)) != null) {
 diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java
---- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java	2017-04-26 16:05:48.635251308 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java	2017-09-06 18:08:33.960785962 +0100
 @@ -194,7 +194,7 @@
      @Override
      public Set<PosixFilePermission> permissions() {
@@ -10196,8 +10887,8 @@
          if ((bits & UnixConstants.S_IRUSR) > 0)
              perms.add(PosixFilePermission.OWNER_READ);
 diff -Nru openjdk-boot.orig/jdk/src/windows/classes/java/lang/ProcessEnvironment.java openjdk-boot/jdk/src/windows/classes/java/lang/ProcessEnvironment.java
---- openjdk-boot.orig/jdk/src/windows/classes/java/lang/ProcessEnvironment.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/windows/classes/java/lang/ProcessEnvironment.java	2017-04-26 16:05:48.635251308 +0100
+--- openjdk-boot.orig/jdk/src/windows/classes/java/lang/ProcessEnvironment.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/windows/classes/java/lang/ProcessEnvironment.java	2017-09-06 18:08:33.960785962 +0100
 @@ -250,7 +250,8 @@
                                     envblock.substring(eql+1,end));
          }
@@ -10219,8 +10910,8 @@
  
          StringBuilder sb = new StringBuilder(size()*30);
 diff -Nru openjdk-boot.orig/jdk/src/windows/classes/java/lang/ProcessImpl.java openjdk-boot/jdk/src/windows/classes/java/lang/ProcessImpl.java
---- openjdk-boot.orig/jdk/src/windows/classes/java/lang/ProcessImpl.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/windows/classes/java/lang/ProcessImpl.java	2017-04-26 16:05:48.635251308 +0100
+--- openjdk-boot.orig/jdk/src/windows/classes/java/lang/ProcessImpl.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/windows/classes/java/lang/ProcessImpl.java	2017-09-06 18:08:33.960785962 +0100
 @@ -162,7 +162,7 @@
       * There are no escape sequences.
       */
@@ -10231,8 +10922,8 @@
          while (regexMatcher.find())
              matchList.add(regexMatcher.group());
 diff -Nru openjdk-boot.orig/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java openjdk-boot/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java
---- openjdk-boot.orig/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java	2017-04-26 16:05:48.635251308 +0100
+--- openjdk-boot.orig/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java	2017-09-06 18:08:33.960785962 +0100
 @@ -63,7 +63,7 @@
      // Parse string that consists of token delimited by space or commas
      // and return LinkedHashMap
@@ -10243,8 +10934,8 @@
          // comma and space are valid delimites
          StringTokenizer st = new StringTokenizer(str, ", ");
 diff -Nru openjdk-boot.orig/jdk/src/windows/classes/sun/net/www/protocol/jar/JarFileFactory.java openjdk-boot/jdk/src/windows/classes/sun/net/www/protocol/jar/JarFileFactory.java
---- openjdk-boot.orig/jdk/src/windows/classes/sun/net/www/protocol/jar/JarFileFactory.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/windows/classes/sun/net/www/protocol/jar/JarFileFactory.java	2017-04-26 16:05:48.635251308 +0100
+--- openjdk-boot.orig/jdk/src/windows/classes/sun/net/www/protocol/jar/JarFileFactory.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/windows/classes/sun/net/www/protocol/jar/JarFileFactory.java	2017-09-06 18:08:33.960785962 +0100
 @@ -43,10 +43,10 @@
  class JarFileFactory implements URLJarFile.URLJarFileCloseController {
  
@@ -10259,8 +10950,8 @@
      private static final JarFileFactory instance = new JarFileFactory();
  
 diff -Nru openjdk-boot.orig/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystem.java openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystem.java
---- openjdk-boot.orig/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystem.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystem.java	2017-04-26 16:05:48.635251308 +0100
+--- openjdk-boot.orig/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystem.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystem.java	2017-09-06 18:08:33.960785962 +0100
 @@ -128,7 +128,7 @@
          }
  
@@ -10271,8 +10962,8 @@
          for (int i = 0; i <= 25; i++) {  // 0->A, 1->B, 2->C...
              if ((drives & (1 << i)) != 0) {
 diff -Nru openjdk-boot.orig/jdk/src/windows/classes/sun/nio/fs/WindowsPath.java openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsPath.java
---- openjdk-boot.orig/jdk/src/windows/classes/sun/nio/fs/WindowsPath.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsPath.java	2017-04-26 16:05:48.635251308 +0100
+--- openjdk-boot.orig/jdk/src/windows/classes/sun/nio/fs/WindowsPath.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsPath.java	2017-09-06 18:08:33.960785962 +0100
 @@ -575,7 +575,7 @@
      // generate offset array
      private void initOffsets() {
@@ -10283,8 +10974,8 @@
                  // empty path considered to have one name element
                  list.add(0);
 diff -Nru openjdk-boot.orig/jdk/src/windows/classes/sun/nio/fs/WindowsSecurityDescriptor.java openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsSecurityDescriptor.java
---- openjdk-boot.orig/jdk/src/windows/classes/sun/nio/fs/WindowsSecurityDescriptor.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsSecurityDescriptor.java	2017-04-26 16:05:48.635251308 +0100
+--- openjdk-boot.orig/jdk/src/windows/classes/sun/nio/fs/WindowsSecurityDescriptor.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsSecurityDescriptor.java	2017-09-06 18:08:33.960785962 +0100
 @@ -378,7 +378,7 @@
              AclInformation aclInfo = GetAclInformation(aclAddress);
              aceCount = aclInfo.aceCount();
@@ -10295,8 +10986,8 @@
          // decode each of the ACEs to AclEntry objects
          for (int i=0; i<aceCount; i++) {
 diff -Nru openjdk-boot.orig/jdk/src/windows/classes/sun/nio/fs/WindowsUserDefinedFileAttributeView.java openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsUserDefinedFileAttributeView.java
---- openjdk-boot.orig/jdk/src/windows/classes/sun/nio/fs/WindowsUserDefinedFileAttributeView.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsUserDefinedFileAttributeView.java	2017-04-26 16:05:48.639251244 +0100
+--- openjdk-boot.orig/jdk/src/windows/classes/sun/nio/fs/WindowsUserDefinedFileAttributeView.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsUserDefinedFileAttributeView.java	2017-09-06 18:08:33.960785962 +0100
 @@ -65,7 +65,7 @@
  
      // enumerates the file streams using FindFirstStream/FindNextStream APIs.
@@ -10343,8 +11034,8 @@
                  opts.add(WindowsChannelFactory.OPEN_REPARSE_POINT);
              opts.add(CREATE);
 diff -Nru openjdk-boot.orig/jdk/src/windows/classes/sun/nio/fs/WindowsWatchService.java openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsWatchService.java
---- openjdk-boot.orig/jdk/src/windows/classes/sun/nio/fs/WindowsWatchService.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsWatchService.java	2017-04-26 16:05:48.639251244 +0100
+--- openjdk-boot.orig/jdk/src/windows/classes/sun/nio/fs/WindowsWatchService.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsWatchService.java	2017-09-06 18:08:33.960785962 +0100
 @@ -289,8 +289,8 @@
              this.fs = fs;
              this.watcher = watcher;
@@ -10357,8 +11048,8 @@
          }
  
 diff -Nru openjdk-boot.orig/jdk/test/java/io/Serializable/NPEProvoker/NPEProvoker.java openjdk-boot/jdk/test/java/io/Serializable/NPEProvoker/NPEProvoker.java
---- openjdk-boot.orig/jdk/test/java/io/Serializable/NPEProvoker/NPEProvoker.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/test/java/io/Serializable/NPEProvoker/NPEProvoker.java	2017-04-26 16:05:48.639251244 +0100
+--- openjdk-boot.orig/jdk/test/java/io/Serializable/NPEProvoker/NPEProvoker.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/test/java/io/Serializable/NPEProvoker/NPEProvoker.java	2017-09-06 18:08:33.960785962 +0100
 @@ -56,7 +56,7 @@
      public static void main(String[] args) {
          System.err.println("\n Regression test for bug 6541870\n");
@@ -10369,8 +11060,8 @@
              ByteArrayOutputStream baos = new ByteArrayOutputStream();
              ObjectOutputStream oos = new ObjectOutputStream(baos);
 diff -Nru openjdk-boot.orig/jdk/test/java/lang/instrument/ilib/InjectBytecodes.java openjdk-boot/jdk/test/java/lang/instrument/ilib/InjectBytecodes.java
---- openjdk-boot.orig/jdk/test/java/lang/instrument/ilib/InjectBytecodes.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/test/java/lang/instrument/ilib/InjectBytecodes.java	2017-04-26 16:05:48.639251244 +0100
+--- openjdk-boot.orig/jdk/test/java/lang/instrument/ilib/InjectBytecodes.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/test/java/lang/instrument/ilib/InjectBytecodes.java	2017-09-06 18:08:33.960785962 +0100
 @@ -50,7 +50,7 @@
      private final Injector[] after  = new Injector[256];
      private final String className;
@@ -10381,8 +11072,8 @@
      private int pos;
      private int newPos;
 diff -Nru openjdk-boot.orig/jdk/test/java/lang/instrument/ilib/Inject.java openjdk-boot/jdk/test/java/lang/instrument/ilib/Inject.java
---- openjdk-boot.orig/jdk/test/java/lang/instrument/ilib/Inject.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/test/java/lang/instrument/ilib/Inject.java	2017-04-26 16:05:48.639251244 +0100
+--- openjdk-boot.orig/jdk/test/java/lang/instrument/ilib/Inject.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/test/java/lang/instrument/ilib/Inject.java	2017-09-06 18:08:33.960785962 +0100
 @@ -107,7 +107,7 @@
      class IndexedInjector implements TrackerInjector {
          int counter = 0;
@@ -10393,8 +11084,8 @@
          public int stackSize(int currentSize) {
              return currentSize + 1;
 diff -Nru openjdk-boot.orig/jdk/test/java/lang/reflect/Generics/TestPlainArrayNotGeneric.java openjdk-boot/jdk/test/java/lang/reflect/Generics/TestPlainArrayNotGeneric.java
---- openjdk-boot.orig/jdk/test/java/lang/reflect/Generics/TestPlainArrayNotGeneric.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/test/java/lang/reflect/Generics/TestPlainArrayNotGeneric.java	2017-04-26 16:05:48.639251244 +0100
+--- openjdk-boot.orig/jdk/test/java/lang/reflect/Generics/TestPlainArrayNotGeneric.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/test/java/lang/reflect/Generics/TestPlainArrayNotGeneric.java	2017-09-06 18:08:33.960785962 +0100
 @@ -103,7 +103,7 @@
          }
      }
@@ -10405,8 +11096,8 @@
      private static void check(Type t, String what) {
          if (t == null || !checking.add(t))
 diff -Nru openjdk-boot.orig/jdk/test/java/util/logging/ClassLoaderLeakTest.java openjdk-boot/jdk/test/java/util/logging/ClassLoaderLeakTest.java
---- openjdk-boot.orig/jdk/test/java/util/logging/ClassLoaderLeakTest.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/test/java/util/logging/ClassLoaderLeakTest.java	2017-04-26 16:05:48.639251244 +0100
+--- openjdk-boot.orig/jdk/test/java/util/logging/ClassLoaderLeakTest.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/test/java/util/logging/ClassLoaderLeakTest.java	2017-09-06 18:08:33.960785962 +0100
 @@ -89,7 +89,7 @@
  
           MyClassLoader appClassLoader = new MyClassLoader(urls, "test0");
@@ -10417,8 +11108,8 @@
  
           Thread appThread = new Thread(appsThreadGroup, launcher, "AppThread-0");
 diff -Nru openjdk-boot.orig/jdk/test/java/util/Random/DistinctSeeds.java openjdk-boot/jdk/test/java/util/Random/DistinctSeeds.java
---- openjdk-boot.orig/jdk/test/java/util/Random/DistinctSeeds.java	2017-04-26 05:22:52.000000000 +0100
-+++ openjdk-boot/jdk/test/java/util/Random/DistinctSeeds.java	2017-04-26 16:05:48.639251244 +0100
+--- openjdk-boot.orig/jdk/test/java/util/Random/DistinctSeeds.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/test/java/util/Random/DistinctSeeds.java	2017-09-06 18:08:33.960785962 +0100
 @@ -59,7 +59,7 @@
              }
          }
@@ -10428,172 +11119,3 @@
          List<Thread> threads = new ArrayList<Thread>();
          for (int i = 0; i < threadCount; i++) {
              RandomCollector r = new RandomCollector();
-diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/awt/Cursor.java openjdk-boot/jdk/src/share/classes/java/awt/Cursor.java
---- openjdk-boot.orig/jdk/src/share/classes/java/awt/Cursor.java	2017-07-14 17:51:22.731719319 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/awt/Cursor.java	2017-07-14 17:53:52.713265358 +0100
-@@ -163,7 +163,7 @@
-      * hashtable, filesystem dir prefix, filename, and properties for custom cursors support
-      */
- 
--    private static final Hashtable<String,Cursor> systemCustomCursors = new Hashtable<>(1);
-+    private static final Hashtable<String,Cursor> systemCustomCursors = new Hashtable<String,Cursor>(1);
-     private static final String systemCustomCursorDirPrefix = initCursorDir();
- 
-     private static String initCursorDir() {
-diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/awt/datatransfer/Clipboard.java openjdk-boot/jdk/src/share/classes/java/awt/datatransfer/Clipboard.java
---- openjdk-boot.orig/jdk/src/share/classes/java/awt/datatransfer/Clipboard.java	2017-07-14 17:51:22.739719188 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/awt/datatransfer/Clipboard.java	2017-07-14 17:53:43.673413243 +0100
-@@ -341,7 +341,7 @@
-      * @since 1.5
-      */
-     private Set<DataFlavor> getAvailableDataFlavorSet() {
--        Set<DataFlavor> set = new HashSet<>();
-+        Set<DataFlavor> set = new HashSet<DataFlavor>();
-         Transferable contents = getContents(null);
-         if (contents != null) {
-             DataFlavor[] flavors = contents.getTransferDataFlavors();
-diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/awt/EventQueue.java openjdk-boot/jdk/src/share/classes/java/awt/EventQueue.java
---- openjdk-boot.orig/jdk/src/share/classes/java/awt/EventQueue.java	2017-07-14 17:51:22.751718992 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/awt/EventQueue.java	2017-07-14 17:53:17.321844353 +0100
-@@ -1183,7 +1183,7 @@
-                 return;
-             }
- 
--            currentEvent = new WeakReference<>(e);
-+            currentEvent = new WeakReference<AWTEvent>(e);
- 
-             // This series of 'instanceof' checks should be replaced with a
-             // polymorphic type (for example, an interface which declares a
-diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/awt/MenuBar.java openjdk-boot/jdk/src/share/classes/java/awt/MenuBar.java
---- openjdk-boot.orig/jdk/src/share/classes/java/awt/MenuBar.java	2017-07-14 17:51:22.759718861 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/awt/MenuBar.java	2017-07-14 17:52:41.754426272 +0100
-@@ -94,7 +94,7 @@
-      * @serial
-      * @see #countMenus()
-      */
--    Vector<Menu> menus = new Vector<>();
-+    Vector<Menu> menus = new Vector<Menu>();
- 
-     /**
-      * This menu is a special menu dedicated to
-@@ -323,7 +323,7 @@
-      * @since       JDK1.1
-      */
-     public synchronized Enumeration<MenuShortcut> shortcuts() {
--        Vector<MenuShortcut> shortcuts = new Vector<>();
-+        Vector<MenuShortcut> shortcuts = new Vector<MenuShortcut>();
-         int nmenus = getMenuCount();
-         for (int i = 0 ; i < nmenus ; i++) {
-             Enumeration<MenuShortcut> e = getMenu(i).shortcuts();
-diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/awt/Menu.java openjdk-boot/jdk/src/share/classes/java/awt/Menu.java
---- openjdk-boot.orig/jdk/src/share/classes/java/awt/Menu.java	2017-07-14 17:51:22.775718599 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/awt/Menu.java	2017-07-14 17:52:30.842604809 +0100
-@@ -78,7 +78,7 @@
-      * @serial
-      * @see #countItems()
-      */
--    Vector<MenuComponent> items = new Vector<>();
-+    Vector<MenuComponent> items = new Vector<MenuComponent>();
- 
-     /**
-      * This field indicates whether the menu has the
-@@ -313,7 +313,7 @@
-             }
- 
-             int nitems = getItemCount();
--            Vector<MenuItem> tempItems = new Vector<>();
-+            Vector<MenuItem> tempItems = new Vector<MenuItem>();
- 
-             /* Remove the item at index, nitems-index times
-                storing them in a temporary vector in the
-@@ -379,7 +379,7 @@
-             }
- 
-             int nitems = getItemCount();
--            Vector<MenuItem> tempItems = new Vector<>();
-+            Vector<MenuItem> tempItems = new Vector<MenuItem>();
- 
-             /* Remove the item at index, nitems-index times
-                storing them in a temporary vector in the
-@@ -476,7 +476,7 @@
-     }
- 
-     synchronized Enumeration<MenuShortcut> shortcuts() {
--        Vector<MenuShortcut> shortcuts = new Vector<>();
-+        Vector<MenuShortcut> shortcuts = new Vector<MenuShortcut>();
-         int nitems = getItemCount();
-         for (int i = 0 ; i < nitems ; i++) {
-             MenuItem mi = getItem(i);
-diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/awt/RenderingHints.java openjdk-boot/jdk/src/share/classes/java/awt/RenderingHints.java
---- openjdk-boot.orig/jdk/src/share/classes/java/awt/RenderingHints.java	2017-07-14 17:51:22.783718468 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/awt/RenderingHints.java	2017-07-14 17:53:34.281566890 +0100
-@@ -92,7 +92,7 @@
-      * {@code equals()} method.
-      */
-     public abstract static class Key {
--        private static HashMap<Object,Object> identitymap = new HashMap<>(17);
-+        private static HashMap<Object,Object> identitymap = new HashMap<Object,Object>(17);
- 
-         private String getIdentity() {
-             // Note that the identity string is dependent on 3 variables:
-@@ -195,7 +195,7 @@
-         }
-     }
- 
--    HashMap<Object,Object> hintmap = new HashMap<>(7);
-+    HashMap<Object,Object> hintmap = new HashMap<Object,Object>(7);
- 
-     /**
-      * Antialiasing hint key.
-diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/http/NegotiateAuthentication.java openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/http/NegotiateAuthentication.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/http/NegotiateAuthentication.java	2017-07-14 17:51:22.803718141 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/http/NegotiateAuthentication.java	2017-07-14 17:52:10.078944551 +0100
-@@ -128,7 +128,7 @@
-      */
-     private static synchronized boolean isSupportedImpl(HttpCallerInfo hci) {
-         if (supported == null) {
--            supported = new HashMap<>();
-+            supported = new HashMap<String, Boolean>();
-         }
-         String hostname = hci.host;
-         hostname = hostname.toLowerCase();
-@@ -145,7 +145,7 @@
-                 cache = new ThreadLocal<HashMap<String, Negotiator>>() {
-                     @Override
-                     protected HashMap<String, Negotiator> initialValue() {
--                        return new HashMap<>();
-+                        return new HashMap<String, Negotiator>();
-                     }
-                 };
-             }
-diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/pool/Connections.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/pool/Connections.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/pool/Connections.java	2017-07-14 18:43:02.445291208 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/pool/Connections.java	2017-07-14 18:43:42.736642459 +0100
-@@ -292,9 +292,9 @@
-     boolean expire(long threshold) {
-         List<ConnectionDesc> clonedConns;
-         synchronized(this) {
--            clonedConns = new ArrayList<>(conns);
-+            clonedConns = new ArrayList<ConnectionDesc>(conns);
-         }
--        List<ConnectionDesc> expired = new ArrayList<>();
-+        List<ConnectionDesc> expired = new ArrayList<ConnectionDesc>();
- 
-         for (ConnectionDesc entry : clonedConns) {
-             d("expire(): ", entry);
-diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/pool/Pool.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/pool/Pool.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/pool/Pool.java	2017-07-14 18:43:02.457291013 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/pool/Pool.java	2017-07-14 18:43:25.888913736 +0100
-@@ -165,10 +165,10 @@
-     public void expire(long threshold) {
-         Collection<ConnectionsRef> copy;
-         synchronized (map) {
--            copy = new ArrayList<>(map.values());
-+            copy = new ArrayList<ConnectionsRef>(map.values());
-         }
- 
--        ArrayList<ConnectionsRef> removed = new ArrayList<>();
-+        ArrayList<ConnectionsRef> removed = new ArrayList<ConnectionsRef>();
-         Connections conns;
-         for (ConnectionsRef ref : copy) {
-             conns = ref.getConnections();
--- a/patches/boot/ecj-multicatch.patch	Thu Aug 10 07:20:50 2017 +0100
+++ b/patches/boot/ecj-multicatch.patch	Fri Sep 08 18:31:37 2017 +0100
@@ -1095,3 +1095,247 @@
                  addEx = ae;
              }
  
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java openjdk-boot/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java	2017-09-07 03:47:44.242316551 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java	2017-09-07 03:53:29.764864665 +0100
+@@ -392,7 +392,8 @@
+         try {
+             gotoImage(imageIndex);
+             skipImage();
+-        } catch (IOException | IndexOutOfBoundsException e) {
++        } catch (IOException e) {
++        } catch (IndexOutOfBoundsException e) {
+         } finally {
+             cbLock.unlock();
+         }
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/management/Agent.java openjdk-boot/jdk/src/share/classes/sun/management/Agent.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/management/Agent.java	2017-09-07 03:47:44.250316424 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/management/Agent.java	2017-09-07 03:53:01.977303193 +0100
+@@ -383,7 +383,13 @@
+                     adaptorClass.getMethod("initialize",
+                         String.class, Properties.class);
+             initializeMethod.invoke(null,snmpPort,props);
+-        } catch (ClassNotFoundException | NoSuchMethodException | IllegalAccessException x) {
++        } catch (ClassNotFoundException x) {
++            // snmp runtime doesn't exist - initialization fails
++            throw new UnsupportedOperationException("Unsupported management property: " + SNMP_PORT,x);
++        } catch (NoSuchMethodException x) {
++            // snmp runtime doesn't exist - initialization fails
++            throw new UnsupportedOperationException("Unsupported management property: " + SNMP_PORT,x);
++        } catch (IllegalAccessException x) {
+             // snmp runtime doesn't exist - initialization fails
+             throw new UnsupportedOperationException("Unsupported management property: " + SNMP_PORT,x);
+         } catch (InvocationTargetException x) {
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/management/GarbageCollectionNotifInfoCompositeData.java openjdk-boot/jdk/src/share/classes/sun/management/GarbageCollectionNotifInfoCompositeData.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/management/GarbageCollectionNotifInfoCompositeData.java	2017-09-07 03:47:44.262316235 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/management/GarbageCollectionNotifInfoCompositeData.java	2017-09-07 03:51:29.918755914 +0100
+@@ -69,7 +69,11 @@
+                         Field f = cl.getDeclaredField("builder");
+                         f.setAccessible(true);
+                         return (GcInfoBuilder)f.get(gcNotifInfo.getGcInfo());
+-                    } catch(ClassNotFoundException | NoSuchFieldException | IllegalAccessException e) {
++                    } catch(ClassNotFoundException e) {
++                        return null;
++                    } catch(NoSuchFieldException e) {
++                        return null;
++                    } catch(IllegalAccessException e) {
+                         return null;
+                     }
+                 }
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/management/GcInfoCompositeData.java openjdk-boot/jdk/src/share/classes/sun/management/GcInfoCompositeData.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/management/GcInfoCompositeData.java	2017-09-07 03:47:44.270316109 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/management/GcInfoCompositeData.java	2017-09-07 03:51:00.055227142 +0100
+@@ -76,7 +76,11 @@
+                                 Field f = cl.getDeclaredField("builder");
+                                 f.setAccessible(true);
+                                 return (GcInfoBuilder)f.get(info);
+-                            } catch(ClassNotFoundException | NoSuchFieldException | IllegalAccessException e) {
++                            } catch(ClassNotFoundException e) {
++                                return null;
++                            } catch(NoSuchFieldException e) {
++                                return null;
++                            } catch(IllegalAccessException e) {
+                                 return null;
+                             }
+                         }
+@@ -88,7 +92,11 @@
+                                 Field f = cl.getDeclaredField("extAttributes");
+                                 f.setAccessible(true);
+                                 return (Object[])f.get(info);
+-                            } catch(ClassNotFoundException | NoSuchFieldException | IllegalAccessException e) {
++                            } catch(ClassNotFoundException e) {
++                                return null;
++                            } catch(NoSuchFieldException e) {
++                                return null;
++                            } catch(IllegalAccessException e) {
+                                 return null;
+                             }
+                         }
+@@ -172,7 +180,10 @@
+             Method m = GcInfo.class.getMethod("getMemoryUsageBeforeGc");
+             memoryUsageMapType =
+                 MappedMXBeanType.getMappedType(m.getGenericReturnType());
+-        } catch (NoSuchMethodException | OpenDataException e) {
++        } catch (NoSuchMethodException e) {
++            // Should never reach here
++            throw new AssertionError(e);
++        } catch (OpenDataException e) {
+             // Should never reach here
+             throw new AssertionError(e);
+         }
+@@ -214,7 +225,10 @@
+         try {
+             TabularData td = (TabularData) cd.get(MEMORY_USAGE_BEFORE_GC);
+             return cast(memoryUsageMapType.toJavaTypeData(td));
+-        } catch (InvalidObjectException | OpenDataException e) {
++        } catch (InvalidObjectException e) {
++            // Should never reach here
++            throw new AssertionError(e);
++        } catch (OpenDataException e) {
+             // Should never reach here
+             throw new AssertionError(e);
+         }
+@@ -230,7 +244,10 @@
+             TabularData td = (TabularData) cd.get(MEMORY_USAGE_AFTER_GC);
+             //return (Map<String,MemoryUsage>)
+             return cast(memoryUsageMapType.toJavaTypeData(td));
+-        } catch (InvalidObjectException | OpenDataException e) {
++        } catch (InvalidObjectException e) {
++            // Should never reach here
++            throw new AssertionError(e);
++        } catch (OpenDataException e) {
+             // Should never reach here
+             throw new AssertionError(e);
+         }
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/UnicastRef.java openjdk-boot/jdk/src/share/classes/sun/rmi/server/UnicastRef.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/UnicastRef.java	2017-09-07 03:47:44.294315730 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/UnicastRef.java	2017-09-07 03:48:45.477350498 +0100
+@@ -186,7 +186,13 @@
+ 
+                 return returnValue;
+ 
+-            } catch (IOException | ClassNotFoundException e) {
++            } catch (IOException e) {
++                // disable saving any refs in the inputStream for GC
++                ((StreamRemoteCall)call).discardPendingRefs();
++                clientRefLog.log(Log.BRIEF,
++                                 e.getClass().getName() + " unmarshalling return: ", e);
++                throw new UnmarshalException("error unmarshalling return", e);
++            } catch (ClassNotFoundException e) {
+                 // disable saving any refs in the inputStream for GC
+                 ((StreamRemoteCall)call).discardPendingRefs();
+                 clientRefLog.log(Log.BRIEF,
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/UnicastServerRef.java openjdk-boot/jdk/src/share/classes/sun/rmi/server/UnicastServerRef.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/UnicastServerRef.java	2017-09-07 03:47:44.306315541 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/UnicastServerRef.java	2017-09-07 03:48:13.373856976 +0100
+@@ -342,7 +342,12 @@
+                 // disable saving any refs in the inputStream for GC
+                 ((StreamRemoteCall) call).discardPendingRefs();
+                 throw aex;
+-            } catch (java.io.IOException | ClassNotFoundException e) {
++            } catch (java.io.IOException e) {
++                // disable saving any refs in the inputStream for GC
++                ((StreamRemoteCall) call).discardPendingRefs();
++                throw new UnmarshalException(
++                    "error unmarshalling arguments", e);
++            } catch (ClassNotFoundException e) {
+                 // disable saving any refs in the inputStream for GC
+                 ((StreamRemoteCall) call).discardPendingRefs();
+                 throw new UnmarshalException(
+--- openjdk-boot.orig/jaxp/src/javax/xml/transform/TransformerException.java	2017-09-07 23:14:15.753519500 +0100
++++ openjdk-boot/jaxp/src/javax/xml/transform/TransformerException.java	2017-09-08 00:24:00.930751154 +0100
+@@ -360,8 +360,11 @@
+                 } else {
+                     exception = null;
+                 }
+-                } catch (InvocationTargetException | IllegalAccessException
+-                        | NoSuchMethodException e) {
++            } catch (InvocationTargetException e) {
++                exception = null;
++            } catch (IllegalAccessException e) {
++                exception = null;
++            } catch (NoSuchMethodException e) {
+                 exception = null;
+             }
+         }
+diff -Nru openjdk-boot.orig/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/util/xml/XmlUtil.java openjdk-boot/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/util/xml/XmlUtil.java
+--- openjdk-boot.orig/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/util/xml/XmlUtil.java	2017-09-08 06:41:56.439818933 +0100
++++ openjdk-boot/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/util/xml/XmlUtil.java	2017-09-08 06:42:37.147171694 +0100
+@@ -440,7 +440,11 @@
+                 featureToSet = LOAD_EXTERNAL_DTD;
+                 factory.setFeature(featureToSet, false);
+             }
+-        } catch (ParserConfigurationException | SAXNotRecognizedException | SAXNotSupportedException e) {
++        } catch (ParserConfigurationException e) {
++            LOGGER.log(Level.WARNING, "Factory [{0}] doesn't support "+featureToSet+" feature!", new Object[]{factory.getClass().getName()});
++        } catch (SAXNotRecognizedException e) {
++            LOGGER.log(Level.WARNING, "Factory [{0}] doesn't support "+featureToSet+" feature!", new Object[]{factory.getClass().getName()});
++        } catch (SAXNotSupportedException e) {
+             LOGGER.log(Level.WARNING, "Factory [{0}] doesn't support "+featureToSet+" feature!", new Object[]{factory.getClass().getName()});
+         }
+         return factory;
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/registry/RegistryImpl_Skel.java openjdk-boot/jdk/src/share/classes/sun/rmi/registry/RegistryImpl_Skel.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/registry/RegistryImpl_Skel.java	2017-09-08 14:21:09.292659912 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/registry/RegistryImpl_Skel.java	2017-09-08 14:22:33.471324133 +0100
+@@ -74,7 +74,9 @@
+                     java.io.ObjectInput in = call.getInputStream();
+                     $param_String_1 = (java.lang.String) in.readObject();
+                     $param_Remote_2 = (java.rmi.Remote) in.readObject();
+-                } catch (java.io.IOException | java.lang.ClassNotFoundException e) {
++                } catch (java.io.IOException e) {
++                    throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
++                } catch (java.lang.ClassNotFoundException e) {
+                     throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
+                 } finally {
+                     call.releaseInputStream();
+@@ -107,7 +109,9 @@
+                 try {
+                     java.io.ObjectInput in = call.getInputStream();
+                     $param_String_1 = (java.lang.String) in.readObject();
+-                } catch (java.io.IOException | java.lang.ClassNotFoundException e) {
++                } catch (java.io.IOException e) {
++                    throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
++                } catch (java.lang.ClassNotFoundException e) {
+                     throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
+                 } finally {
+                     call.releaseInputStream();
+@@ -133,7 +137,9 @@
+                     java.io.ObjectInput in = call.getInputStream();
+                     $param_String_1 = (java.lang.String) in.readObject();
+                     $param_Remote_2 = (java.rmi.Remote) in.readObject();
+-                } catch (java.io.IOException | java.lang.ClassNotFoundException e) {
++                } catch (java.io.IOException e) {
++                    throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
++                } catch (java.lang.ClassNotFoundException e) {
+                     throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
+                 } finally {
+                     call.releaseInputStream();
+@@ -156,7 +162,9 @@
+                 try {
+                     java.io.ObjectInput in = call.getInputStream();
+                     $param_String_1 = (java.lang.String) in.readObject();
+-                } catch (java.io.IOException | java.lang.ClassNotFoundException e) {
++                } catch (java.io.IOException e) {
++                    throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
++                } catch (java.lang.ClassNotFoundException e) {
+                     throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
+                 } finally {
+                     call.releaseInputStream();
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/DGCImpl_Stub.java openjdk-boot/jdk/src/share/classes/sun/rmi/transport/DGCImpl_Stub.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/DGCImpl_Stub.java	2017-09-08 14:21:09.308659658 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/DGCImpl_Stub.java	2017-09-08 14:23:08.670765574 +0100
+@@ -132,7 +132,13 @@
+                     });
+                 }
+                 $result = (java.rmi.dgc.Lease) in.readObject();
+-            } catch (java.io.IOException | java.lang.ClassNotFoundException e) {
++            } catch (java.io.IOException e) {
++                if (connection instanceof TCPConnection) {
++                    // Modified to prevent re-use of the connection after an exception
++                    ((TCPConnection) connection).getChannel().free(connection, false);
++                }
++                throw new java.rmi.UnmarshalException("error unmarshalling return", e);
++            } catch (java.lang.ClassNotFoundException e) {
+                 if (connection instanceof TCPConnection) {
+                     // Modified to prevent re-use of the connection after an exception
+                     ((TCPConnection) connection).getChannel().free(connection, false);
--- a/patches/boot/ecj-stringswitch.patch	Thu Aug 10 07:20:50 2017 +0100
+++ b/patches/boot/ecj-stringswitch.patch	Fri Sep 08 18:31:37 2017 +0100
@@ -1,6 +1,6 @@
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java	2016-09-19 11:44:50.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java	2017-04-04 13:15:36.557971350 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java	2017-09-06 17:11:36.127837372 +0100
 @@ -350,19 +350,16 @@
              if (attrCommands != null) {
                  Attribute.Layout lkey = Attribute.keyForLookup(ctype, name);
@@ -32,8 +32,8 @@
              // Find canonical instance of the requested attribute.
              Attribute a = Attribute.lookup(Package.attrDefs, ctype, name);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java	2016-09-19 11:44:50.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java	2017-04-04 13:15:36.557971350 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java	2017-09-06 17:11:36.127837372 +0100
 @@ -73,16 +73,14 @@
          {
              // Non-standard, undocumented "--unpack" switch enables unpack mode.
@@ -91,8 +91,8 @@
  
          if (logFile != null && !logFile.equals("")) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java	2016-09-19 11:44:50.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java	2017-04-04 13:15:36.557971350 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java	2017-09-06 17:11:36.127837372 +0100
 @@ -1107,30 +1107,25 @@
          // what is one of { Debug, Compile, Constant, Exceptions, InnerClasses }
          if (verbose > 0)
@@ -143,9 +143,291 @@
          }
      }
  
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtx.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtx.java
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtx.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtx.java	2017-09-06 17:14:01.145507377 +0100
+@@ -2161,66 +2161,50 @@
+         if (envprops == null || envprops.get(propName) == null) {
+             return null;
+         }
+-        switch (propName) {
+-            case REF_SEPARATOR:
+-                addrEncodingSeparator = DEFAULT_REF_SEPARATOR;
+-                break;
+-            case TYPES_ONLY:
++        if (REF_SEPARATOR.equals(propName)) {
++            addrEncodingSeparator = DEFAULT_REF_SEPARATOR;
++        } else if (TYPES_ONLY.equals(propName)) {
+                 typesOnly = DEFAULT_TYPES_ONLY;
+-                break;
+-            case DELETE_RDN:
++        } else if (DELETE_RDN.equals(propName)) {
+                 deleteRDN = DEFAULT_DELETE_RDN;
+-                break;
+-            case DEREF_ALIASES:
+-                derefAliases = DEFAULT_DEREF_ALIASES;
+-                break;
+-            case Context.BATCHSIZE:
+-                batchSize = DEFAULT_BATCH_SIZE;
+-                break;
+-            case REFERRAL_LIMIT:
+-                referralHopLimit = DEFAULT_REFERRAL_LIMIT;
+-                break;
+-            case Context.REFERRAL:
+-                setReferralMode(null, true);
+-                break;
+-            case BINARY_ATTRIBUTES:
+-                setBinaryAttributes(null);
+-                break;
+-            case CONNECT_TIMEOUT:
+-                connectTimeout = -1;
+-                break;
+-            case READ_TIMEOUT:
+-                readTimeout = -1;
+-                break;
+-            case WAIT_FOR_REPLY:
+-                waitForReply = true;
+-                break;
+-            case REPLY_QUEUE_SIZE:
+-                replyQueueSize = -1;
+-                break;
++        } else if (DEREF_ALIASES.equals(propName)) {
++            derefAliases = DEFAULT_DEREF_ALIASES;
++        } else if (Context.BATCHSIZE.equals(propName)) {
++            batchSize = DEFAULT_BATCH_SIZE;
++        } else if (REFERRAL_LIMIT.equals(propName)) {
++            referralHopLimit = DEFAULT_REFERRAL_LIMIT;
++        } else if (Context.REFERRAL.equals(propName)) {
++            setReferralMode(null, true);
++        } else if (BINARY_ATTRIBUTES.equals(propName)) {
++            setBinaryAttributes(null);
++        } else if (CONNECT_TIMEOUT.equals(propName)) {
++            connectTimeout = -1;
++        } else if (READ_TIMEOUT.equals(propName)) {
++            readTimeout = -1;
++        } else if (WAIT_FOR_REPLY.equals(propName)) {
++            waitForReply = true;
++        } else if (REPLY_QUEUE_SIZE.equals(propName)) {
++            replyQueueSize = -1;
+ 
+             // The following properties affect the connection
+ 
+-            case Context.SECURITY_PROTOCOL:
+-                closeConnection(SOFT_CLOSE);
+-                // De-activate SSL and reset the context's url and port number
+-                if (useSsl && !hasLdapsScheme) {
+-                    useSsl = false;
+-                    url = null;
+-                    if (useDefaultPortNumber) {
+-                        port_number = DEFAULT_PORT;
+-                    }
++        } else if (Context.SECURITY_PROTOCOL.equals(propName)) {
++            closeConnection(SOFT_CLOSE);
++            // De-activate SSL and reset the context's url and port number
++            if (useSsl && !hasLdapsScheme) {
++                useSsl = false;
++                url = null;
++                if (useDefaultPortNumber) {
++                    port_number = DEFAULT_PORT;
+                 }
+-                break;
+-            case VERSION:
+-            case SOCKET_FACTORY:
+-                closeConnection(SOFT_CLOSE);
+-                break;
+-            case Context.SECURITY_AUTHENTICATION:
+-            case Context.SECURITY_PRINCIPAL:
+-            case Context.SECURITY_CREDENTIALS:
+-                sharable = false;
+-                break;
++            }
++        } else if (VERSION.equals(propName) ||
++                   SOCKET_FACTORY.equals(propName)) {
++            closeConnection(SOFT_CLOSE);
++        } else if (Context.SECURITY_AUTHENTICATION.equals(propName) ||
++                   Context.SECURITY_PRINCIPAL.equals(propName) ||
++                   Context.SECURITY_CREDENTIALS.equals(propName)) {
++            sharable = false;
+         }
+ 
+         // Update environment; reconnection will use new props
+@@ -2236,66 +2220,50 @@
+             if (propVal == null) {
+                 return removeFromEnvironment(propName);
+             }
+-            switch (propName) {
+-                case REF_SEPARATOR:
+-                    setRefSeparator((String)propVal);
+-                    break;
+-                case TYPES_ONLY:
+-                    setTypesOnly((String)propVal);
+-                    break;
+-                case DELETE_RDN:
+-                    setDeleteRDN((String)propVal);
+-                    break;
+-                case DEREF_ALIASES:
+-                    setDerefAliases((String)propVal);
+-                    break;
+-                case Context.BATCHSIZE:
+-                    setBatchSize((String)propVal);
+-                    break;
+-                case REFERRAL_LIMIT:
+-                    setReferralLimit((String)propVal);
+-                    break;
+-                case Context.REFERRAL:
++            if (REF_SEPARATOR.equals(propName)) {
++                setRefSeparator((String)propVal);
++            } else if (TYPES_ONLY.equals(propName)) {
++                setTypesOnly((String)propVal);
++            } else if (DELETE_RDN.equals(propName)) {
++                setDeleteRDN((String)propVal);
++            } else if (DEREF_ALIASES.equals(propName)) {
++                setDerefAliases((String)propVal);
++            } else if (Context.BATCHSIZE.equals(propName)) {
++                setBatchSize((String)propVal);
++            } else if (REFERRAL_LIMIT.equals(propName)) {
++                setReferralLimit((String)propVal);
++            } else if (Context.REFERRAL.equals(propName)) {
+                     setReferralMode((String)propVal, true);
+-                    break;
+-                case BINARY_ATTRIBUTES:
+-                    setBinaryAttributes((String)propVal);
+-                    break;
+-                case CONNECT_TIMEOUT:
+-                    setConnectTimeout((String)propVal);
+-                    break;
+-                case READ_TIMEOUT:
+-                    setReadTimeout((String)propVal);
+-                    break;
+-                case WAIT_FOR_REPLY:
+-                    setWaitForReply((String)propVal);
+-                    break;
+-                case REPLY_QUEUE_SIZE:
+-                    setReplyQueueSize((String)propVal);
+-                    break;
++            } else if (BINARY_ATTRIBUTES.equals(propName)) {
++                setBinaryAttributes((String)propVal);
++            } else if (CONNECT_TIMEOUT.equals(propName)) {
++                setConnectTimeout((String)propVal);
++            } else if (READ_TIMEOUT.equals(propName)) {
++                setReadTimeout((String)propVal);
++            } else if (WAIT_FOR_REPLY.equals(propName)) {
++                setWaitForReply((String)propVal);
++            } else if (REPLY_QUEUE_SIZE.equals(propName)) {
++                setReplyQueueSize((String)propVal);
+ 
+             // The following properties affect the connection
+ 
+-                case Context.SECURITY_PROTOCOL:
+-                    closeConnection(SOFT_CLOSE);
+-                    // Activate SSL and reset the context's url and port number
+-                    if ("ssl".equals(propVal)) {
+-                        useSsl = true;
+-                        url = null;
+-                        if (useDefaultPortNumber) {
+-                            port_number = DEFAULT_SSL_PORT;
+-                        }
++            } else if (Context.SECURITY_PROTOCOL.equals(propName)) {
++                closeConnection(SOFT_CLOSE);
++                // Activate SSL and reset the context's url and port number
++                if ("ssl".equals(propVal)) {
++                    useSsl = true;
++                    url = null;
++                    if (useDefaultPortNumber) {
++                        port_number = DEFAULT_SSL_PORT;
+                     }
+-                    break;
+-                case VERSION:
+-                case SOCKET_FACTORY:
+-                    closeConnection(SOFT_CLOSE);
+-                    break;
+-                case Context.SECURITY_AUTHENTICATION:
+-                case Context.SECURITY_PRINCIPAL:
+-                case Context.SECURITY_CREDENTIALS:
+-                    sharable = false;
+-                    break;
++                }
++            } else if (VERSION.equals(propName) ||
++                       SOCKET_FACTORY.equals(propName)) {
++                closeConnection(SOFT_CLOSE);
++            } else if (Context.SECURITY_AUTHENTICATION.equals(propName) ||
++                       Context.SECURITY_PRINCIPAL.equals(propName) ||
++                       Context.SECURITY_CREDENTIALS.equals(propName)) {
++                sharable = false;
+             }
+ 
+             // Update environment; reconnection will use new props
+@@ -2412,22 +2380,17 @@
+     private void setReferralMode(String ref, boolean update) {
+         // First determine the referral mode
+         if (ref != null) {
+-            switch (ref) {
+-                case "follow-scheme":
+-                    handleReferrals = LdapClient.LDAP_REF_FOLLOW_SCHEME;
+-                    break;
+-                case "follow":
+-                    handleReferrals = LdapClient.LDAP_REF_FOLLOW;
+-                    break;
+-                case "throw":
+-                    handleReferrals = LdapClient.LDAP_REF_THROW;
+-                    break;
+-                case "ignore":
+-                    handleReferrals = LdapClient.LDAP_REF_IGNORE;
+-                    break;
+-                default:
+-                    throw new IllegalArgumentException(
+-                        "Illegal value for " + Context.REFERRAL + " property.");
++	    if ("follow-scheme".equals(ref)) {
++		handleReferrals = LdapClient.LDAP_REF_FOLLOW_SCHEME;
++	    } else if ("follow".equals(ref)) {
++		handleReferrals = LdapClient.LDAP_REF_FOLLOW;
++	    } else if ("throw".equals(ref)) {
++		handleReferrals = LdapClient.LDAP_REF_THROW;
++	    } else if ( "ignore".equals(ref)) {
++		handleReferrals = LdapClient.LDAP_REF_IGNORE;
++	    } else {
++		throw new IllegalArgumentException(
++                    "Illegal value for " + Context.REFERRAL + " property.");
+             }
+         } else {
+             handleReferrals = DEFAULT_REFERRAL_MODE;
+@@ -2450,22 +2413,17 @@
+      */
+     private void setDerefAliases(String deref) {
+         if (deref != null) {
+-            switch (deref) {
+-                case "never":
+-                    derefAliases = 0; // never de-reference aliases
+-                    break;
+-                case "searching":
+-                    derefAliases = 1; // de-reference aliases during searching
+-                    break;
+-                case "finding":
+-                    derefAliases = 2; // de-reference during name resolution
+-                    break;
+-                case "always":
+-                    derefAliases = 3; // always de-reference aliases
+-                    break;
+-                default:
+-                    throw new IllegalArgumentException("Illegal value for " +
+-                        DEREF_ALIASES + " property.");
++	    if ("never".equals(deref)) {
++		derefAliases = 0; // never de-reference aliases
++	    } else if ("searching".equals(deref)) {
++		derefAliases = 1; // de-reference aliases during searching
++	    } else if ("finding".equals(deref)) {
++		derefAliases = 2; // de-reference during name resolution
++	    } else if ("always".equals(deref)) {
++		derefAliases = 3; // always de-reference aliases
++	    } else {
++		throw new IllegalArgumentException("Illegal value for " +
++                    DEREF_ALIASES + " property.");
+             }
+         } else {
+             derefAliases = DEFAULT_DEREF_ALIASES;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java openjdk-boot/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java	2016-09-19 11:44:50.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java	2017-04-04 13:15:36.557971350 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java	2017-09-06 17:11:36.127837372 +0100
 @@ -65,17 +65,23 @@
  
      protected NTLM(String version) throws NTLMException {
@@ -182,8 +464,8 @@
              fac = SecretKeyFactory.getInstance ("DES");
              cipher = Cipher.getInstance ("DES/ECB/NoPadding");
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java openjdk-boot/jdk/src/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java	2016-09-19 11:44:50.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java	2017-04-04 13:15:36.557971350 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java	2017-09-06 17:11:36.131837308 +0100
 @@ -1579,45 +1579,42 @@
          KeySpec spec = null;
          SecretKeyFactory desFactory =
@@ -267,8 +549,8 @@
          return desFactory.generateSecret(spec);
      }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/sasl/digest/DigestMD5Server.java openjdk-boot/jdk/src/share/classes/com/sun/security/sasl/digest/DigestMD5Server.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/sasl/digest/DigestMD5Server.java	2016-09-19 11:44:50.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/sasl/digest/DigestMD5Server.java	2017-04-04 13:15:36.557971350 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/sasl/digest/DigestMD5Server.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/sasl/digest/DigestMD5Server.java	2017-09-06 17:11:36.131837308 +0100
 @@ -461,23 +461,19 @@
  
          // Check that QOP is one sent by server
@@ -307,8 +589,8 @@
          if ((cQop&allQop) == 0) {
              throw new SaslException("DIGEST-MD5: server does not support " +
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/sasl/ntlm/NTLMClient.java openjdk-boot/jdk/src/share/classes/com/sun/security/sasl/ntlm/NTLMClient.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/sasl/ntlm/NTLMClient.java	2016-09-19 11:44:50.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/sasl/ntlm/NTLMClient.java	2017-04-04 13:15:36.557971350 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/sasl/ntlm/NTLMClient.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/sasl/ntlm/NTLMClient.java	2017-09-06 17:11:36.131837308 +0100
 @@ -205,13 +205,12 @@
          if (!isComplete()) {
              throw new IllegalStateException("authentication not complete");
@@ -330,8 +612,8 @@
      }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/sasl/ntlm/NTLMServer.java openjdk-boot/jdk/src/share/classes/com/sun/security/sasl/ntlm/NTLMServer.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/sasl/ntlm/NTLMServer.java	2016-09-19 11:44:50.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/sasl/ntlm/NTLMServer.java	2017-04-04 13:15:36.557971350 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/sasl/ntlm/NTLMServer.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/sasl/ntlm/NTLMServer.java	2017-09-06 17:11:36.131837308 +0100
 @@ -219,13 +219,12 @@
          if (!isComplete()) {
              throw new IllegalStateException("authentication not complete");
@@ -353,8 +635,8 @@
      }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/sasl/util/AbstractSaslImpl.java openjdk-boot/jdk/src/share/classes/com/sun/security/sasl/util/AbstractSaslImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/sasl/util/AbstractSaslImpl.java	2016-09-19 11:44:50.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/sasl/util/AbstractSaslImpl.java	2017-04-04 13:15:36.561971285 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/sasl/util/AbstractSaslImpl.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/sasl/util/AbstractSaslImpl.java	2017-09-06 17:11:36.131837308 +0100
 @@ -155,23 +155,22 @@
          if (!completed) {
              throw new IllegalStateException("SASL authentication not completed");
@@ -396,8 +678,8 @@
      }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java	2016-09-19 11:44:50.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java	2017-04-04 13:15:36.557971350 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java	2017-09-06 17:11:36.131837308 +0100
 @@ -328,12 +328,11 @@
                                       Object[] appendixResult) {
          try {
@@ -648,8 +930,8 @@
          }
          return false;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleProxies.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleProxies.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleProxies.java	2016-09-19 11:44:50.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleProxies.java	2017-04-04 13:15:36.557971350 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleProxies.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleProxies.java	2017-09-06 17:11:36.131837308 +0100
 @@ -269,14 +269,16 @@
  
      private static
@@ -690,9 +972,110 @@
              return (self == args[0]);
          }
          return null;
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/Policy.java openjdk-boot/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/Policy.java
+--- openjdk-boot.orig/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/Policy.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/Policy.java	2017-09-06 17:11:36.135837243 +0100
+@@ -81,56 +81,48 @@
+         for (String entry : entries) {
+             String[] tokens = entry.split("\\s");
+             String type = tokens[0];
+-            switch(type) {
+-                case "disallowAlg":
+-                    if (tokens.length != 2) {
+-                        error(entry);
+-                    }
+-                    disallowedAlgs.add(URI.create(tokens[1]));
+-                    break;
+-                case "maxTransforms":
+-                    if (tokens.length != 2) {
+-                        error(entry);
+-                    }
+-                    maxTrans = Parsing.parseUnsignedInt(tokens[1]);
+-                    break;
+-                case "maxReferences":
+-                    if (tokens.length != 2) {
+-                        error(entry);
+-                    }
+-                    maxRefs = Parsing.parseUnsignedInt(tokens[1]);
+-                    break;
+-                case "disallowReferenceUriSchemes":
+-                    if (tokens.length == 1) {
+-                        error(entry);
+-                    }
+-                    for (int i = 1; i < tokens.length; i++) {
+-                        String scheme = tokens[i];
+-                        disallowedRefUriSchemes.add(
+-                            scheme.toLowerCase(Locale.ROOT));
+-                    }
+-                    break;
+-                case "minKeySize":
+-                    if (tokens.length != 3) {
+-                        error(entry);
+-                    }
+-                    minKeyMap.put(tokens[1],
+-                                  Parsing.parseUnsignedInt(tokens[2]));
+-                    break;
+-                case "noDuplicateIds":
+-                    if (tokens.length != 1) {
+-                        error(entry);
+-                    }
+-                    noDuplicateIds = true;
+-                    break;
+-                case "noRetrievalMethodLoops":
+-                    if (tokens.length != 1) {
+-                        error(entry);
+-                    }
+-                    noRMLoops = true;
+-                    break;
+-                default:
++            if ("disallowAlg".equals(type)) {
++                if (tokens.length != 2) {
+                     error(entry);
++                }
++                disallowedAlgs.add(URI.create(tokens[1]));
++            } else if ("maxTransforms".equals(type)) {
++                if (tokens.length != 2) {
++                    error(entry);
++                }
++                maxTrans = Parsing.parseUnsignedInt(tokens[1]);
++            } else if ("maxReferences".equals(type)) {
++                if (tokens.length != 2) {
++                    error(entry);
++                }
++                maxRefs = Parsing.parseUnsignedInt(tokens[1]);
++            } else if ("disallowReferenceUriSchemes".equals(type)) {
++                if (tokens.length == 1) {
++                    error(entry);
++                }
++                for (int i = 1; i < tokens.length; i++) {
++                    String scheme = tokens[i];
++                    disallowedRefUriSchemes.add(
++                        scheme.toLowerCase(Locale.ROOT));
++                }
++            } else if ("minKeySize".equals(type)) {
++                if (tokens.length != 3) {
++                    error(entry);
++                }
++                minKeyMap.put(tokens[1],
++                              Parsing.parseUnsignedInt(tokens[2]));
++            } else if ("noDuplicateIds".equals(type)) {
++                if (tokens.length != 1) {
++                    error(entry);
++                }
++                noDuplicateIds = true;
++            } else if ("noRetrievalMethodLoops".equals(type)) {
++                if (tokens.length != 1) {
++                    error(entry);
++                }
++                noRMLoops = true;
++            } else {
++                error(entry);
+             }
+         }
+     }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/launcher/LauncherHelper.java openjdk-boot/jdk/src/share/classes/sun/launcher/LauncherHelper.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/launcher/LauncherHelper.java	2016-09-19 11:44:50.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/launcher/LauncherHelper.java	2017-04-04 13:15:36.557971350 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/launcher/LauncherHelper.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/launcher/LauncherHelper.java	2017-09-06 17:11:36.131837308 +0100
 @@ -119,24 +119,20 @@
          String optStr = (opts.length > 1 && opts[1] != null)
                  ? opts[1].trim()
@@ -730,8 +1113,8 @@
  
      /*
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java openjdk-boot/jdk/src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java	2016-09-19 11:44:50.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java	2017-04-04 13:15:36.557971350 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java	2017-09-06 17:11:36.131837308 +0100
 @@ -65,14 +65,12 @@
          if (paramTypes.length != 0)
              throw new AssertionError("Too many parameters for an annotation method");
@@ -751,8 +1134,8 @@
          // Handle annotation member accessors
          Object result = memberValues.get(member);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/Config.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/Config.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/Config.java	2016-09-19 11:44:50.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/Config.java	2017-04-04 13:15:36.557971350 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/Config.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/Config.java	2017-09-06 17:11:36.131837308 +0100
 @@ -428,14 +428,13 @@
          if (s == null) {
              return null;
@@ -773,8 +1156,8 @@
  
      /**
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/pkcs11/Config.java openjdk-boot/jdk/src/share/classes/sun/security/pkcs11/Config.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/pkcs11/Config.java	2016-09-19 11:44:50.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/pkcs11/Config.java	2017-04-04 13:15:36.557971350 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/pkcs11/Config.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/pkcs11/Config.java	2017-09-06 17:11:36.131837308 +0100
 @@ -574,13 +574,12 @@
  
      private boolean parseBoolean() throws IOException {
@@ -820,8 +1203,8 @@
      }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/pkcs11/P11Key.java openjdk-boot/jdk/src/share/classes/sun/security/pkcs11/P11Key.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/pkcs11/P11Key.java	2016-09-19 11:44:50.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/pkcs11/P11Key.java	2017-04-04 13:15:36.557971350 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/pkcs11/P11Key.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/pkcs11/P11Key.java	2017-09-06 17:11:36.131837308 +0100
 @@ -304,22 +304,21 @@
      // we assume that all components of public keys are always accessible
      static PublicKey publicKey(Session session, long keyID, String algorithm,
@@ -941,8 +1324,8 @@
          }
      }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/X509CertPath.java openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/X509CertPath.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/X509CertPath.java	2016-09-19 11:44:50.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/X509CertPath.java	2017-04-04 13:15:36.557971350 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/X509CertPath.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/X509CertPath.java	2017-09-06 17:11:36.131837308 +0100
 @@ -153,15 +153,12 @@
              throws CertificateException {
          super("X.509");
@@ -986,8 +1369,8 @@
      }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/HandshakeMessage.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/HandshakeMessage.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/HandshakeMessage.java	2016-09-19 11:44:50.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/HandshakeMessage.java	2017-04-04 13:15:36.557971350 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/HandshakeMessage.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/HandshakeMessage.java	2017-09-06 17:11:36.131837308 +0100
 @@ -818,16 +818,13 @@
              sig = JsseJce.getSignature(
                          preferableSignatureAlgorithm.getAlgorithmName());
@@ -1063,8 +1446,8 @@
  
      /*
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java	2016-09-19 11:44:50.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java	2017-04-04 13:15:36.557971350 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java	2017-09-06 17:11:36.131837308 +0100
 @@ -525,43 +525,38 @@
                  if (ku != null) {
                      String algorithm = cert.getPublicKey().getAlgorithm();
@@ -1140,8 +1523,8 @@
                  }
              } catch (CertificateException e) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java openjdk-boot/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java	2016-09-19 11:44:50.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java	2017-04-04 13:16:32.753067002 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java	2017-09-06 17:11:36.135837243 +0100
 @@ -387,19 +387,23 @@
              GE;         // ">="
  
@@ -1180,8 +1563,8 @@
  
                  throw new IllegalArgumentException("Error in security " +
 diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/sun/security/smartcardio/PlatformPCSC.java openjdk-boot/jdk/src/solaris/classes/sun/security/smartcardio/PlatformPCSC.java
---- openjdk-boot.orig/jdk/src/solaris/classes/sun/security/smartcardio/PlatformPCSC.java	2016-09-19 11:44:50.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/security/smartcardio/PlatformPCSC.java	2017-04-04 13:15:36.557971350 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/security/smartcardio/PlatformPCSC.java	2017-08-22 02:03:52.000000000 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/security/smartcardio/PlatformPCSC.java	2017-09-06 17:11:36.135837243 +0100
 @@ -101,19 +101,17 @@
          k = lib.indexOf("$ARCH");
          if (k != -1) {
@@ -1209,380 +1592,3 @@
              }
              lib = replace(k, lib, "$ARCH", arch);
          }
-diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtx.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtx.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtx.java	2017-04-07 15:22:02.796779767 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtx.java	2017-04-07 15:36:19.702877596 +0100
-@@ -2163,66 +2163,50 @@
-         if (envprops == null || envprops.get(propName) == null) {
-             return null;
-         }
--        switch (propName) {
--            case REF_SEPARATOR:
--                addrEncodingSeparator = DEFAULT_REF_SEPARATOR;
--                break;
--            case TYPES_ONLY:
-+        if (REF_SEPARATOR.equals(propName)) {
-+            addrEncodingSeparator = DEFAULT_REF_SEPARATOR;
-+        } else if (TYPES_ONLY.equals(propName)) {
-                 typesOnly = DEFAULT_TYPES_ONLY;
--                break;
--            case DELETE_RDN:
-+        } else if (DELETE_RDN.equals(propName)) {
-                 deleteRDN = DEFAULT_DELETE_RDN;
--                break;
--            case DEREF_ALIASES:
--                derefAliases = DEFAULT_DEREF_ALIASES;
--                break;
--            case Context.BATCHSIZE:
--                batchSize = DEFAULT_BATCH_SIZE;
--                break;
--            case REFERRAL_LIMIT:
--                referralHopLimit = DEFAULT_REFERRAL_LIMIT;
--                break;
--            case Context.REFERRAL:
--                setReferralMode(null, true);
--                break;
--            case BINARY_ATTRIBUTES:
--                setBinaryAttributes(null);
--                break;
--            case CONNECT_TIMEOUT:
--                connectTimeout = -1;
--                break;
--            case READ_TIMEOUT:
--                readTimeout = -1;
--                break;
--            case WAIT_FOR_REPLY:
--                waitForReply = true;
--                break;
--            case REPLY_QUEUE_SIZE:
--                replyQueueSize = -1;
--                break;
-+        } else if (DEREF_ALIASES.equals(propName)) {
-+            derefAliases = DEFAULT_DEREF_ALIASES;
-+        } else if (Context.BATCHSIZE.equals(propName)) {
-+            batchSize = DEFAULT_BATCH_SIZE;
-+        } else if (REFERRAL_LIMIT.equals(propName)) {
-+            referralHopLimit = DEFAULT_REFERRAL_LIMIT;
-+        } else if (Context.REFERRAL.equals(propName)) {
-+            setReferralMode(null, true);
-+        } else if (BINARY_ATTRIBUTES.equals(propName)) {
-+            setBinaryAttributes(null);
-+        } else if (CONNECT_TIMEOUT.equals(propName)) {
-+            connectTimeout = -1;
-+        } else if (READ_TIMEOUT.equals(propName)) {
-+            readTimeout = -1;
-+        } else if (WAIT_FOR_REPLY.equals(propName)) {
-+            waitForReply = true;
-+        } else if (REPLY_QUEUE_SIZE.equals(propName)) {
-+            replyQueueSize = -1;
- 
-             // The following properties affect the connection
- 
--            case Context.SECURITY_PROTOCOL:
--                closeConnection(SOFT_CLOSE);
--                // De-activate SSL and reset the context's url and port number
--                if (useSsl && !hasLdapsScheme) {
--                    useSsl = false;
--                    url = null;
--                    if (useDefaultPortNumber) {
--                        port_number = DEFAULT_PORT;
--                    }
-+        } else if (Context.SECURITY_PROTOCOL.equals(propName)) {
-+            closeConnection(SOFT_CLOSE);
-+            // De-activate SSL and reset the context's url and port number
-+            if (useSsl && !hasLdapsScheme) {
-+                useSsl = false;
-+                url = null;
-+                if (useDefaultPortNumber) {
-+                    port_number = DEFAULT_PORT;
-                 }
--                break;
--            case VERSION:
--            case SOCKET_FACTORY:
--                closeConnection(SOFT_CLOSE);
--                break;
--            case Context.SECURITY_AUTHENTICATION:
--            case Context.SECURITY_PRINCIPAL:
--            case Context.SECURITY_CREDENTIALS:
--                sharable = false;
--                break;
-+            }
-+        } else if (VERSION.equals(propName) ||
-+                   SOCKET_FACTORY.equals(propName)) {
-+            closeConnection(SOFT_CLOSE);
-+        } else if (Context.SECURITY_AUTHENTICATION.equals(propName) ||
-+                   Context.SECURITY_PRINCIPAL.equals(propName) ||
-+                   Context.SECURITY_CREDENTIALS.equals(propName)) {
-+            sharable = false;
-         }
- 
-         // Update environment; reconnection will use new props
-@@ -2238,66 +2222,50 @@
-             if (propVal == null) {
-                 return removeFromEnvironment(propName);
-             }
--            switch (propName) {
--                case REF_SEPARATOR:
--                    setRefSeparator((String)propVal);
--                    break;
--                case TYPES_ONLY:
--                    setTypesOnly((String)propVal);
--                    break;
--                case DELETE_RDN:
--                    setDeleteRDN((String)propVal);
--                    break;
--                case DEREF_ALIASES:
--                    setDerefAliases((String)propVal);
--                    break;
--                case Context.BATCHSIZE:
--                    setBatchSize((String)propVal);
--                    break;
--                case REFERRAL_LIMIT:
--                    setReferralLimit((String)propVal);
--                    break;
--                case Context.REFERRAL:
-+            if (REF_SEPARATOR.equals(propName)) {
-+                setRefSeparator((String)propVal);
-+            } else if (TYPES_ONLY.equals(propName)) {
-+                setTypesOnly((String)propVal);
-+            } else if (DELETE_RDN.equals(propName)) {
-+                setDeleteRDN((String)propVal);
-+            } else if (DEREF_ALIASES.equals(propName)) {
-+                setDerefAliases((String)propVal);
-+            } else if (Context.BATCHSIZE.equals(propName)) {
-+                setBatchSize((String)propVal);
-+            } else if (REFERRAL_LIMIT.equals(propName)) {
-+                setReferralLimit((String)propVal);
-+            } else if (Context.REFERRAL.equals(propName)) {
-                     setReferralMode((String)propVal, true);
--                    break;
--                case BINARY_ATTRIBUTES:
--                    setBinaryAttributes((String)propVal);
--                    break;
--                case CONNECT_TIMEOUT:
--                    setConnectTimeout((String)propVal);
--                    break;
--                case READ_TIMEOUT:
--                    setReadTimeout((String)propVal);
--                    break;
--                case WAIT_FOR_REPLY:
--                    setWaitForReply((String)propVal);
--                    break;
--                case REPLY_QUEUE_SIZE:
--                    setReplyQueueSize((String)propVal);
--                    break;
-+            } else if (BINARY_ATTRIBUTES.equals(propName)) {
-+                setBinaryAttributes((String)propVal);
-+            } else if (CONNECT_TIMEOUT.equals(propName)) {
-+                setConnectTimeout((String)propVal);
-+            } else if (READ_TIMEOUT.equals(propName)) {
-+                setReadTimeout((String)propVal);
-+            } else if (WAIT_FOR_REPLY.equals(propName)) {
-+                setWaitForReply((String)propVal);
-+            } else if (REPLY_QUEUE_SIZE.equals(propName)) {
-+                setReplyQueueSize((String)propVal);
- 
-             // The following properties affect the connection
- 
--                case Context.SECURITY_PROTOCOL:
--                    closeConnection(SOFT_CLOSE);
--                    // Activate SSL and reset the context's url and port number
--                    if ("ssl".equals(propVal)) {
--                        useSsl = true;
--                        url = null;
--                        if (useDefaultPortNumber) {
--                            port_number = DEFAULT_SSL_PORT;
--                        }
-+            } else if (Context.SECURITY_PROTOCOL.equals(propName)) {
-+                closeConnection(SOFT_CLOSE);
-+                // Activate SSL and reset the context's url and port number
-+                if ("ssl".equals(propVal)) {
-+                    useSsl = true;
-+                    url = null;
-+                    if (useDefaultPortNumber) {
-+                        port_number = DEFAULT_SSL_PORT;
-                     }
--                    break;
--                case VERSION:
--                case SOCKET_FACTORY:
--                    closeConnection(SOFT_CLOSE);
--                    break;
--                case Context.SECURITY_AUTHENTICATION:
--                case Context.SECURITY_PRINCIPAL:
--                case Context.SECURITY_CREDENTIALS:
--                    sharable = false;
--                    break;
-+                }
-+            } else if (VERSION.equals(propName) ||
-+                       SOCKET_FACTORY.equals(propName)) {
-+                closeConnection(SOFT_CLOSE);
-+            } else if (Context.SECURITY_AUTHENTICATION.equals(propName) ||
-+                       Context.SECURITY_PRINCIPAL.equals(propName) ||
-+                       Context.SECURITY_CREDENTIALS.equals(propName)) {
-+                sharable = false;
-             }
- 
-             // Update environment; reconnection will use new props
-@@ -2414,19 +2382,15 @@
-     private void setReferralMode(String ref, boolean update) {
-         // First determine the referral mode
-         if (ref != null) {
--            switch (ref) {
--                case "follow":
-+	    if ("follow".equals(ref)) {
-                     handleReferrals = LdapClient.LDAP_REF_FOLLOW;
--                    break;
--                case "throw":
--                    handleReferrals = LdapClient.LDAP_REF_THROW;
--                    break;
--                case "ignore":
--                    handleReferrals = LdapClient.LDAP_REF_IGNORE;
--                    break;
--                default:
--                    throw new IllegalArgumentException(
--                        "Illegal value for " + Context.REFERRAL + " property.");
-+	    } else if ("throw".equals(ref)) {
-+		handleReferrals = LdapClient.LDAP_REF_THROW;
-+	    } else if ( "ignore".equals(ref)) {
-+		handleReferrals = LdapClient.LDAP_REF_IGNORE;
-+	    } else {
-+		throw new IllegalArgumentException(
-+                    "Illegal value for " + Context.REFERRAL + " property.");
-             }
-         } else {
-             handleReferrals = DEFAULT_REFERRAL_MODE;
-@@ -2449,22 +2413,17 @@
-      */
-     private void setDerefAliases(String deref) {
-         if (deref != null) {
--            switch (deref) {
--                case "never":
--                    derefAliases = 0; // never de-reference aliases
--                    break;
--                case "searching":
--                    derefAliases = 1; // de-reference aliases during searching
--                    break;
--                case "finding":
--                    derefAliases = 2; // de-reference during name resolution
--                    break;
--                case "always":
--                    derefAliases = 3; // always de-reference aliases
--                    break;
--                default:
--                    throw new IllegalArgumentException("Illegal value for " +
--                        DEREF_ALIASES + " property.");
-+	    if ("never".equals(deref)) {
-+		derefAliases = 0; // never de-reference aliases
-+	    } else if ("searching".equals(deref)) {
-+		derefAliases = 1; // de-reference aliases during searching
-+	    } else if ("finding".equals(deref)) {
-+		derefAliases = 2; // de-reference during name resolution
-+	    } else if ("always".equals(deref)) {
-+		derefAliases = 3; // always de-reference aliases
-+	    } else {
-+		throw new IllegalArgumentException("Illegal value for " +
-+                    DEREF_ALIASES + " property.");
-             }
-         } else {
-             derefAliases = DEFAULT_DEREF_ALIASES;
-diff -Nru openjdk-boot.orig/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/Policy.java openjdk-boot/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/Policy.java
---- openjdk-boot.orig/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/Policy.java	2017-04-07 16:43:10.660296981 +0100
-+++ openjdk-boot/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/Policy.java	2017-04-07 16:45:55.481614942 +0100
-@@ -81,56 +81,48 @@
-         for (String entry : entries) {
-             String[] tokens = entry.split("\\s");
-             String type = tokens[0];
--            switch(type) {
--                case "disallowAlg":
--                    if (tokens.length != 2) {
--                        error(entry);
--                    }
--                    disallowedAlgs.add(URI.create(tokens[1]));
--                    break;
--                case "maxTransforms":
--                    if (tokens.length != 2) {
--                        error(entry);
--                    }
--                    maxTrans = Parsing.parseUnsignedInt(tokens[1]);
--                    break;
--                case "maxReferences":
--                    if (tokens.length != 2) {
--                        error(entry);
--                    }
--                    maxRefs = Parsing.parseUnsignedInt(tokens[1]);
--                    break;
--                case "disallowReferenceUriSchemes":
--                    if (tokens.length == 1) {
--                        error(entry);
--                    }
--                    for (int i = 1; i < tokens.length; i++) {
--                        String scheme = tokens[i];
--                        disallowedRefUriSchemes.add(
--                            scheme.toLowerCase(Locale.ROOT));
--                    }
--                    break;
--                case "minKeySize":
--                    if (tokens.length != 3) {
--                        error(entry);
--                    }
--                    minKeyMap.put(tokens[1],
--                                  Parsing.parseUnsignedInt(tokens[2]));
--                    break;
--                case "noDuplicateIds":
--                    if (tokens.length != 1) {
--                        error(entry);
--                    }
--                    noDuplicateIds = true;
--                    break;
--                case "noRetrievalMethodLoops":
--                    if (tokens.length != 1) {
--                        error(entry);
--                    }
--                    noRMLoops = true;
--                    break;
--                default:
-+            if ("disallowAlg".equals(type)) {
-+                if (tokens.length != 2) {
-                     error(entry);
-+                }
-+                disallowedAlgs.add(URI.create(tokens[1]));
-+            } else if ("maxTransforms".equals(type)) {
-+                if (tokens.length != 2) {
-+                    error(entry);
-+                }
-+                maxTrans = Parsing.parseUnsignedInt(tokens[1]);
-+            } else if ("maxReferences".equals(type)) {
-+                if (tokens.length != 2) {
-+                    error(entry);
-+                }
-+                maxRefs = Parsing.parseUnsignedInt(tokens[1]);
-+            } else if ("disallowReferenceUriSchemes".equals(type)) {
-+                if (tokens.length == 1) {
-+                    error(entry);
-+                }
-+                for (int i = 1; i < tokens.length; i++) {
-+                    String scheme = tokens[i];
-+                    disallowedRefUriSchemes.add(
-+                        scheme.toLowerCase(Locale.ROOT));
-+                }
-+            } else if ("minKeySize".equals(type)) {
-+                if (tokens.length != 3) {
-+                    error(entry);
-+                }
-+                minKeyMap.put(tokens[1],
-+                              Parsing.parseUnsignedInt(tokens[2]));
-+            } else if ("noDuplicateIds".equals(type)) {
-+                if (tokens.length != 1) {
-+                    error(entry);
-+                }
-+                noDuplicateIds = true;
-+            } else if ("noRetrievalMethodLoops".equals(type)) {
-+                if (tokens.length != 1) {
-+                    error(entry);
-+                }
-+                noRMLoops = true;
-+            } else {
-+                error(entry);
-             }
-         }
-     }
--- a/patches/boot/ecj-trywithresources.patch	Thu Aug 10 07:20:50 2017 +0100
+++ b/patches/boot/ecj-trywithresources.patch	Fri Sep 08 18:31:37 2017 +0100
@@ -1671,3 +1671,71 @@
              }
          }
          return false;
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/management/jmxremote/ConnectorBootstrap.java openjdk-boot/jdk/src/share/classes/sun/management/jmxremote/ConnectorBootstrap.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/management/jmxremote/ConnectorBootstrap.java	2017-09-07 22:36:10.045654793 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/management/jmxremote/ConnectorBootstrap.java	2017-09-07 23:03:36.759654195 +0100
+@@ -260,8 +260,14 @@
+             if (fname == null) {
+                 return p;
+             }
+-            try (FileInputStream fin = new FileInputStream(fname)) {
++            FileInputStream fin = null;
++            try {
++                fin = new FileInputStream(fname);
+                 p.load(fin);
++            } finally {
++                if (fin != null) {
++                    try { fin.close(); } catch (IOException e) {}
++                }
+             }
+             return p;
+         }
+@@ -656,9 +662,15 @@
+             try {
+                 // Load the SSL keystore properties from the config file
+                 Properties p = new Properties();
+-                try (InputStream in = new FileInputStream(sslConfigFileName)) {
++                InputStream in = null;
++                try {
++                    in = new FileInputStream(sslConfigFileName);
+                     BufferedInputStream bin = new BufferedInputStream(in);
+                     p.load(bin);
++                } finally {
++                    if (in != null) {
++                        try { in.close(); } catch (IOException e) {}
++                    }
+                 }
+                 String keyStore =
+                         p.getProperty("javax.net.ssl.keyStore");
+@@ -682,8 +694,14 @@
+                 KeyStore ks = null;
+                 if (keyStore != null) {
+                     ks = KeyStore.getInstance(KeyStore.getDefaultType());
+-                    try (FileInputStream ksfis = new FileInputStream(keyStore)) {
++                    FileInputStream ksfis = null;
++                    try {
++                        ksfis = new FileInputStream(keyStore);
+                         ks.load(ksfis, keyStorePasswd);
++                    } finally {
++                        if (ksfis != null) {
++                            try { ksfis.close(); } catch (IOException e) {}
++                        }
+                     }
+                 }
+                 KeyManagerFactory kmf = KeyManagerFactory.getInstance(
+@@ -693,8 +711,14 @@
+                 KeyStore ts = null;
+                 if (trustStore != null) {
+                     ts = KeyStore.getInstance(KeyStore.getDefaultType());
+-                    try (FileInputStream tsfis = new FileInputStream(trustStore)) {
++                    FileInputStream tsfis = null;
++                    try {
++                        tsfis = new FileInputStream(trustStore);
+                         ts.load(tsfis, trustStorePasswd);
++                    } finally {
++                        if (tsfis != null) {
++                            try { tsfis.close(); } catch (IOException e) {}
++                        }
+                     }
+                 }
+                 TrustManagerFactory tmf = TrustManagerFactory.getInstance(