changeset 2726:0eb67382af67

Bring in 2014/04/15 security fixes. 2014-03-28 Andrew John Hughes <gnu.andrew@redhat.com> * Makefile.am: (CORBA_CHANGESET): Update to icedtea-2.4.7 tag. (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. (ICEDTEA_PATCHES): Add HotSpot security fixes for AArch64 port. (ICEDTEA_ENV): Set FULL_DEBUG_SYMBOLS=0 in AArch64 build to avoid generating .diz files. * NEWS: Updated. * hotspot.map: default updated to icedtea-2.4.7 tag. * patches/boot/ecj-autoboxing.patch: Regenerated. * patches/boot/ecj-diamond.patch: Regenerated and new cases added. * patches/boot/ecj-trywithresources.patch: Regenerated. * patches/hotspot/aarch64/20140415-8029858-enhance_array_copies.patch, * patches/hotspot/aarch64/20140415-8034926-attribute_classes_properly.patch: HotSpot security fixes for AArch64 port.
author Andrew John Hughes <gnu_andrew@member.fsf.org>
date Wed, 16 Apr 2014 03:18:47 +0100
parents 76236fae3eea
children 7f6fe0d48257
files ChangeLog Makefile.am NEWS hotspot.map patches/boot/ecj-autoboxing.patch patches/boot/ecj-diamond.patch patches/boot/ecj-trywithresources.patch patches/hotspot/aarch64/20140415-8029858-enhance_array_copies.patch patches/hotspot/aarch64/20140415-8034926-attribute_classes_properly.patch
diffstat 9 files changed, 1675 insertions(+), 1482 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Fri Mar 28 18:22:46 2014 +0000
+++ b/ChangeLog	Wed Apr 16 03:18:47 2014 +0100
@@ -1,3 +1,32 @@
+2014-03-28  Andrew John Hughes  <gnu.andrew@redhat.com>
+
+	* Makefile.am:
+	(CORBA_CHANGESET): Update to icedtea-2.4.7 tag.
+	(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.
+	(ICEDTEA_PATCHES): Add HotSpot security fixes for
+	AArch64 port.
+	(ICEDTEA_ENV): Set FULL_DEBUG_SYMBOLS=0 in AArch64
+	build to avoid generating .diz files.
+	* NEWS: Updated.
+	* hotspot.map: default updated to icedtea-2.4.7 tag.
+	* patches/boot/ecj-autoboxing.patch: Regenerated.
+	* patches/boot/ecj-diamond.patch: Regenerated and new
+	cases added.
+	* patches/boot/ecj-trywithresources.patch: Regenerated.
+	* patches/hotspot/aarch64/20140415-8029858-enhance_array_copies.patch,
+	* patches/hotspot/aarch64/20140415-8034926-attribute_classes_properly.patch:
+	HotSpot security fixes for AArch64 port.
+
 2014-03-28  Andrew John Hughes  <gnu.andrew@redhat.com>
 
 	* acinclude.m4:
--- a/Makefile.am	Fri Mar 28 18:22:46 2014 +0000
+++ b/Makefile.am	Wed Apr 16 03:18:47 2014 +0100
@@ -4,19 +4,19 @@
 BUILD_VERSION = b31
 COMBINED_VERSION = $(JDK_UPDATE_VERSION)-$(BUILD_VERSION)
 
-CORBA_CHANGESET = 48ef1bb6d120
-JAXP_CHANGESET = e0ba4b9a8b91
-JAXWS_CHANGESET = 4bd947cd146b
-JDK_CHANGESET = b5282042aae0
-LANGTOOLS_CHANGESET = 06eeb77dac24
-OPENJDK_CHANGESET = b028e58c1b77
+CORBA_CHANGESET = e6ad5b912691
+JAXP_CHANGESET = 94b7e8e0d96f
+JAXWS_CHANGESET = bd9a50a78d04
+JDK_CHANGESET = 9448fff93286
+LANGTOOLS_CHANGESET = 8c26a3c39128
+OPENJDK_CHANGESET = 13970e76b784
 
-CORBA_SHA256SUM = 2fcfe699797154da8b4ba5242e32468b2f3f42a0cb17039915bfb1f84887a5b6
-JAXP_SHA256SUM = e7014057721b8392676bd24760c3f7b3dd40548abb3c8dfbe8df2fa04d7c1fca
-JAXWS_SHA256SUM = 17ed5278872ad0c9ec3a849caf1480e5942b714e35c9a4a949d09daac4b34c5a
-JDK_SHA256SUM = ab9b0e973625604b12a2f027cb2a6f9bc5160ef7df55408da6ca8a9c3aaed2d5
-LANGTOOLS_SHA256SUM = a67e62618c70ef9190b2aef2b49be9d79624be9363bda258828b17494e092477
-OPENJDK_SHA256SUM = e6be030ac5934781d9682dc3108980fa7d2330c32da3cea4ae74df11fbaa92f2
+CORBA_SHA256SUM = cc37272df260d08207c84763d4c39d7807728ba2d5908276b9bc63e925e70674
+JAXP_SHA256SUM = 3515cd105c29563bf78432576e658005386f45d7c3b2b7eac7af86cf196aaaea
+JAXWS_SHA256SUM = 3e107628080d84a80a78ef0ef9dc3664989291dd17c8bacf031d59fba7bd7f4d
+JDK_SHA256SUM = 9222e5317264f20d4a0b8170b4c4d02459cda98333c18e3a75064e7856ff58be
+LANGTOOLS_SHA256SUM = 5af29e32344e2f2fc0beb31f91b8312f2a0d6d02c53b4cb700ee2e27bcf1043b
+OPENJDK_SHA256SUM = bcd45546509defc439f42f230c0ca64e8aa6ec00542c3634aab3a4c10be3fe6b
 
 CACAO_VERSION = e215e36be9fc
 CACAO_SHA256SUM = 4966514c72ee7ed108b882d9b6e65c3adf8a8f9c2dccb029f971b3c8cb4870ab
@@ -298,7 +298,9 @@
 endif
 
 if WITH_ALT_HSBUILD
-ICEDTEA_PATCHES += patches/hotspot/aarch64/werror.patch
+ICEDTEA_PATCHES += patches/hotspot/aarch64/werror.patch \
+	patches/hotspot/aarch64/20140415-8029858-enhance_array_copies.patch \
+	patches/hotspot/aarch64/20140415-8034926-attribute_classes_properly.patch
 endif
 
 ICEDTEA_PATCHES += $(DISTRIBUTION_PATCHES)
@@ -604,6 +606,13 @@
 	PAX_COMMAND="${PAX_COMMAND}"
 endif
 
+# This seems illogical, but it actually just
+# turns off the creation of separate debuginfo files.
+if WITH_ALT_HSBUILD
+ICEDTEA_ENV += \
+	FULL_DEBUG_SYMBOLS=0
+endif
+
 # OpenJDK boot build environment.
 ICEDTEA_ENV_BOOT = $(ICEDTEA_ENV) \
 	BOOTCLASSPATH_CLS_RT="-bootclasspath $(CLS_DIR_BOOT):$(RUNTIME)" \
--- a/NEWS	Fri Mar 28 18:22:46 2014 +0000
+++ b/NEWS	Wed Apr 16 03:18:47 2014 +0100
@@ -14,8 +14,63 @@
 
 New in release 2.4.7 (2014-04-XX):
 
+* Security fixes
+  - S8023046: Enhance splashscreen support
+  - S8025005: Enhance CORBA initializations
+  - S8025010, CVE-2014-2412: Enhance AWT contexts
+  - S8025030, CVE-2014-2414: Enhance stream handling
+  - S8025152, CVE-2014-0458: Enhance activation set up
+  - S8026067: Enhance signed jar verification
+  - S8026163, CVE-2014-2427: Enhance media provisioning
+  - S8026188, CVE-2014-2423: Enhance envelope factory
+  - S8026200: Enhance RowSet Factory
+  - S8026716, CVE-2014-2402: (aio) Enhance asynchronous channel handling
+  - S8026736, CVE-2014-2398: Enhance Javadoc pages
+  - S8026797, CVE-2014-0451: Enhance data transfers
+  - S8026801, CVE-2014-0452: Enhance endpoint addressing
+  - S8027766, CVE-2014-0453: Enhance RSA processing
+  - S8027775: Enhance ICU code.
+  - S8027841, CVE-2014-0429: Enhance pixel manipulations
+  - S8028385: Enhance RowSet Factory
+  - S8029282, CVE-2014-2403: Enhance CharInfo set up
+  - S8029286: Enhance subject delegation
+  - S8029699: Update Poller demo
+  - S8029730: Improve audio device additions
+  - S8029735: Enhance service mgmt natives
+  - S8029740, CVE-2014-0446: Enhance handling of loggers
+  - S8029745, CVE-2014-0454: Enhance algorithm checking
+  - S8029750: Enhance LCMS color processing (LCMS 2 only)
+  - S8029760, CVE-2013-6629: Enhance AWT image libraries (in-tree libjpeg)
+  - S8029844, CVE-2014-0455: Enhance argument validation
+  - S8029854, CVE-2014-2421: Enhance JPEG decodings
+  - S8029858, CVE-2014-0456: Enhance array copies
+  - S8030731, CVE-2014-0460: Improve name service robustness
+  - S8031330: Refactor ObjectFactory
+  - S8031335, CVE-2014-0459: Better color profiling
+  - S8031352, CVE-2013-6954: Enhance PNG handling (in-tree libpng)
+  - S8031394, CVE-2014-0457: (sl) Fix exception handling in ServiceLoader
+  - S8031395: Enhance LDAP processing
+  - S8032686, CVE-2014-2413: Issues with method invoke
+  - S8033618, CVE-2014-1876: Correct logging output
+  - S8034926, CVE-2014-2397: Attribute classes properly
+  - S8036794, CVE-2014-0461: Manage JavaScript instances
+* Backports
+  - S8004145: New improved hgforest.sh, ctrl-c now properly terminates mercurial processes.
+  - S8007625: race with nested repos in /common/bin/hgforest.sh
+  - S8011178: improve common/bin/hgforest.sh python detection (MacOS)
+  - S8011342: hgforest.sh : 'python --version' not supported on older python
+  - S8011350: hgforest.sh uses non-POSIX sh features that may fail with some shells
+  - S8024200: handle hg wrapper with space after #!
+  - S8025796: hgforest.sh could trigger unbuffered output from hg without complicated machinations
+  - S8028388: 9 jaxws tests failed in nightly build with java.lang.ClassCastException
+  - S8031477: [macosx] Loading AWT native library fails
+  - S8032370: No "Truncated file" warning from IIOReadWarningListener on JPEGImageReader
+  - S8035834: InetAddress.getLocalHost() can hang after JDK-8030731 was fixed
 * Bug fixes
+  - PR1393: JPEG support in build is broken on non-system-libjpeg builds
   - PR1726: configure fails looking for ecj.jar before even trying to find javac
+  - Red Hat local: Fix for repo with path statting with / .
+  - Remove unused hgforest script
 
 New in release 2.4.6 (2014-03-28):
 
--- a/hotspot.map	Fri Mar 28 18:22:46 2014 +0000
+++ b/hotspot.map	Wed Apr 16 03:18:47 2014 +0100
@@ -1,3 +1,3 @@
 # version url changeset sha256sum
-default http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot 172674e0ab65 2aadfe9b1848a619bd2d35f802b3e71ef5286e7822f9e7b02ce2539ca817d9b0
+default http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot 69b542696e5b e3bbed298ed7c77169fdfddc47cdb85c62ef2e5e7ea04ca28aa8779861efca65
 aarch64 http://hg.openjdk.java.net/aarch64-port/jdk7u/hotspot f50993b6c38d 64c2d0bfa71d6eecf18ab28fd64d5bd79af096f77548d80de7953c306fd9c22c
--- a/patches/boot/ecj-autoboxing.patch	Fri Mar 28 18:22:46 2014 +0000
+++ b/patches/boot/ecj-autoboxing.patch	Wed Apr 16 03:18:47 2014 +0100
@@ -1,6 +1,52 @@
+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	2014-04-11 13:53:55.090502246 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/BoundMethodHandle.java	2014-04-11 13:56:18.568583499 +0100
+@@ -71,11 +71,11 @@
+             case 'I':
+                 return (BoundMethodHandle) SpeciesData.EMPTY.extendWithType('I').constructor[0].invokeBasic(type, form, ValueConversions.widenSubword(x));
+             case 'J':
+-                return (BoundMethodHandle) SpeciesData.EMPTY.extendWithType('J').constructor[0].invokeBasic(type, form, (long) x);
++                return (BoundMethodHandle) SpeciesData.EMPTY.extendWithType('J').constructor[0].invokeBasic(type, form, (Long) x);
+             case 'F':
+-                return (BoundMethodHandle) SpeciesData.EMPTY.extendWithType('F').constructor[0].invokeBasic(type, form, (float) x);
++                return (BoundMethodHandle) SpeciesData.EMPTY.extendWithType('F').constructor[0].invokeBasic(type, form, (Float) x);
+             case 'D':
+-                return (BoundMethodHandle) SpeciesData.EMPTY.extendWithType('D').constructor[0].invokeBasic(type, form, (double) x);
++                return (BoundMethodHandle) SpeciesData.EMPTY.extendWithType('D').constructor[0].invokeBasic(type, form, (Double) x);
+             default : throw new InternalError("unexpected xtype: " + xtype);
+             }
+         } catch (Throwable t) {
+@@ -92,9 +92,9 @@
+             switch (xtype) {
+             case 'L': return cloneExtendL(type, form, x);
+             case 'I': return cloneExtendI(type, form, ValueConversions.widenSubword(x));
+-            case 'J': return cloneExtendJ(type, form, (long) x);
+-            case 'F': return cloneExtendF(type, form, (float) x);
+-            case 'D': return cloneExtendD(type, form, (double) x);
++            case 'J': return cloneExtendJ(type, form, (Long) x);
++            case 'F': return cloneExtendF(type, form, (Float) x);
++            case 'D': return cloneExtendD(type, form, (Double) x);
+             }
+         } catch (Throwable t) {
+             throw newInternalError(t);
+@@ -171,10 +171,10 @@
+         throw new InternalError("unexpected type: " + speciesData().types+"."+i);
+     }
+     /*non-public*/ final Object argL(int i) throws Throwable { return          speciesData().getters[i].invokeBasic(this); }
+-    /*non-public*/ final int    argI(int i) throws Throwable { return (int)    speciesData().getters[i].invokeBasic(this); }
+-    /*non-public*/ final float  argF(int i) throws Throwable { return (float)  speciesData().getters[i].invokeBasic(this); }
+-    /*non-public*/ final double argD(int i) throws Throwable { return (double) speciesData().getters[i].invokeBasic(this); }
+-    /*non-public*/ final long   argJ(int i) throws Throwable { return (long)   speciesData().getters[i].invokeBasic(this); }
++    /*non-public*/ final int    argI(int i) throws Throwable { return (Integer)    speciesData().getters[i].invokeBasic(this); }
++    /*non-public*/ final float  argF(int i) throws Throwable { return (Float)  speciesData().getters[i].invokeBasic(this); }
++    /*non-public*/ final double argD(int i) throws Throwable { return (Double) speciesData().getters[i].invokeBasic(this); }
++    /*non-public*/ final long   argJ(int i) throws Throwable { return (Long)   speciesData().getters[i].invokeBasic(this); }
+ 
+     //
+     // cloning API
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/CallSite.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/CallSite.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/CallSite.java	2012-11-30 12:17:08.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/CallSite.java	2012-11-30 15:01:56.540165063 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/CallSite.java	2013-10-09 22:54:00.613935571 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/CallSite.java	2014-04-11 13:55:24.783804675 +0100
 @@ -303,7 +303,7 @@
  
      private static Object maybeReBox(Object x) {
@@ -10,9 +56,77 @@
              if (xi == (byte) xi)
                  x = xi;  // must rebox; see JLS 5.1.7
          }
+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	2014-04-04 16:36:14.375922473 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java	2014-04-11 13:55:24.799804908 +0100
+@@ -315,11 +315,11 @@
+             return;
+         }
+         if (con instanceof Integer) {
+-            emitIconstInsn((int) con);
++            emitIconstInsn((Integer) con);
+             return;
+         }
+         if (con instanceof Long) {
+-            long x = (long) con;
++            long x = (Long) con;
+             if (x == (short) x) {
+                 emitIconstInsn((int) x);
+                 mv.visitInsn(Opcodes.I2L);
+@@ -327,7 +327,7 @@
+             }
+         }
+         if (con instanceof Float) {
+-            float x = (float) con;
++            float x = (Float) con;
+             if (x == (short) x) {
+                 emitIconstInsn((int) x);
+                 mv.visitInsn(Opcodes.I2F);
+@@ -335,7 +335,7 @@
+             }
+         }
+         if (con instanceof Double) {
+-            double x = (double) con;
++            double x = (Double) con;
+             if (x == (short) x) {
+                 emitIconstInsn((int) x);
+                 mv.visitInsn(Opcodes.I2D);
+@@ -343,7 +343,7 @@
+             }
+         }
+         if (con instanceof Boolean) {
+-            emitIconstInsn((boolean) con ? 1 : 0);
++            emitIconstInsn((Boolean) con ? 1 : 0);
+             return;
+         }
+         // fall through:
+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	2014-04-11 13:53:55.090502246 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/LambdaForm.java	2014-04-11 13:55:24.803804965 +0100
+@@ -1444,7 +1444,7 @@
+                         if (a1 instanceof Integer && a2 instanceof Integer) {
+                             if (sawInt)  continue;
+                             sawInt = true;
+-                            if ((int)a1 < (int)a2)  continue;  // still might be true
++                            if (((Integer)a1).intValue() < ((Integer)a2).intValue())  continue;  // still might be true
+                         }
+                         return false;
+                     }
+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	2014-04-11 13:53:55.122502710 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java	2014-04-11 13:55:24.807805024 +0100
+@@ -884,7 +884,7 @@
+                 MH_checkCallerClass = IMPL_LOOKUP
+                     .findStatic(THIS_CLASS, "checkCallerClass",
+                                 MethodType.methodType(boolean.class, Class.class, Class.class));
+-                assert((boolean) MH_checkCallerClass.invokeExact(THIS_CLASS, THIS_CLASS));
++                assert((Boolean) MH_checkCallerClass.invokeExact(THIS_CLASS, THIS_CLASS));
+             } catch (Throwable ex) {
+                 throw newInternalError(ex);
+             }
 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	2012-11-30 14:59:33.053919817 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/invoke/util/ValueConversions.java	2012-11-30 15:02:05.216300867 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/invoke/util/ValueConversions.java	2014-04-11 13:53:55.094502303 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/invoke/util/ValueConversions.java	2014-04-11 13:55:24.787804734 +0100
 @@ -191,9 +191,9 @@
          if (x instanceof Number) {
              res = (Number) x;
@@ -92,117 +206,3 @@
      }
  
      private static MethodType boxType(Wrapper wrap) {
-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	2012-11-30 17:27:25.095740183 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/BoundMethodHandle.java	2012-11-30 17:29:35.229853381 +0000
-@@ -71,11 +71,11 @@
-             case 'I':
-                 return (BoundMethodHandle) SpeciesData.EMPTY.extendWithType('I').constructor[0].invokeBasic(type, form, ValueConversions.widenSubword(x));
-             case 'J':
--                return (BoundMethodHandle) SpeciesData.EMPTY.extendWithType('J').constructor[0].invokeBasic(type, form, (long) x);
-+                return (BoundMethodHandle) SpeciesData.EMPTY.extendWithType('J').constructor[0].invokeBasic(type, form, (Long) x);
-             case 'F':
--                return (BoundMethodHandle) SpeciesData.EMPTY.extendWithType('F').constructor[0].invokeBasic(type, form, (float) x);
-+                return (BoundMethodHandle) SpeciesData.EMPTY.extendWithType('F').constructor[0].invokeBasic(type, form, (Float) x);
-             case 'D':
--                return (BoundMethodHandle) SpeciesData.EMPTY.extendWithType('D').constructor[0].invokeBasic(type, form, (double) x);
-+                return (BoundMethodHandle) SpeciesData.EMPTY.extendWithType('D').constructor[0].invokeBasic(type, form, (Double) x);
-             default : throw new InternalError("unexpected xtype: " + xtype);
-             }
-         } catch (Throwable t) {
-@@ -92,9 +92,9 @@
-             switch (xtype) {
-             case 'L': return cloneExtendL(type, form, x);
-             case 'I': return cloneExtendI(type, form, ValueConversions.widenSubword(x));
--            case 'J': return cloneExtendJ(type, form, (long) x);
--            case 'F': return cloneExtendF(type, form, (float) x);
--            case 'D': return cloneExtendD(type, form, (double) x);
-+            case 'J': return cloneExtendJ(type, form, (Long) x);
-+            case 'F': return cloneExtendF(type, form, (Float) x);
-+            case 'D': return cloneExtendD(type, form, (Double) x);
-             }
-         } catch (Throwable t) {
-             throw newInternalError(t);
-@@ -171,10 +171,10 @@
-         throw new InternalError("unexpected type: " + speciesData().types+"."+i);
-     }
-     public final Object argL(int i) throws Throwable { return          speciesData().getters[i].invokeBasic(this); }
--    public final int    argI(int i) throws Throwable { return (int)    speciesData().getters[i].invokeBasic(this); }
--    public final float  argF(int i) throws Throwable { return (float)  speciesData().getters[i].invokeBasic(this); }
--    public final double argD(int i) throws Throwable { return (double) speciesData().getters[i].invokeBasic(this); }
--    public final long   argJ(int i) throws Throwable { return (long)   speciesData().getters[i].invokeBasic(this); }
-+    public final int    argI(int i) throws Throwable { return (Integer)    speciesData().getters[i].invokeBasic(this); }
-+    public final float  argF(int i) throws Throwable { return (Float)  speciesData().getters[i].invokeBasic(this); }
-+    public final double argD(int i) throws Throwable { return (Double) speciesData().getters[i].invokeBasic(this); }
-+    public final long   argJ(int i) throws Throwable { return (Long)   speciesData().getters[i].invokeBasic(this); }
- 
-     //
-     // cloning API
-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	2012-11-30 17:25:45.038114739 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java	2012-11-30 17:26:34.766922659 +0000
-@@ -317,11 +317,11 @@
-             return;
-         }
-         if (con instanceof Integer) {
--            emitIconstInsn((int) con);
-+            emitIconstInsn((Integer) con);
-             return;
-         }
-         if (con instanceof Long) {
--            long x = (long) con;
-+            long x = (Long) con;
-             if (x == (short) x) {
-                 emitIconstInsn((int) x);
-                 mv.visitInsn(Opcodes.I2L);
-@@ -329,7 +329,7 @@
-             }
-         }
-         if (con instanceof Float) {
--            float x = (float) con;
-+            float x = (Float) con;
-             if (x == (short) x) {
-                 emitIconstInsn((int) x);
-                 mv.visitInsn(Opcodes.I2F);
-@@ -337,7 +337,7 @@
-             }
-         }
-         if (con instanceof Double) {
--            double x = (double) con;
-+            double x = (Double) con;
-             if (x == (short) x) {
-                 emitIconstInsn((int) x);
-                 mv.visitInsn(Opcodes.I2D);
-@@ -345,7 +345,7 @@
-             }
-         }
-         if (con instanceof Boolean) {
--            emitIconstInsn((boolean) con ? 1 : 0);
-+            emitIconstInsn((Boolean) con ? 1 : 0);
-             return;
-         }
-         // fall through:
-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	2012-11-30 17:23:21.555782849 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/LambdaForm.java	2012-11-30 17:24:24.244801829 +0000
-@@ -1440,7 +1440,7 @@
-                         if (a1 instanceof Integer && a2 instanceof Integer) {
-                             if (sawInt)  continue;
-                             sawInt = true;
--                            if ((int)a1 < (int)a2)  continue;  // still might be true
-+                            if (((Integer)a1).intValue() < ((Integer)a2).intValue())  continue;  // still might be true
-                         }
-                         return false;
-                     }
-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	2012-11-30 17:22:27.146898269 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java	2012-11-30 17:22:51.067287189 +0000
-@@ -900,7 +900,7 @@
-                 MH_checkCallerClass = IMPL_LOOKUP
-                     .findStatic(THIS_CLASS, "checkCallerClass",
-                                 MethodType.methodType(boolean.class, Class.class, Class.class));
--                assert((boolean) MH_checkCallerClass.invokeExact(THIS_CLASS, THIS_CLASS));
-+                assert((Boolean) MH_checkCallerClass.invokeExact(THIS_CLASS, THIS_CLASS));
-             } catch (Throwable ex) {
-                 throw newInternalError(ex);
-             }
--- a/patches/boot/ecj-diamond.patch	Fri Mar 28 18:22:46 2014 +0000
+++ b/patches/boot/ecj-diamond.patch	Wed Apr 16 03:18:47 2014 +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	2014-01-23 23:19:18.000000000 +0000
-+++ openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/encoding/CachedCodeBase.java	2014-01-28 11:39:19.697588883 +0000
+--- openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/encoding/CachedCodeBase.java	2013-02-14 00:52:55.429120087 +0000
++++ openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/encoding/CachedCodeBase.java	2014-04-11 14:05:59.912903126 +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/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	2014-01-23 23:19:18.000000000 +0000
-+++ openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java	2014-01-28 11:39:19.697588883 +0000
+--- openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java	2013-07-01 17:10:34.678170415 +0100
++++ openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java	2014-04-11 14:05:59.912903126 +0100
 @@ -1315,7 +1315,7 @@
      protected void shutdownServants(boolean wait_for_completion) {
          Set<ObjectAdapterFactory> oaset;
@@ -23,8 +23,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	2014-01-23 23:19:18.000000000 +0000
-+++ openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/orbutil/threadpool/ThreadPoolImpl.java	2014-01-28 11:39:19.697588883 +0000
+--- openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/orbutil/threadpool/ThreadPoolImpl.java	2013-02-14 00:52:55.513121458 +0000
++++ openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/orbutil/threadpool/ThreadPoolImpl.java	2014-04-11 14:05:59.920903239 +0100
 @@ -108,7 +108,7 @@
      private ThreadGroup threadGroup;
  
@@ -44,8 +44,8 @@
  
          for (WorkerThread wt : copy) {
 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	2014-01-28 11:38:19.384649230 +0000
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/serializer/Encodings.java	2014-01-28 11:39:19.697588883 +0000
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/serializer/Encodings.java	2014-04-11 13:58:34.354542618 +0100
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/serializer/Encodings.java	2014-04-11 14:05:59.924903296 +0100
 @@ -297,8 +297,8 @@
      //
      private final static class EncodingInfos {
@@ -66,9 +66,26 @@
                  while (keys.hasMoreElements()) {
                      final String javaName = (String) keys.nextElement();
                      final String[] mimes = parseMimeTypes(props.getProperty(javaName));
+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	2014-01-15 03:22:51.681704342 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/beans/decoder/DocumentHandler.java	2014-04-11 14:05:59.928903352 +0100
+@@ -63,9 +63,10 @@
+  */
+ public final class DocumentHandler extends DefaultHandler {
+     private final AccessControlContext acc = AccessController.getContext();
+-    private final Map<String, Class<? extends ElementHandler>> handlers = new HashMap<>();
+-    private final Map<String, Object> environment = new HashMap<>();
+-    private final List<Object> objects = new ArrayList<>();
++    private final Map<String, Class<? extends ElementHandler>> handlers =
++					      new HashMap<String, Class<? extends ElementHandler>>();
++    private final Map<String, Object> environment = new HashMap<String, Object>();
++    private final List<Object> objects = new ArrayList<Object>();
+ 
+     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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/beans/TypeResolver.java	2014-01-28 11:39:19.697588883 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/beans/TypeResolver.java	2013-10-09 22:53:59.609920014 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/beans/TypeResolver.java	2014-04-11 14:05:59.928903352 +0100
 @@ -46,7 +46,7 @@
   */
  public final class TypeResolver {
@@ -87,26 +104,9 @@
                      prepare(map, actual);
                      CACHE.put(actual, map);
                  }
-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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/beans/decoder/DocumentHandler.java	2014-01-28 11:39:19.697588883 +0000
-@@ -63,9 +63,10 @@
-  */
- public final class DocumentHandler extends DefaultHandler {
-     private final AccessControlContext acc = AccessController.getContext();
--    private final Map<String, Class<? extends ElementHandler>> handlers = new HashMap<>();
--    private final Map<String, Object> environment = new HashMap<>();
--    private final List<Object> objects = new ArrayList<>();
-+    private final Map<String, Class<? extends ElementHandler>> handlers =
-+					      new HashMap<String, Class<? extends ElementHandler>>();
-+    private final Map<String, Object> environment = new HashMap<String, Object>();
-+    private final List<Object> objects = new ArrayList<Object>();
- 
-     private Reference<ClassLoader> loader;
-     private ExceptionListener listener;
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java	2014-01-28 11:39:19.697588883 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java	2013-10-09 22:53:59.921924849 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java	2014-04-11 14:05:59.932903410 +0100
 @@ -104,9 +104,9 @@
          return this.def.compareTo(that.def);
      }
@@ -178,8 +178,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	2014-01-28 11:38:19.400649478 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java	2014-01-28 11:39:19.697588883 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java	2014-04-11 13:58:34.374542906 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java	2014-04-11 14:05:59.940903523 +0100
 @@ -257,7 +257,7 @@
          assert(basicCodings[_meta_default] == null);
          assert(basicCodings[_meta_canon_min] != null);
@@ -242,8 +242,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	2014-01-28 11:38:19.296647860 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java	2014-01-28 11:39:19.697588883 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java	2014-04-11 13:58:34.266541349 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java	2014-04-11 14:05:59.944903580 +0100
 @@ -466,7 +466,7 @@
  
      void readInnerClasses(Class cls) throws IOException {
@@ -253,21 +253,9 @@
          for (int i = 0; i < nc; i++) {
              InnerClass ic =
                  new InnerClass(readClassRef(),
-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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java	2014-01-28 11:39:19.701588945 +0000
-@@ -402,7 +402,7 @@
-     private static Map<Coding, Coding> codeMap;
- 
-     private static synchronized Coding of(int B, int H, int S, int del) {
--        if (codeMap == null)  codeMap = new HashMap<>();
-+        if (codeMap == null)  codeMap = new HashMap<Coding, Coding>();
-         Coding x0 = new Coding(B, H, S, del);
-         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/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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java	2014-01-28 11:39:19.701588945 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java	2013-10-09 22:53:59.929924973 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java	2014-04-11 14:05:59.948903636 +0100
 @@ -743,9 +743,9 @@
          // Steps 1/2/3 are interdependent, and may be iterated.
          // Steps 4 and 5 may be decided independently afterward.
@@ -303,9 +291,21 @@
              for (int i = start; i < end; i++) {
                  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	2013-10-09 22:53:59.929924973 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java	2014-04-11 14:05:59.944903580 +0100
+@@ -402,7 +402,7 @@
+     private static Map<Coding, Coding> codeMap;
+ 
+     private static synchronized Coding of(int B, int H, int S, int del) {
+-        if (codeMap == null)  codeMap = new HashMap<>();
++        if (codeMap == null)  codeMap = new HashMap<Coding, Coding>();
+         Coding x0 = new Coding(B, H, S, del);
+         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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java	2014-01-28 11:39:19.701588945 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java	2013-10-09 22:53:59.929924973 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java	2014-04-11 14:05:59.956903749 +0100
 @@ -919,7 +919,7 @@
      public static
      Index[] partition(Index ix, int[] keys) {
@@ -334,8 +334,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	2014-01-28 11:38:19.400649478 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java	2014-01-28 11:39:19.701588945 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java	2014-04-11 13:58:34.374542906 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java	2014-04-11 14:05:59.956903749 +0100
 @@ -61,7 +61,7 @@
                  ResourceBundle.getBundle("com.sun.java.util.jar.pack.DriverResource");
  
@@ -373,8 +373,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/FixedList.java	2014-01-28 11:39:19.701588945 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/FixedList.java	2013-10-09 22:53:59.933925034 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/FixedList.java	2014-04-11 14:05:59.960903806 +0100
 @@ -45,7 +45,7 @@
      private final ArrayList<E> flist;
  
@@ -385,8 +385,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/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	2014-01-28 11:38:19.300647921 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java	2014-01-28 11:39:19.701588945 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java	2014-04-11 13:58:34.270541406 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java	2014-04-11 14:05:59.964903862 +0100
 @@ -112,7 +112,7 @@
      public static final Attribute.Layout attrSourceFileSpecial;
      public static final Map<Attribute.Layout, Attribute> attrDefs;
@@ -542,8 +542,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	2014-01-28 11:38:19.400649478 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java	2014-01-28 11:39:19.701588945 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java	2014-04-11 13:58:34.374542906 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java	2014-04-11 14:05:59.968903920 +0100
 @@ -686,7 +686,7 @@
          cp_Signature_classes.expectLength(getIntTotal(numSigClasses));
          cp_Signature_classes.readFrom(in);
@@ -657,8 +657,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	2014-01-28 11:38:19.400649478 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java	2014-01-28 11:39:19.701588945 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java	2014-04-11 13:58:34.374542906 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java	2014-04-11 14:05:59.968903920 +0100
 @@ -116,7 +116,7 @@
      int[][]     attrCounts;       // count attr. occurences
  
@@ -714,8 +714,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java	2014-01-28 11:39:19.701588945 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java	2013-10-09 22:53:59.937925097 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java	2014-04-11 14:05:59.976904033 +0100
 @@ -183,8 +183,8 @@
          final Map<Attribute.Layout, Attribute> attrDefs;
          final Map<Attribute.Layout, String> attrCommands;
@@ -746,8 +746,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java	2014-01-28 11:39:19.701588945 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java	2013-10-09 22:53:59.937925097 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java	2014-04-11 14:05:59.980904090 +0100
 @@ -309,7 +309,7 @@
          // As each new value is added, we assert that the value
          // was not already in the set.
@@ -758,8 +758,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	2014-01-28 11:38:19.400649478 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java	2014-01-28 11:39:19.701588945 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java	2014-04-11 13:58:34.374542906 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java	2014-04-11 14:05:59.980904090 +0100
 @@ -48,8 +48,8 @@
   */
  
@@ -790,8 +790,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java	2014-01-28 11:39:19.701588945 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java	2013-10-09 22:53:59.937925097 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java	2014-04-11 14:05:59.984904146 +0100
 @@ -58,12 +58,12 @@
      private final Map<String, MemberEntry> memberEntries;
  
@@ -812,8 +812,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	2014-01-28 11:38:19.404649541 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java	2014-01-28 11:39:19.701588945 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java	2014-04-11 13:58:34.374542906 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java	2014-04-11 14:05:59.984904146 +0100
 @@ -233,7 +233,7 @@
              props.setProperty(java.util.jar.Pack200.Unpacker.PROGRESS,"50");
              pkg.ensureAllClassFiles();
@@ -824,8 +824,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	2014-01-28 11:38:19.404649541 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java	2014-01-28 11:39:19.701588945 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java	2014-04-11 13:58:34.374542906 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java	2014-04-11 14:05:59.988904202 +0100
 @@ -132,7 +132,7 @@
      // Keep a TLS point to the global data and environment.
      // This makes it simpler to supply environmental options
@@ -835,9 +835,33 @@
  
      // 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	2014-04-11 14:11:25.841801783 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/jmx/remote/security/SubjectDelegator.java	2014-04-11 14:24:28.078759639 +0100
+@@ -60,9 +60,9 @@
+         }
+         if (principalsCache == null || accCache == null) {
+             principalsCache =
+-                    new CacheMap<>(PRINCIPALS_CACHE_SIZE);
++		new CacheMap<Subject, Principal[]>(PRINCIPALS_CACHE_SIZE);
+             accCache =
+-                    new CacheMap<>(ACC_CACHE_SIZE);
++		new CacheMap<Subject, AccessControlContext>(ACC_CACHE_SIZE);
+         }
+ 
+         // Retrieve the principals for the given
+@@ -106,7 +106,7 @@
+         // principal in the delegated subject
+         //
+         final Principal[] dp = delegatedPrincipals;
+-        final Collection<Permission> permissions = new ArrayList<>(dp.length);
++        final Collection<Permission> permissions = new ArrayList<Permission>(dp.length);
+         for(Principal p : dp) {
+             final String pname = p.getClass().getName() + "." + p.getName();
+             permissions.add(new SubjectDelegationPermission(pname));
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/media/sound/AbstractLine.java	2014-01-28 11:39:19.701588945 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/media/sound/AbstractLine.java	2013-10-09 22:53:57.665889894 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/media/sound/AbstractLine.java	2014-04-11 14:05:59.996904316 +0100
 @@ -54,7 +54,7 @@
       * Contains event dispatcher per thread group.
       */
@@ -847,9 +871,21 @@
  
      /**
       * 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	2014-04-11 14:10:26.632813482 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/media/sound/JDK13Services.java	2014-04-11 14:11:42.406077821 +0100
+@@ -102,7 +102,7 @@
+                 && !SoundbankReader.class.equals(serviceClass)
+                 && !MidiFileWriter.class.equals(serviceClass)
+                 && !MidiFileReader.class.equals(serviceClass)) {
+-            providers = new ArrayList<>(0);
++            providers = new ArrayList<Object>(0);
+         } else {
+             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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/media/sound/RealTimeSequencer.java	2014-01-28 11:39:19.701588945 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/media/sound/RealTimeSequencer.java	2013-10-09 22:53:57.757891319 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/media/sound/RealTimeSequencer.java	2014-04-11 14:05:59.996904316 +0100
 @@ -59,7 +59,7 @@
       * dispatcher instance with a factory in EventDispatcher
       */
@@ -860,8 +896,8 @@
      /**
       * All RealTimeSequencers share this info object.
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/rmi/rmid/ExecOptionPermission.java	2014-01-28 11:39:19.701588945 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/rmi/rmid/ExecOptionPermission.java	2013-10-09 22:53:58.241898818 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/rmi/rmid/ExecOptionPermission.java	2014-04-11 14:06:00.000904372 +0100
 @@ -231,7 +231,7 @@
           * Create an empty ExecOptionPermissionCollection.
           */
@@ -872,8 +908,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/rmi/rmid/ExecPermission.java	2014-01-28 11:39:19.701588945 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/rmi/rmid/ExecPermission.java	2013-10-09 22:53:58.241898818 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/rmi/rmid/ExecPermission.java	2014-04-11 14:06:00.000904372 +0100
 @@ -235,7 +235,7 @@
           * Create an empty ExecPermissionCollection.
           */
@@ -884,9 +920,9 @@
  
          /**
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java	2014-01-28 11:39:19.705589008 +0000
-@@ -1284,7 +1284,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java	2014-04-04 16:14:39.952629062 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java	2014-04-11 14:06:00.008904485 +0100
+@@ -1285,7 +1285,7 @@
       */
      public Collection<?> toCollection() throws SQLException {
  
@@ -895,7 +931,7 @@
  
          for (int i = 0; i<numRows; i++) {
              tMap.put(Integer.valueOf(i), rvh.get(i));
-@@ -1314,7 +1314,7 @@
+@@ -1315,7 +1315,7 @@
      public Collection<?> toCollection(int column) throws SQLException {
  
          int nRows = numRows;
@@ -905,8 +941,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java	2014-01-28 11:39:19.705589008 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java	2013-10-09 22:53:58.265899191 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java	2014-04-11 14:06:00.012904542 +0100
 @@ -222,7 +222,7 @@
             // either of the setter methods have been set.
             if(boolColId){
@@ -916,21 +952,9 @@
                for(int i=0;i<cRowset.getMatchColumnNames().length;i++) {
                    if( (strMatchKey = (cRowset.getMatchColumnNames())[i]) != null) {
                        iMatchKey = cRowset.findColumn(strMatchKey);
-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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/PolicyFile.java	2014-01-28 11:39:19.705589008 +0000
-@@ -1180,7 +1180,7 @@
-             // Done
-             return certs;
- 
--        ArrayList<Certificate> userCertList = new ArrayList<>();
-+        ArrayList<Certificate> userCertList = new ArrayList<Certificate>();
-         i = 0;
-         while (i < certs.length) {
-             userCertList.add(certs[i]);
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/callback/DialogCallbackHandler.java	2014-01-28 11:39:19.705589008 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/callback/DialogCallbackHandler.java	2013-10-09 22:53:58.341900368 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/callback/DialogCallbackHandler.java	2014-04-11 14:06:00.016904600 +0100
 @@ -99,10 +99,10 @@
          throws UnsupportedCallbackException
      {
@@ -945,8 +969,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/login/ConfigFile.java	2014-01-28 11:39:19.705589008 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/login/ConfigFile.java	2013-10-09 22:53:58.345900430 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/login/ConfigFile.java	2014-04-11 14:06:00.020904656 +0100
 @@ -152,7 +152,7 @@
  
          // new configuration
@@ -975,8 +999,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/JndiLoginModule.java	2014-01-28 11:39:19.705589008 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/JndiLoginModule.java	2013-10-09 22:53:58.345900430 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/JndiLoginModule.java	2014-04-11 14:06:00.020904656 +0100
 @@ -184,7 +184,7 @@
      private UnixNumericUserPrincipal UIDPrincipal;
      private UnixNumericGroupPrincipal GIDPrincipal;
@@ -987,8 +1011,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java	2014-01-28 11:39:19.705589008 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java	2013-10-09 22:53:58.345900430 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java	2014-04-11 14:06:00.024904712 +0100
 @@ -658,7 +658,7 @@
                  throw new FailedLoginException(
                      "Unable to find X.509 certificate chain in keystore");
@@ -999,8 +1023,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/SolarisLoginModule.java	2014-01-28 11:39:19.705589008 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/SolarisLoginModule.java	2013-10-09 22:53:58.365900741 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/SolarisLoginModule.java	2014-04-11 14:06:00.024904712 +0100
 @@ -76,7 +76,7 @@
      private SolarisNumericUserPrincipal UIDPrincipal;
      private SolarisNumericGroupPrincipal GIDPrincipal;
@@ -1011,8 +1035,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/UnixLoginModule.java	2014-01-28 11:39:19.705589008 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/UnixLoginModule.java	2013-10-09 22:53:58.365900741 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/UnixLoginModule.java	2014-04-11 14:06:00.028904769 +0100
 @@ -70,7 +70,7 @@
      private UnixNumericUserPrincipal UIDPrincipal;
      private UnixNumericGroupPrincipal GIDPrincipal;
@@ -1022,9 +1046,21 @@
  
      /**
       * 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	2013-10-09 22:53:58.321900059 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/PolicyFile.java	2014-04-11 14:06:00.016904600 +0100
+@@ -1180,7 +1180,7 @@
+             // Done
+             return certs;
+ 
+-        ArrayList<Certificate> userCertList = new ArrayList<>();
++        ArrayList<Certificate> userCertList = new ArrayList<Certificate>();
+         i = 0;
+         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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/tools/example/trace/EventThread.java	2014-01-28 11:39:19.705589008 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/tools/example/trace/EventThread.java	2013-10-09 22:53:58.585904149 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/tools/example/trace/EventThread.java	2014-04-11 14:06:00.028904769 +0100
 @@ -59,7 +59,7 @@
  
      // Maps ThreadReference to ThreadTrace instances
@@ -1035,8 +1071,8 @@
      EventThread(VirtualMachine vm, String[] excludes, PrintWriter writer) {
          super("event-handler");
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/beans/Introspector.java	2014-01-28 11:39:19.705589008 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/beans/Introspector.java	2013-10-09 22:54:00.045926770 +0100
++++ openjdk-boot/jdk/src/share/classes/java/beans/Introspector.java	2014-04-11 14:06:00.040904939 +0100
 @@ -97,7 +97,7 @@
      public final static int IGNORE_ALL_BEANINFO        = 3;
  
@@ -1065,8 +1101,8 @@
          }
          return targetBeanInfo;
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/beans/ThreadGroupContext.java	2014-01-28 11:39:19.705589008 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/beans/ThreadGroupContext.java	2014-01-16 16:51:41.160570996 +0000
++++ openjdk-boot/jdk/src/share/classes/java/beans/ThreadGroupContext.java	2014-04-11 14:06:00.040904939 +0100
 @@ -96,7 +96,7 @@
  
      BeanInfo putBeanInfo(Class<?> type, BeanInfo info) {
@@ -1077,8 +1113,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/io/DeleteOnExitHook.java	2014-01-28 11:39:19.705589008 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/io/DeleteOnExitHook.java	2013-10-09 22:54:00.257930055 +0100
++++ openjdk-boot/jdk/src/share/classes/java/io/DeleteOnExitHook.java	2014-04-11 14:06:00.044904995 +0100
 @@ -34,7 +34,7 @@
   */
  
@@ -1097,9 +1133,21 @@
  
          // 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	2013-10-09 22:54:00.265930178 +0100
++++ openjdk-boot/jdk/src/share/classes/java/io/FileInputStream.java	2014-04-11 14:06:00.048905052 +0100
+@@ -61,7 +61,7 @@
+     private volatile boolean closed = false;
+ 
+     private static final ThreadLocal<Boolean> runningFinalize =
+-        new ThreadLocal<>();
++        new ThreadLocal<Boolean>();
+ 
+     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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/io/File.java	2014-01-28 11:39:19.709589070 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/io/File.java	2013-10-16 13:52:57.091886281 +0100
++++ openjdk-boot/jdk/src/share/classes/java/io/File.java	2014-04-11 14:06:00.044904995 +0100
 @@ -1150,7 +1150,7 @@
          if ((names == null) || (filter == null)) {
              return names;
@@ -1127,21 +1175,9 @@
          for (String s : ss) {
              File f = new File(s, this);
              if ((filter == null) || filter.accept(f))
-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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/io/FileInputStream.java	2014-01-28 11:39:19.705589008 +0000
-@@ -61,7 +61,7 @@
-     private volatile boolean closed = false;
- 
-     private static final ThreadLocal<Boolean> runningFinalize =
--        new ThreadLocal<>();
-+        new ThreadLocal<Boolean>();
- 
-     private static boolean isRunningFinalize() {
-         Boolean val;
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/io/FileOutputStream.java	2014-01-28 11:39:19.709589070 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/io/FileOutputStream.java	2013-10-09 22:54:00.265930178 +0100
++++ openjdk-boot/jdk/src/share/classes/java/io/FileOutputStream.java	2014-04-11 14:06:00.048905052 +0100
 @@ -76,7 +76,7 @@
      private final Object closeLock = new Object();
      private volatile boolean closed = false;
@@ -1152,8 +1188,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/io/FilePermission.java	2014-01-28 11:39:19.709589070 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/io/FilePermission.java	2013-10-09 22:54:00.269930241 +0100
++++ openjdk-boot/jdk/src/share/classes/java/io/FilePermission.java	2014-04-11 14:06:00.052905110 +0100
 @@ -725,7 +725,7 @@
       */
  
@@ -1182,8 +1218,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/io/ObjectInputStream.java	2014-01-28 11:39:19.709589070 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectInputStream.java	2013-10-09 22:54:00.285930488 +0100
++++ openjdk-boot/jdk/src/share/classes/java/io/ObjectInputStream.java	2014-04-11 14:06:00.052905110 +0100
 @@ -214,7 +214,7 @@
  
      /** table mapping primitive type names to corresponding class objects */
@@ -1208,8 +1244,8 @@
  
      /** filter stream for handling block data conversion */
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/io/ObjectOutputStream.java	2014-01-28 11:39:19.709589070 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectOutputStream.java	2013-10-09 22:54:00.297930674 +0100
++++ openjdk-boot/jdk/src/share/classes/java/io/ObjectOutputStream.java	2014-04-11 14:06:00.056905166 +0100
 @@ -166,11 +166,11 @@
      private static class Caches {
          /** cache of subclass security audit results */
@@ -1234,8 +1270,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/io/ObjectStreamClass.java	2014-01-28 11:39:19.709589070 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectStreamClass.java	2013-10-09 22:54:00.309930860 +0100
++++ openjdk-boot/jdk/src/share/classes/java/io/ObjectStreamClass.java	2014-04-11 14:06:00.056905166 +0100
 @@ -87,18 +87,18 @@
      private static class Caches {
          /** cache mapping local classes -> descriptors */
@@ -1325,8 +1361,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/lang/ApplicationShutdownHooks.java	2014-01-28 11:39:19.709589070 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/ApplicationShutdownHooks.java	2013-10-09 22:54:00.381931976 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/ApplicationShutdownHooks.java	2014-04-11 14:06:00.060905222 +0100
 @@ -47,7 +47,7 @@
                      }
                  }
@@ -1337,8 +1373,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/lang/Character.java	2014-01-28 11:39:19.709589070 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/Character.java	2013-10-09 22:54:00.417932533 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/Character.java	2014-04-11 14:06:00.060905222 +0100
 @@ -646,7 +646,8 @@
       */
      public static final class UnicodeBlock extends Subset {
@@ -1359,8 +1395,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/lang/CharacterName.java	2014-01-28 11:39:19.709589070 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/CharacterName.java	2013-10-09 22:54:00.417932533 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/CharacterName.java	2014-04-11 14:06:00.064905279 +0100
 @@ -81,7 +81,7 @@
              } while (cpOff < cpEnd);
              strPool = new byte[total - cpEnd];
@@ -1371,8 +1407,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/lang/Class.java	2014-01-28 11:39:19.709589070 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/Class.java	2013-10-09 22:54:00.425932657 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/Class.java	2014-04-11 14:06:00.064905279 +0100
 @@ -1346,7 +1346,7 @@
          return java.security.AccessController.doPrivileged(
              new java.security.PrivilegedAction<Class<?>[]>() {
@@ -1467,8 +1503,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/lang/ClassLoader.java	2014-01-28 11:39:19.713589132 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/ClassLoader.java	2013-10-16 13:52:57.647894798 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/ClassLoader.java	2014-04-11 14:06:00.068905336 +0100
 @@ -248,7 +248,7 @@
  
      // The classes loaded by this class loader. The only purpose of this table
@@ -1575,8 +1611,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/lang/ClassValue.java	2014-01-28 11:39:19.713589132 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/ClassValue.java	2013-10-09 22:54:00.437932844 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/ClassValue.java	2014-04-11 14:06:00.068905336 +0100
 @@ -297,12 +297,12 @@
       * Some machines may also require a barrier instruction to execute
       * before this.version.
@@ -1617,128 +1653,9 @@
  
          // 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/Package.java openjdk-boot/jdk/src/share/classes/java/lang/Package.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/Package.java	2014-01-28 11:38:19.404649541 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/lang/Package.java	2014-01-28 11:39:19.713589132 +0000
-@@ -599,13 +599,16 @@
-     }
- 
-     // The map of loaded system packages
--    private static Map<String, Package> pkgs = new HashMap<>(31);
-+    private static Map<String, Package> pkgs
-+        = new HashMap<String, Package>(31);
- 
-     // Maps each directory or zip file name to its corresponding url
--    private static Map<String, URL> urls = new HashMap<>(10);
-+    private static Map<String, URL> urls
-+        = new HashMap<String, URL>(10);
- 
-     // Maps each code source url for a jar file to its manifest
--    private static Map<String, Manifest> mans = new HashMap<>(10);
-+    private static Map<String, Manifest> mans
-+        = new HashMap<String, Manifest>(10);
- 
-     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	2014-01-28 11:38:19.384649230 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/lang/ProcessBuilder.java	2014-01-28 11:39:19.713589132 +0000
-@@ -214,7 +214,7 @@
-      * @param command a string array containing the program and its arguments
-      */
-     public ProcessBuilder(String... command) {
--        this.command = new ArrayList<>(command.length);
-+        this.command = new ArrayList<String>(command.length);
-         for (String arg : command)
-             this.command.add(arg);
-     }
-@@ -251,7 +251,7 @@
-      * @return this process builder
-      */
-     public ProcessBuilder command(String... command) {
--        this.command = new ArrayList<>(command.length);
-+        this.command = new ArrayList<String>(command.length);
-         for (String arg : command)
-             this.command.add(arg);
-         return this;
-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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/lang/String.java	2014-01-28 11:39:19.717589195 +0000
-@@ -2282,7 +2282,7 @@
-             int off = 0;
-             int next = 0;
-             boolean limited = limit > 0;
--            ArrayList<String> list = new ArrayList<>();
-+            ArrayList<String> list = new ArrayList<String>();
-             while ((next = indexOf(ch, off)) != -1) {
-                 if (!limited || list.size() < limit - 1) {
-                     list.add(substring(off, next));
-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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/lang/StringCoding.java	2014-01-28 11:39:19.717589195 +0000
-@@ -53,9 +53,9 @@
- 
-     /** The cached coders for each thread */
-     private final static ThreadLocal<SoftReference<StringDecoder>> decoder =
--        new ThreadLocal<>();
-+        new ThreadLocal<SoftReference<StringDecoder>>();
-     private final static ThreadLocal<SoftReference<StringEncoder>> encoder =
--        new ThreadLocal<>();
-+        new ThreadLocal<SoftReference<StringEncoder>>();
- 
-     private static boolean warnUnsupportedCharset = true;
- 
-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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/lang/Thread.java	2014-01-28 11:39:19.717589195 +0000
-@@ -1637,7 +1637,8 @@
-         // Get a snapshot of the list of all threads
-         Thread[] threads = getThreads();
-         StackTraceElement[][] traces = dumpThreads(threads);
--        Map<Thread, StackTraceElement[]> m = new HashMap<>(threads.length);
-+        Map<Thread, StackTraceElement[]> m
-+            = new HashMap<Thread, StackTraceElement[]>(threads.length);
-         for (int i = 0; i < threads.length; i++) {
-             StackTraceElement[] stackTrace = traces[i];
-             if (stackTrace != null) {
-@@ -1658,11 +1659,11 @@
-     private static class Caches {
-         /** cache of subclass security audit results */
-         static final ConcurrentMap<WeakClassKey,Boolean> subclassAudits =
--            new ConcurrentHashMap<>();
-+            new ConcurrentHashMap<WeakClassKey,Boolean>();
- 
-         /** queue for WeakReferences to audited subclasses */
-         static final ReferenceQueue<Class<?>> subclassAuditsQueue =
--            new ReferenceQueue<>();
-+            new ReferenceQueue<Class<?>>();
-     }
- 
-     /**
-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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/lang/Throwable.java	2014-01-28 11:39:19.717589195 +0000
-@@ -918,7 +918,7 @@
-                 // Use the sentinel for a zero-length list
-                 suppressed = SUPPRESSED_SENTINEL;
-             } else { // Copy Throwables to new list
--                suppressed = new ArrayList<>(1);
-+                suppressed = new ArrayList<Throwable>(1);
-                 for (Throwable t : suppressedExceptions) {
-                     // Enforce constraints on suppressed exceptions in
-                     // case of corrupt or malicious stream.
-@@ -1049,7 +1049,7 @@
-             return;
- 
-         if (suppressedExceptions == SUPPRESSED_SENTINEL)
--            suppressedExceptions = new ArrayList<>(1);
-+            suppressedExceptions = new ArrayList<Throwable>(1);
- 
-         suppressedExceptions.add(exception);
-     }
 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	2014-01-28 11:38:19.420649790 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/BoundMethodHandle.java	2014-01-28 11:39:19.713589132 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/BoundMethodHandle.java	2014-04-11 13:58:34.398543250 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/BoundMethodHandle.java	2014-04-11 14:06:00.080905505 +0100
 @@ -393,7 +393,7 @@
          }
          private boolean isPlaceholder() { return clazz == null; }
@@ -1749,8 +1666,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/DirectMethodHandle.java	2014-01-28 11:39:19.713589132 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/DirectMethodHandle.java	2013-10-09 22:54:00.613935571 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/DirectMethodHandle.java	2014-04-11 14:06:00.080905505 +0100
 @@ -326,7 +326,7 @@
              if (UNSAFE.shouldBeInitialized(type))
                  // If the previous call didn't block, this can happen.
@@ -1761,8 +1678,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	2014-01-28 11:38:19.420649790 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java	2014-01-28 11:39:19.713589132 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java	2014-04-11 13:58:34.398543250 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java	2014-04-11 14:06:00.084905562 +0100
 @@ -129,7 +129,7 @@
  
      static {
@@ -1782,8 +1699,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	2014-01-28 11:38:19.424649852 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/LambdaForm.java	2014-01-28 11:39:19.713589132 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/LambdaForm.java	2014-04-11 13:58:34.398543250 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/LambdaForm.java	2014-04-11 14:06:00.084905562 +0100
 @@ -468,12 +468,12 @@
          int   capacity   = 512;    // expect many distinct signatures over time
          float loadFactor = 0.75f;  // normal default
@@ -1800,8 +1717,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MemberName.java	2014-01-28 11:39:19.713589132 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MemberName.java	2013-10-09 22:54:00.625935757 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MemberName.java	2014-04-11 14:06:00.084905562 +0100
 @@ -808,14 +808,14 @@
                  // JVM returned to us with an intentional overflow!
                  totalCount += buf.length;
@@ -1819,21 +1736,9 @@
              if (bufs != null) {
                  for (MemberName[] buf0 : bufs) {
                      Collections.addAll(result, buf0);
-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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandle.java	2014-01-28 11:39:19.713589132 +0000
-@@ -824,7 +824,7 @@
-                 }
-             }
-             if (sawProblem) {
--                ArrayList<Class<?>> ptypes = new ArrayList<>(type().parameterList());
-+                ArrayList<Class<?>> ptypes = new ArrayList<Class<?>>(type().parameterList());
-                 for (int i = nargs - arrayLength; i < nargs; i++) {
-                     ptypes.set(i, arrayElement);
-                 }
 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	2014-01-28 11:38:19.424649852 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java	2014-01-28 11:39:19.713589132 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java	2014-04-11 13:58:34.398543250 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java	2014-04-11 14:06:00.088905620 +0100
 @@ -73,8 +73,8 @@
  
      static final class ArrayAccessor {
@@ -1854,21 +1759,33 @@
              MethodHandles.Lookup lookup = IMPL_LOOKUP;
              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	2013-10-09 22:54:00.629935818 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandle.java	2014-04-11 14:06:00.088905620 +0100
+@@ -824,7 +824,7 @@
+                 }
+             }
+             if (sawProblem) {
+-                ArrayList<Class<?>> ptypes = new ArrayList<>(type().parameterList());
++                ArrayList<Class<?>> ptypes = new ArrayList<Class<?>>(type().parameterList());
+                 for (int i = nargs - arrayLength; i < nargs; i++) {
+                     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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandles.java	2014-01-28 11:39:19.713589132 +0000
-@@ -1808,7 +1808,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandles.java	2014-04-04 16:30:01.230362543 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandles.java	2014-04-11 14:06:58.577733218 +0100
+@@ -1809,7 +1809,7 @@
          int inargs  = outargs + dropped;
          if (pos < 0 || pos >= inargs)
              throw newIllegalArgumentException("no argument type to remove");
 -        ArrayList<Class<?>> ptypes = new ArrayList<>(oldType.parameterList());
 +        ArrayList<Class<?>> ptypes = new ArrayList<Class<?>>(oldType.parameterList());
          ptypes.addAll(pos, valueTypes);
+         if (ptypes.size() != inargs)  throw newIllegalArgumentException("valueTypes");
          MethodType newType = MethodType.methodType(oldType.returnType(), ptypes);
-         return target.dropArguments(newType, pos, dropped);
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodType.java	2014-01-28 11:39:19.713589132 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodType.java	2013-10-09 22:54:00.637935942 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodType.java	2014-04-11 14:06:00.092905676 +0100
 @@ -1048,7 +1048,7 @@
          private final float loadFactor;
  
@@ -1879,8 +1796,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	2014-01-28 11:38:19.376649105 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/lang/management/ManagementFactory.java	2014-01-28 11:39:19.713589132 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/management/ManagementFactory.java	2014-04-11 13:58:34.346542501 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/management/ManagementFactory.java	2014-04-11 14:06:00.092905676 +0100
 @@ -789,7 +789,7 @@
             getPlatformManagementInterfaces()
      {
@@ -1891,8 +1808,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/lang/management/PlatformComponent.java	2014-01-28 11:39:19.713589132 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/management/PlatformComponent.java	2013-10-09 22:54:00.657936252 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/management/PlatformComponent.java	2014-04-11 14:06:00.096905732 +0100
 @@ -287,7 +287,7 @@
              List<T> getGcMXBeanList(Class<T> gcMXBeanIntf) {
          List<GarbageCollectorMXBean> list =
@@ -1929,9 +1846,53 @@
              for (PlatformComponent pc: PlatformComponent.values()) {
                  // 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	2014-04-11 13:58:34.378542963 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/Package.java	2014-04-11 14:06:00.068905336 +0100
+@@ -599,13 +599,16 @@
+     }
+ 
+     // The map of loaded system packages
+-    private static Map<String, Package> pkgs = new HashMap<>(31);
++    private static Map<String, Package> pkgs
++        = new HashMap<String, Package>(31);
+ 
+     // Maps each directory or zip file name to its corresponding url
+-    private static Map<String, URL> urls = new HashMap<>(10);
++    private static Map<String, URL> urls
++        = new HashMap<String, URL>(10);
+ 
+     // Maps each code source url for a jar file to its manifest
+-    private static Map<String, Manifest> mans = new HashMap<>(10);
++    private static Map<String, Manifest> mans
++        = new HashMap<String, Manifest>(10);
+ 
+     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	2014-04-11 13:58:34.354542618 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/ProcessBuilder.java	2014-04-11 14:06:00.072905392 +0100
+@@ -214,7 +214,7 @@
+      * @param command a string array containing the program and its arguments
+      */
+     public ProcessBuilder(String... command) {
+-        this.command = new ArrayList<>(command.length);
++        this.command = new ArrayList<String>(command.length);
+         for (String arg : command)
+             this.command.add(arg);
+     }
+@@ -251,7 +251,7 @@
+      * @return this process builder
+      */
+     public ProcessBuilder command(String... command) {
+-        this.command = new ArrayList<>(command.length);
++        this.command = new ArrayList<String>(command.length);
+         for (String arg : command)
+             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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/lang/reflect/Constructor.java	2014-01-28 11:39:19.713589132 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/reflect/Constructor.java	2013-10-09 22:54:00.665936376 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/reflect/Constructor.java	2014-04-11 14:06:00.096905732 +0100
 @@ -137,7 +137,7 @@
          // which implicitly requires that new java.lang.reflect
          // objects be fabricated for each reflective call on Class
@@ -1942,8 +1903,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	2014-01-28 11:38:19.384649230 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/lang/reflect/Proxy.java	2014-01-28 11:39:19.713589132 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/reflect/Proxy.java	2014-04-11 13:58:34.350542559 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/reflect/Proxy.java	2014-04-11 14:06:00.096905732 +0100
 @@ -239,7 +239,7 @@
  
      /** maps a class loader to the proxy class cache for that loader */
@@ -1972,8 +1933,8 @@
              }
              /*
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/lang/reflect/ReflectAccess.java	2014-01-28 11:39:19.713589132 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/reflect/ReflectAccess.java	2013-10-09 22:54:00.673936500 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/reflect/ReflectAccess.java	2014-04-11 14:06:00.100905789 +0100
 @@ -84,7 +84,7 @@
                                               byte[] annotations,
                                               byte[] parameterAnnotations)
@@ -1983,9 +1944,84 @@
                                    parameterTypes,
                                    checkedExceptions,
                                    modifiers,
+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	2013-10-09 22:54:00.585935137 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/StringCoding.java	2014-04-11 14:06:00.076905449 +0100
+@@ -53,9 +53,9 @@
+ 
+     /** The cached coders for each thread */
+     private final static ThreadLocal<SoftReference<StringDecoder>> decoder =
+-        new ThreadLocal<>();
++        new ThreadLocal<SoftReference<StringDecoder>>();
+     private final static ThreadLocal<SoftReference<StringEncoder>> encoder =
+-        new ThreadLocal<>();
++        new ThreadLocal<SoftReference<StringEncoder>>();
+ 
+     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	2013-10-09 22:54:00.573934950 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/String.java	2014-04-11 14:06:00.072905392 +0100
+@@ -2282,7 +2282,7 @@
+             int off = 0;
+             int next = 0;
+             boolean limited = limit > 0;
+-            ArrayList<String> list = new ArrayList<>();
++            ArrayList<String> list = new ArrayList<String>();
+             while ((next = indexOf(ch, off)) != -1) {
+                 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	2013-10-09 22:54:00.589935199 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/Thread.java	2014-04-11 14:06:00.076905449 +0100
+@@ -1637,7 +1637,8 @@
+         // Get a snapshot of the list of all threads
+         Thread[] threads = getThreads();
+         StackTraceElement[][] traces = dumpThreads(threads);
+-        Map<Thread, StackTraceElement[]> m = new HashMap<>(threads.length);
++        Map<Thread, StackTraceElement[]> m
++            = new HashMap<Thread, StackTraceElement[]>(threads.length);
+         for (int i = 0; i < threads.length; i++) {
+             StackTraceElement[] stackTrace = traces[i];
+             if (stackTrace != null) {
+@@ -1658,11 +1659,11 @@
+     private static class Caches {
+         /** cache of subclass security audit results */
+         static final ConcurrentMap<WeakClassKey,Boolean> subclassAudits =
+-            new ConcurrentHashMap<>();
++            new ConcurrentHashMap<WeakClassKey,Boolean>();
+ 
+         /** queue for WeakReferences to audited subclasses */
+         static final ReferenceQueue<Class<?>> subclassAuditsQueue =
+-            new ReferenceQueue<>();
++            new ReferenceQueue<Class<?>>();
+     }
+ 
+     /**
+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	2013-10-09 22:54:00.597935323 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/Throwable.java	2014-04-11 14:06:00.080905505 +0100
+@@ -918,7 +918,7 @@
+                 // Use the sentinel for a zero-length list
+                 suppressed = SUPPRESSED_SENTINEL;
+             } else { // Copy Throwables to new list
+-                suppressed = new ArrayList<>(1);
++                suppressed = new ArrayList<Throwable>(1);
+                 for (Throwable t : suppressedExceptions) {
+                     // Enforce constraints on suppressed exceptions in
+                     // case of corrupt or malicious stream.
+@@ -1049,7 +1049,7 @@
+             return;
+ 
+         if (suppressedExceptions == SUPPRESSED_SENTINEL)
+-            suppressedExceptions = new ArrayList<>(1);
++            suppressedExceptions = new ArrayList<Throwable>(1);
+ 
+         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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/net/InetAddress.java	2014-01-28 11:39:19.717589195 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/net/InetAddress.java	2013-10-16 13:52:57.711895779 +0100
++++ openjdk-boot/jdk/src/share/classes/java/net/InetAddress.java	2014-04-11 14:06:00.100905789 +0100
 @@ -712,7 +712,7 @@
  
      static InetAddressImpl  impl;
@@ -2005,8 +2041,8 @@
                  for (String key : cache.keySet()) {
                      CacheEntry entry = cache.get(key);
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/net/URLClassLoader.java	2014-01-28 11:39:19.717589195 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/net/URLClassLoader.java	2013-10-09 22:54:00.757937802 +0100
++++ openjdk-boot/jdk/src/share/classes/java/net/URLClassLoader.java	2014-04-11 14:06:00.100905789 +0100
 @@ -205,7 +205,7 @@
       */
  
@@ -2017,8 +2053,8 @@
      /**
       * Returns an input stream for reading the specified resource.
 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	2014-01-28 11:38:19.404649541 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/nio/file/Files.java	2014-01-28 11:39:19.717589195 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/nio/file/Files.java	2014-04-11 13:58:34.378542963 +0100
++++ openjdk-boot/jdk/src/share/classes/java/nio/file/Files.java	2014-04-11 14:06:00.100905789 +0100
 @@ -1502,7 +1502,7 @@
              return AccessController
                  .doPrivileged(new PrivilegedAction<List<FileTypeDetector>>() {
@@ -2038,8 +2074,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/security/AccessControlContext.java	2014-01-28 11:39:19.717589195 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/AccessControlContext.java	2013-10-09 22:54:00.893939909 +0100
++++ openjdk-boot/jdk/src/share/classes/java/security/AccessControlContext.java	2014-04-11 14:06:00.104905846 +0100
 @@ -127,7 +127,7 @@
                  this.context = null;
              }
@@ -2050,8 +2086,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/security/BasicPermission.java	2014-01-28 11:39:19.717589195 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/BasicPermission.java	2013-10-09 22:54:00.897939971 +0100
++++ openjdk-boot/jdk/src/share/classes/java/security/BasicPermission.java	2014-04-11 14:06:00.104905846 +0100
 @@ -515,7 +515,7 @@
  
          // Copy perms into a Hashtable
@@ -2062,8 +2098,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/security/CodeSource.java	2014-01-28 11:39:19.717589195 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/CodeSource.java	2013-10-09 22:54:00.901940033 +0100
++++ openjdk-boot/jdk/src/share/classes/java/security/CodeSource.java	2014-04-11 14:06:00.104905846 +0100
 @@ -188,7 +188,7 @@
          } else if (signers != null) {
              // Convert the code signers to certs
@@ -2087,8 +2123,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/security/Permissions.java	2014-01-28 11:39:19.717589195 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/Permissions.java	2013-10-09 22:54:00.913940219 +0100
++++ openjdk-boot/jdk/src/share/classes/java/security/Permissions.java	2014-04-11 14:06:00.108905902 +0100
 @@ -362,7 +362,7 @@
  
          // Copy perms into a Hashtable
@@ -2108,8 +2144,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/security/Policy.java	2014-01-28 11:39:19.717589195 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/Policy.java	2013-10-09 22:54:00.913940219 +0100
++++ openjdk-boot/jdk/src/share/classes/java/security/Policy.java	2014-04-11 14:06:00.108905902 +0100
 @@ -118,7 +118,7 @@
  
      // PolicyInfo is stored in an AtomicReference
@@ -2129,8 +2165,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/security/ProtectionDomain.java	2014-01-28 11:39:19.717589195 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/ProtectionDomain.java	2013-10-09 22:54:00.917940281 +0100
++++ openjdk-boot/jdk/src/share/classes/java/security/ProtectionDomain.java	2014-04-11 14:06:00.108905902 +0100
 @@ -373,8 +373,8 @@
          int swag = 32;
          int vcap = 8;
@@ -2143,8 +2179,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/security/Provider.java	2014-01-28 11:39:19.717589195 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/Provider.java	2013-10-09 22:54:00.917940281 +0100
++++ openjdk-boot/jdk/src/share/classes/java/security/Provider.java	2014-04-11 14:06:00.108905902 +0100
 @@ -437,7 +437,7 @@
  
      private void readObject(ObjectInputStream in)
@@ -2173,8 +2209,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/security/SecureClassLoader.java	2014-01-28 11:39:19.717589195 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/SecureClassLoader.java	2013-10-09 22:54:00.917940281 +0100
++++ openjdk-boot/jdk/src/share/classes/java/security/SecureClassLoader.java	2014-04-11 14:06:00.112905959 +0100
 @@ -50,7 +50,7 @@
      // HashMap that maps CodeSource to ProtectionDomain
      // @GuardedBy("pdcache")
@@ -2185,8 +2221,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/security/Security.java	2014-01-28 11:39:19.717589195 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/Security.java	2013-10-09 22:54:00.921940343 +0100
++++ openjdk-boot/jdk/src/share/classes/java/security/Security.java	2014-04-11 14:06:00.112905959 +0100
 @@ -546,7 +546,7 @@
              value = filter.substring(index + 1);
          }
@@ -2232,21 +2268,9 @@
          Provider[] providers = Security.getProviders();
  
          for (int i = 0; i < providers.length; i++) {
-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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/security/UnresolvedPermission.java	2014-01-28 11:39:19.721589257 +0000
-@@ -198,7 +198,7 @@
-                 if (this.certs == null) {
-                     // extract the signer certs
-                     ArrayList<java.security.cert.Certificate> signerCerts =
--                        new ArrayList<>();
-+                        new ArrayList<java.security.cert.Certificate>();
-                     i = 0;
-                     while (i < certs.length) {
-                         signerCerts.add(certs[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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/security/UnresolvedPermissionCollection.java	2014-01-28 11:39:19.717589195 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/UnresolvedPermissionCollection.java	2013-10-09 22:54:00.925940404 +0100
++++ openjdk-boot/jdk/src/share/classes/java/security/UnresolvedPermissionCollection.java	2014-04-11 14:06:00.112905959 +0100
 @@ -119,7 +119,7 @@
  
      public Enumeration<Permission> elements() {
@@ -2283,9 +2307,21 @@
              list.addAll(vec);
  
              // 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	2013-10-09 22:54:00.925940404 +0100
++++ openjdk-boot/jdk/src/share/classes/java/security/UnresolvedPermission.java	2014-04-11 14:06:00.112905959 +0100
+@@ -198,7 +198,7 @@
+                 if (this.certs == null) {
+                     // extract the signer certs
+                     ArrayList<java.security.cert.Certificate> signerCerts =
+-                        new ArrayList<>();
++                        new ArrayList<java.security.cert.Certificate>();
+                     i = 0;
+                     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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/util/AbstractList.java	2014-01-28 11:39:19.721589257 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/AbstractList.java	2013-10-09 22:53:56.501871859 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/AbstractList.java	2014-04-11 14:06:00.116906015 +0100
 @@ -482,8 +482,8 @@
       */
      public List<E> subList(int fromIndex, int toIndex) {
@@ -2315,8 +2351,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/util/Arrays.java	2014-01-28 11:39:19.721589257 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/Arrays.java	2013-10-09 22:53:56.505871921 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/Arrays.java	2014-04-11 14:06:00.116906015 +0100
 @@ -2825,7 +2825,7 @@
       */
      @SafeVarargs
@@ -2327,8 +2363,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/util/Collections.java	2014-01-28 11:39:19.721589257 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/Collections.java	2013-10-09 22:53:56.509871983 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/Collections.java	2014-04-11 14:06:00.116906015 +0100
 @@ -1035,7 +1035,7 @@
       * @return an unmodifiable view of the specified collection.
       */
@@ -2954,8 +2990,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/util/EnumMap.java	2014-01-28 11:39:19.721589257 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/EnumMap.java	2013-10-09 22:53:56.517872107 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/EnumMap.java	2014-04-11 14:06:00.120906072 +0100
 @@ -508,7 +508,7 @@
              int j = 0;
              for (int i = 0; i < vals.length; i++)
@@ -2966,8 +3002,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/util/EnumSet.java	2014-01-28 11:39:19.721589257 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/EnumSet.java	2013-10-09 22:53:56.517872107 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/EnumSet.java	2014-04-11 14:06:00.120906072 +0100
 @@ -110,9 +110,9 @@
              throw new ClassCastException(elementType + " not an enum");
  
@@ -2990,8 +3026,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	2014-01-28 11:38:19.376649105 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/util/Formatter.java	2014-01-28 11:39:19.721589257 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/Formatter.java	2014-04-11 13:58:34.346542501 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/Formatter.java	2014-04-11 14:06:00.120906072 +0100
 @@ -2514,7 +2514,7 @@
       * Finds format specifiers in the format string.
       */
@@ -3002,8 +3038,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/util/HashMap.java	2014-01-28 11:39:19.721589257 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/HashMap.java	2013-10-09 22:53:56.521872169 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/HashMap.java	2014-04-11 14:06:00.124906129 +0100
 @@ -898,7 +898,7 @@
       */
      void createEntry(int hash, K key, V value, int bucketIndex) {
@@ -3014,8 +3050,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/util/HashSet.java	2014-01-28 11:39:19.721589257 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/HashSet.java	2013-10-09 22:53:56.521872169 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/HashSet.java	2014-04-11 14:06:00.124906129 +0100
 @@ -100,7 +100,7 @@
       * default initial capacity (16) and load factor (0.75).
       */
@@ -3062,8 +3098,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/util/Hashtable.java	2014-01-28 11:39:19.721589257 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/Hashtable.java	2013-10-09 22:53:56.525872231 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/Hashtable.java	2014-04-11 14:06:00.124906129 +0100
 @@ -538,7 +538,7 @@
  
          // Creates the new entry.
@@ -3119,8 +3155,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/util/IdentityHashMap.java	2014-01-28 11:39:19.721589257 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/IdentityHashMap.java	2013-10-09 22:53:56.525872231 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/IdentityHashMap.java	2014-04-11 14:06:00.124906129 +0100
 @@ -1145,7 +1145,7 @@
              Object[] result = new Object[size];
              Iterator<Map.Entry<K,V>> it = iterator();
@@ -3140,8 +3176,8 @@
                  a[size] = null;
              return a;
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/util/JumboEnumSet.java	2014-01-28 11:39:19.721589257 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/JumboEnumSet.java	2013-10-09 22:53:56.529872293 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/JumboEnumSet.java	2014-04-11 14:06:00.128906186 +0100
 @@ -91,7 +91,7 @@
       * @return an iterator over the elements contained in this set
       */
@@ -3152,8 +3188,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/util/LinkedHashMap.java	2014-01-28 11:39:19.721589257 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/LinkedHashMap.java	2013-10-09 22:53:56.529872293 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/LinkedHashMap.java	2014-04-11 14:06:00.128906186 +0100
 @@ -238,7 +238,7 @@
       */
      @Override
@@ -3173,8 +3209,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/util/LinkedList.java	2014-01-28 11:39:19.725589319 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/LinkedList.java	2013-10-09 22:53:56.529872293 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/LinkedList.java	2014-04-11 14:06:00.128906186 +0100
 @@ -122,7 +122,7 @@
       */
      private void linkFirst(E e) {
@@ -3212,8 +3248,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/util/ListResourceBundle.java	2014-01-28 11:39:19.725589319 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/ListResourceBundle.java	2013-10-09 22:53:56.529872293 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/ListResourceBundle.java	2014-04-11 14:06:00.128906186 +0100
 @@ -187,7 +187,7 @@
              return;
  
@@ -3224,8 +3260,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/util/Locale.java	2014-01-28 11:39:19.725589319 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/Locale.java	2013-10-09 22:53:56.533872354 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/Locale.java	2014-04-11 14:06:00.132906242 +0100
 @@ -1793,7 +1793,7 @@
                  return formatList(variantNames, listPattern, listCompositionPattern);
              }
@@ -3235,9 +3271,178 @@
          if (languageName.length() != 0) {
              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	2013-10-09 22:53:56.937878615 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/logging/FileHandler.java	2014-04-11 14:06:00.140906356 +0100
+@@ -127,7 +127,7 @@
+     private FileOutputStream lockStream;
+     private File files[];
+     private static final int MAX_LOCKS = 100;
+-    private static java.util.HashMap<String, String> locks = new java.util.HashMap<>();
++    private static java.util.HashMap<String, String> locks = new java.util.HashMap<String, String>();
+ 
+     // 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	2013-10-09 22:53:56.941878676 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/logging/Level.java	2014-04-11 14:06:00.140906356 +0100
+@@ -458,8 +458,8 @@
+     // were final, the following KnownLevel implementation can be removed.
+     // Future API change should take this into consideration.
+     static final class KnownLevel {
+-        private static Map<String, List<KnownLevel>> nameToLevels = new HashMap<>();
+-        private static Map<Integer, List<KnownLevel>> intToLevels = new HashMap<>();
++        private static Map<String, List<KnownLevel>> nameToLevels = new HashMap<String, List<KnownLevel>>();
++        private static Map<Integer, List<KnownLevel>> intToLevels = new HashMap<Integer, List<KnownLevel>>();
+         final Level levelObject;     // instance of Level class or Level subclass
+         final Level mirroredLevel;   // instance of Level class
+         KnownLevel(Level l) {
+@@ -477,14 +477,14 @@
+             KnownLevel o = new KnownLevel(l);
+             List<KnownLevel> list = nameToLevels.get(l.name);
+             if (list == null) {
+-                list = new ArrayList<>();
++                list = new ArrayList<KnownLevel>();
+                 nameToLevels.put(l.name, list);
+             }
+             list.add(o);
+ 
+             list = intToLevels.get(l.value);
+             if (list == null) {
+-                list = new ArrayList<>();
++                list = new ArrayList<KnownLevel>();
+                 intToLevels.put(l.value, list);
+             }
+             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	2014-04-04 16:20:33.705903601 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/logging/Logger.java	2014-04-11 14:06:39.065457307 +0100
+@@ -177,7 +177,7 @@
+     private LogManager manager;
+     private String name;
+     private final CopyOnWriteArrayList<Handler> handlers =
+-        new CopyOnWriteArrayList<>();
++        new CopyOnWriteArrayList<Handler>();
+     private volatile String resourceBundleName;
+     private volatile boolean useParentHandlers = true;
+     private volatile Filter filter;
+@@ -1607,7 +1607,7 @@
+             // Set our new parent.
+             parent = newParent;
+             if (parent.kids == null) {
+-                parent.kids = new ArrayList<>(2);
++                parent.kids = new ArrayList<LogManager.LoggerWeakRef>(2);
+             }
+             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	2013-10-09 22:53:56.945878739 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/logging/Logging.java	2014-04-11 14:06:00.148906469 +0100
+@@ -56,7 +56,7 @@
+ 
+     public List<String> getLoggerNames() {
+         Enumeration loggers = logManager.getLoggerNames();
+-        ArrayList<String> array = new ArrayList<>();
++        ArrayList<String> array = new ArrayList<String>();
+ 
+         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	2014-04-04 16:20:33.697903482 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/logging/LogManager.java	2014-04-11 14:06:00.144906412 +0100
+@@ -402,7 +402,7 @@
+     }
+ 
+     private List<LoggerContext> contexts() {
+-        List<LoggerContext> cxs = new ArrayList<>();
++        List<LoggerContext> cxs = new ArrayList<LoggerContext>();
+         cxs.add(systemContext);
+         cxs.add(getUserContext());
+         return cxs;
+@@ -495,7 +495,7 @@
+     // added in the user context.
+     static class LoggerContext {
+         // Table of named Loggers that maps names to Loggers.
+-        private final Hashtable<String,LoggerWeakRef> namedLoggers = new Hashtable<>();
++        private final Hashtable<String,LoggerWeakRef> namedLoggers = new Hashtable<String,LoggerWeakRef>();
+         // Tree of named Loggers
+         private final LogNode root;
+         private final boolean requiresDefaultLoggers;
+@@ -738,7 +738,7 @@
+                     name = "";
+                 }
+                 if (node.children == null) {
+-                    node.children = new HashMap<>();
++                    node.children = new HashMap<String,LogNode>();
+                 }
+                 LogNode child = node.children.get(head);
+                 if (child == null) {
+@@ -830,7 +830,7 @@
+     // loggerRefQueue holds LoggerWeakRef objects for Logger objects
+     // that have been GC'ed.
+     private final ReferenceQueue<Logger> loggerRefQueue
+-        = new ReferenceQueue<>();
++        = new ReferenceQueue<Logger>();
+ 
+     // Package-level inner class.
+     // Helper class for managing WeakReferences to Logger objects.
+@@ -1173,7 +1173,7 @@
+         }
+         hands = hands.trim();
+         int ix = 0;
+-        Vector<String> result = new Vector<>();
++        Vector<String> result = new Vector<String>();
+         while (ix < hands.length()) {
+             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	2013-10-09 22:53:56.941878676 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/logging/LogRecord.java	2014-04-11 14:06:00.144906412 +0100
+@@ -85,7 +85,8 @@
+     private static final AtomicInteger nextThreadId
+         = new AtomicInteger(MIN_SEQUENTIAL_THREAD_ID);
+ 
+-    private static final ThreadLocal<Integer> threadIds = new ThreadLocal<>();
++    private static final ThreadLocal<Integer> threadIds
++        = new ThreadLocal<Integer>();
+ 
+     /**
+      * @serial Logging message level
+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	2013-10-09 22:53:56.981879297 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/prefs/AbstractPreferences.java	2014-04-11 14:06:00.148906469 +0100
+@@ -155,7 +155,8 @@
+      * All known unremoved children of this node.  (This "cache" is consulted
+      * prior to calling childSpi() or getChild().
+      */
+-    private Map<String, AbstractPreferences> kidCache = new HashMap<>();
++    private Map<String, AbstractPreferences> kidCache
++        = new HashMap<String, AbstractPreferences>();
+ 
+     /**
+      * This field is used to keep track of whether or not this node has
+@@ -712,7 +713,7 @@
+             if (removed)
+                 throw new IllegalStateException("Node has been removed.");
+ 
+-            Set<String> s = new TreeSet<>(kidCache.keySet());
++            Set<String> s = new TreeSet<String>(kidCache.keySet());
+             for (String kid : childrenNamesSpi())
+                 s.add(kid);
+             return s.toArray(EMPTY_STRING_ARRAY);
+@@ -1441,7 +1442,8 @@
+      * event delivery from preference activity, greatly simplifying
+      * locking and reducing opportunity for deadlock.
+      */
+-    private static final List<EventObject> eventQueue = new LinkedList<>();
++    private static final List<EventObject> eventQueue
++        = new LinkedList<EventObject>();
+ 
+     /**
+      * 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/util/PriorityQueue.java	2014-01-28 11:39:19.725589319 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/PriorityQueue.java	2013-10-09 22:53:56.537872417 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/PriorityQueue.java	2014-04-11 14:06:00.132906242 +0100
 @@ -538,7 +538,7 @@
                      cursor--;
                  else {
@@ -3248,8 +3453,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/util/Properties.java	2014-01-28 11:39:19.725589319 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/Properties.java	2013-10-09 22:53:56.537872417 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/Properties.java	2014-04-11 14:06:00.132906242 +0100
 @@ -1010,7 +1010,7 @@
       * @since   1.6
       */
@@ -3259,9 +3464,62 @@
          enumerateStringProperties(h);
          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	2013-10-09 22:53:57.001879606 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/regex/Pattern.java	2014-04-11 14:06:00.152906525 +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>
+  *     <td headers="matches">Nothing, but ends quoting started by <tt>\Q</tt></td></tr>
+- *     <!-- Metachars: !$()*+.<>?[\]^{|} -->
++ *     <!-- Metachars: !$()*+.?[\]^{|} -->
+  *
+  * <tr><th>&nbsp;</th></tr>
+  * <tr align="left"><th colspan="2" id="special">Special constructs (named-capturing and non-capturing)</th></tr>
+@@ -1193,7 +1193,7 @@
+     public String[] split(CharSequence input, int limit) {
+         int index = 0;
+         boolean matchLimited = limit > 0;
+-        ArrayList<String> matchList = new ArrayList<>();
++        ArrayList<String> matchList = new ArrayList<String>();
+         Matcher m = matcher(input);
+ 
+         // Add segments before each match found
+@@ -1695,7 +1695,7 @@
+ 
+     Map<String, Integer> namedGroups() {
+         if (namedGroups == null)
+-            namedGroups = new HashMap<>(2);
++            namedGroups = new HashMap<String, Integer>(2);
+         return namedGroups;
+     }
+ 
+@@ -5495,7 +5495,7 @@
+         }
+ 
+         private static final HashMap<String, CharPropertyFactory> map
+-            = new HashMap<>();
++            = new HashMap<String, CharPropertyFactory>();
+ 
+         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	2013-10-09 22:53:57.001879606 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/regex/UnicodeProp.java	2014-04-11 14:06:00.152906525 +0100
+@@ -193,8 +193,8 @@
+         }
+     };
+ 
+-    private final static HashMap<String, String> posix = new HashMap<>();
+-    private final static HashMap<String, String> aliases = new HashMap<>();
++    private final static HashMap<String, String> posix = new HashMap<String,String>();
++    private final static HashMap<String, String> aliases = new HashMap<String,String>();
+     static {
+         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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/util/RegularEnumSet.java	2014-01-28 11:39:19.725589319 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/RegularEnumSet.java	2013-10-09 22:53:56.537872417 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/RegularEnumSet.java	2014-04-11 14:06:00.132906242 +0100
 @@ -72,7 +72,7 @@
       * @return an iterator over the elements contained in this set
       */
@@ -3272,8 +3530,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/util/ResourceBundle.java	2014-01-28 11:39:19.725589319 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/ResourceBundle.java	2013-10-09 22:53:56.541872479 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/ResourceBundle.java	2014-04-11 14:06:00.136906299 +0100
 @@ -291,7 +291,7 @@
       * name for compatibility with some workarounds for bug 4212439.
       */
@@ -3338,8 +3596,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/util/ServiceLoader.java	2014-01-28 11:39:19.729589382 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/ServiceLoader.java	2014-04-04 16:34:41.134533285 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/ServiceLoader.java	2014-04-11 14:06:00.136906299 +0100
 @@ -191,7 +191,7 @@
      private ClassLoader loader;
  
@@ -3368,8 +3626,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/util/TimSort.java	2014-01-28 11:39:19.729589382 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/TimSort.java	2013-10-09 22:53:56.545872541 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/TimSort.java	2014-04-11 14:06:00.136906299 +0100
 @@ -196,7 +196,7 @@
           * extending short natural runs to minRun elements, and merging runs
           * to maintain stack invariant.
@@ -3380,8 +3638,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/util/TreeMap.java	2014-01-28 11:39:19.729589382 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/TreeMap.java	2013-10-09 22:53:56.549872603 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/TreeMap.java	2014-04-11 14:06:00.136906299 +0100
 @@ -530,7 +530,7 @@
          if (t == null) {
              compare(key, key); // type (and possibly null) check
@@ -3437,8 +3695,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/util/TreeSet.java	2014-01-28 11:39:19.729589382 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/TreeSet.java	2013-10-09 22:53:56.549872603 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/TreeSet.java	2014-04-11 14:06:00.140906356 +0100
 @@ -138,7 +138,7 @@
       *        ordering} of the elements will be used.
       */
@@ -3506,8 +3764,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/util/WeakHashMap.java	2014-01-28 11:39:19.729589382 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/WeakHashMap.java	2013-10-09 22:53:56.549872603 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/WeakHashMap.java	2014-04-11 14:06:00.140906356 +0100
 @@ -172,7 +172,7 @@
      /**
       * Reference queue for cleared WeakEntries
@@ -3539,231 +3797,9 @@
              return list;
          }
  
-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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/util/logging/FileHandler.java	2014-01-28 11:39:19.725589319 +0000
-@@ -127,7 +127,7 @@
-     private FileOutputStream lockStream;
-     private File files[];
-     private static final int MAX_LOCKS = 100;
--    private static java.util.HashMap<String, String> locks = new java.util.HashMap<>();
-+    private static java.util.HashMap<String, String> locks = new java.util.HashMap<String, String>();
- 
-     // 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/util/logging/Level.java	2014-01-28 11:39:19.725589319 +0000
-@@ -458,8 +458,8 @@
-     // were final, the following KnownLevel implementation can be removed.
-     // Future API change should take this into consideration.
-     static final class KnownLevel {
--        private static Map<String, List<KnownLevel>> nameToLevels = new HashMap<>();
--        private static Map<Integer, List<KnownLevel>> intToLevels = new HashMap<>();
-+        private static Map<String, List<KnownLevel>> nameToLevels = new HashMap<String, List<KnownLevel>>();
-+        private static Map<Integer, List<KnownLevel>> intToLevels = new HashMap<Integer, List<KnownLevel>>();
-         final Level levelObject;     // instance of Level class or Level subclass
-         final Level mirroredLevel;   // instance of Level class
-         KnownLevel(Level l) {
-@@ -477,14 +477,14 @@
-             KnownLevel o = new KnownLevel(l);
-             List<KnownLevel> list = nameToLevels.get(l.name);
-             if (list == null) {
--                list = new ArrayList<>();
-+                list = new ArrayList<KnownLevel>();
-                 nameToLevels.put(l.name, list);
-             }
-             list.add(o);
- 
-             list = intToLevels.get(l.value);
-             if (list == null) {
--                list = new ArrayList<>();
-+                list = new ArrayList<KnownLevel>();
-                 intToLevels.put(l.value, list);
-             }
-             list.add(o);
-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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/util/logging/LogManager.java	2014-01-28 11:39:19.725589319 +0000
-@@ -402,7 +402,7 @@
-     }
- 
-     private List<LoggerContext> contexts() {
--        List<LoggerContext> cxs = new ArrayList<>();
-+        List<LoggerContext> cxs = new ArrayList<LoggerContext>();
-         cxs.add(systemContext);
-         cxs.add(getUserContext());
-         return cxs;
-@@ -495,7 +495,7 @@
-     // added in the user context.
-     static class LoggerContext {
-         // Table of named Loggers that maps names to Loggers.
--        private final Hashtable<String,LoggerWeakRef> namedLoggers = new Hashtable<>();
-+        private final Hashtable<String,LoggerWeakRef> namedLoggers = new Hashtable<String,LoggerWeakRef>();
-         // Tree of named Loggers
-         private final LogNode root;
-         private final boolean requiresDefaultLoggers;
-@@ -738,7 +738,7 @@
-                     name = "";
-                 }
-                 if (node.children == null) {
--                    node.children = new HashMap<>();
-+                    node.children = new HashMap<String,LogNode>();
-                 }
-                 LogNode child = node.children.get(head);
-                 if (child == null) {
-@@ -830,7 +830,7 @@
-     // loggerRefQueue holds LoggerWeakRef objects for Logger objects
-     // that have been GC'ed.
-     private final ReferenceQueue<Logger> loggerRefQueue
--        = new ReferenceQueue<>();
-+        = new ReferenceQueue<Logger>();
- 
-     // Package-level inner class.
-     // Helper class for managing WeakReferences to Logger objects.
-@@ -1173,7 +1173,7 @@
-         }
-         hands = hands.trim();
-         int ix = 0;
--        Vector<String> result = new Vector<>();
-+        Vector<String> result = new Vector<String>();
-         while (ix < hands.length()) {
-             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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/util/logging/LogRecord.java	2014-01-28 11:39:19.725589319 +0000
-@@ -85,7 +85,8 @@
-     private static final AtomicInteger nextThreadId
-         = new AtomicInteger(MIN_SEQUENTIAL_THREAD_ID);
- 
--    private static final ThreadLocal<Integer> threadIds = new ThreadLocal<>();
-+    private static final ThreadLocal<Integer> threadIds
-+        = new ThreadLocal<Integer>();
- 
-     /**
-      * @serial Logging message level
-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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/util/logging/Logger.java	2014-01-28 11:39:19.725589319 +0000
-@@ -177,7 +177,7 @@
-     private LogManager manager;
-     private String name;
-     private final CopyOnWriteArrayList<Handler> handlers =
--        new CopyOnWriteArrayList<>();
-+        new CopyOnWriteArrayList<Handler>();
-     private String resourceBundleName;
-     private volatile boolean useParentHandlers = true;
-     private volatile Filter filter;
-@@ -1591,7 +1591,7 @@
-             // Set our new parent.
-             parent = newParent;
-             if (parent.kids == null) {
--                parent.kids = new ArrayList<>(2);
-+                parent.kids = new ArrayList<LogManager.LoggerWeakRef>(2);
-             }
-             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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/util/logging/Logging.java	2014-01-28 11:39:19.725589319 +0000
-@@ -56,7 +56,7 @@
- 
-     public List<String> getLoggerNames() {
-         Enumeration loggers = logManager.getLoggerNames();
--        ArrayList<String> array = new ArrayList<>();
-+        ArrayList<String> array = new ArrayList<String>();
- 
-         for (; loggers.hasMoreElements();) {
-             array.add((String) loggers.nextElement());
-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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/util/prefs/AbstractPreferences.java	2014-01-28 11:39:19.725589319 +0000
-@@ -155,7 +155,8 @@
-      * All known unremoved children of this node.  (This "cache" is consulted
-      * prior to calling childSpi() or getChild().
-      */
--    private Map<String, AbstractPreferences> kidCache = new HashMap<>();
-+    private Map<String, AbstractPreferences> kidCache
-+        = new HashMap<String, AbstractPreferences>();
- 
-     /**
-      * This field is used to keep track of whether or not this node has
-@@ -712,7 +713,7 @@
-             if (removed)
-                 throw new IllegalStateException("Node has been removed.");
- 
--            Set<String> s = new TreeSet<>(kidCache.keySet());
-+            Set<String> s = new TreeSet<String>(kidCache.keySet());
-             for (String kid : childrenNamesSpi())
-                 s.add(kid);
-             return s.toArray(EMPTY_STRING_ARRAY);
-@@ -1441,7 +1442,8 @@
-      * event delivery from preference activity, greatly simplifying
-      * locking and reducing opportunity for deadlock.
-      */
--    private static final List<EventObject> eventQueue = new LinkedList<>();
-+    private static final List<EventObject> eventQueue
-+        = new LinkedList<EventObject>();
- 
-     /**
-      * These two classes are used to distinguish NodeChangeEvents on
-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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/util/regex/Pattern.java	2014-01-28 11:39:19.725589319 +0000
-@@ -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>
-  *     <td headers="matches">Nothing, but ends quoting started by <tt>\Q</tt></td></tr>
-- *     <!-- Metachars: !$()*+.<>?[\]^{|} -->
-+ *     <!-- Metachars: !$()*+.?[\]^{|} -->
-  *
-  * <tr><th>&nbsp;</th></tr>
-  * <tr align="left"><th colspan="2" id="special">Special constructs (named-capturing and non-capturing)</th></tr>
-@@ -1193,7 +1193,7 @@
-     public String[] split(CharSequence input, int limit) {
-         int index = 0;
-         boolean matchLimited = limit > 0;
--        ArrayList<String> matchList = new ArrayList<>();
-+        ArrayList<String> matchList = new ArrayList<String>();
-         Matcher m = matcher(input);
- 
-         // Add segments before each match found
-@@ -1695,7 +1695,7 @@
- 
-     Map<String, Integer> namedGroups() {
-         if (namedGroups == null)
--            namedGroups = new HashMap<>(2);
-+            namedGroups = new HashMap<String, Integer>(2);
-         return namedGroups;
-     }
- 
-@@ -5495,7 +5495,7 @@
-         }
- 
-         private static final HashMap<String, CharPropertyFactory> map
--            = new HashMap<>();
-+            = new HashMap<String, CharPropertyFactory>();
- 
-         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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/util/regex/UnicodeProp.java	2014-01-28 11:39:19.725589319 +0000
-@@ -193,8 +193,8 @@
-         }
-     };
- 
--    private final static HashMap<String, String> posix = new HashMap<>();
--    private final static HashMap<String, String> aliases = new HashMap<>();
-+    private final static HashMap<String, String> posix = new HashMap<String,String>();
-+    private final static HashMap<String, String> aliases = new HashMap<String,String>();
-     static {
-         posix.put("ALPHA", "ALPHABETIC");
-         posix.put("LOWER", "LOWERCASE");
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/util/zip/ZipFile.java	2014-01-28 11:39:19.729589382 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/zip/ZipFile.java	2013-10-09 22:53:57.133881651 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/zip/ZipFile.java	2014-04-11 14:06:00.152906525 +0100
 @@ -321,7 +321,7 @@
  
      // the outstanding inputstreams that need to be closed,
@@ -3792,8 +3828,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/util/zip/ZipOutputStream.java	2014-01-28 11:39:19.729589382 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/zip/ZipOutputStream.java	2013-10-09 22:53:57.133881651 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/zip/ZipOutputStream.java	2014-04-11 14:06:00.152906525 +0100
 @@ -53,8 +53,8 @@
      }
  
@@ -3806,8 +3842,8 @@
      private long written = 0;
      private long locoff = 0;
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/javax/crypto/CryptoPermissions.java	2014-01-28 11:39:19.729589382 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/javax/crypto/CryptoPermissions.java	2013-10-09 22:53:57.253883511 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/crypto/CryptoPermissions.java	2014-04-11 14:06:00.156906582 +0100
 @@ -84,7 +84,7 @@
       * no CryptoPermissionCollections.
       */
@@ -3846,8 +3882,8 @@
          fields.put("perms", permTable);
          s.writeFields();
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/javax/crypto/JceSecurityManager.java	2014-01-28 11:39:19.729589382 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/javax/crypto/JceSecurityManager.java	2013-10-09 22:53:57.253883511 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/crypto/JceSecurityManager.java	2014-04-11 14:06:00.156906582 +0100
 @@ -54,7 +54,7 @@
      private static final CryptoAllPermission allPerm;
      private static final Vector TrustedCallersCache = new Vector(2);
@@ -3857,9 +3893,45 @@
      private static final CryptoPermissions CACHE_NULL_MARK =
              new CryptoPermissions();
  
+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	2014-04-11 14:36:59.175007129 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/script/ScriptEngineManager.java	2014-04-11 14:37:13.103231059 +0100
+@@ -116,7 +116,7 @@
+             return null;
+         }
+ 
+-        final List<ScriptEngineFactory> facList = new ArrayList<>();
++        final List<ScriptEngineFactory> facList = new ArrayList<ScriptEngineFactory>();
+         try {
+             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	2013-10-09 22:53:58.269899252 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/security/auth/kerberos/DelegationPermission.java	2014-04-11 14:06:00.160906638 +0100
+@@ -361,7 +361,7 @@
+         // Don't call out.defaultWriteObject()
+ 
+         // Write out Vector
+-        Vector<Permission> permissions = new Vector<>(perms.size());
++        Vector<Permission> permissions = new Vector<Permission>(perms.size());
+ 
+         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	2013-10-09 22:53:58.269899252 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/security/auth/kerberos/ServicePermission.java	2014-04-11 14:06:00.160906638 +0100
+@@ -569,7 +569,7 @@
+         // Don't call out.defaultWriteObject()
+ 
+         // Write out Vector
+-        Vector<Permission> permissions = new Vector<>(perms.size());
++        Vector<Permission> permissions = new Vector<Permission>(perms.size());
+ 
+         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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/javax/security/auth/PrivateCredentialPermission.java	2014-01-28 11:39:19.729589382 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/javax/security/auth/PrivateCredentialPermission.java	2013-10-09 22:53:58.241898818 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/security/auth/PrivateCredentialPermission.java	2014-04-11 14:06:00.156906582 +0100
 @@ -329,7 +329,7 @@
              throw new IllegalArgumentException("invalid empty name");
          }
@@ -3870,8 +3942,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/javax/security/auth/SubjectDomainCombiner.java	2014-01-28 11:39:19.729589382 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/javax/security/auth/SubjectDomainCombiner.java	2013-10-09 22:53:58.261899128 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/security/auth/SubjectDomainCombiner.java	2014-04-11 14:06:00.156906582 +0100
 @@ -48,7 +48,7 @@
  
      private Subject subject;
@@ -3881,34 +3953,10 @@
      private Set<Principal> principalSet;
      private Principal[] principals;
  
-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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/javax/security/auth/kerberos/DelegationPermission.java	2014-01-28 11:39:19.729589382 +0000
-@@ -361,7 +361,7 @@
-         // Don't call out.defaultWriteObject()
- 
-         // Write out Vector
--        Vector<Permission> permissions = new Vector<>(perms.size());
-+        Vector<Permission> permissions = new Vector<Permission>(perms.size());
- 
-         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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/javax/security/auth/kerberos/ServicePermission.java	2014-01-28 11:39:19.729589382 +0000
-@@ -569,7 +569,7 @@
-         // Don't call out.defaultWriteObject()
- 
-         // Write out Vector
--        Vector<Permission> permissions = new Vector<>(perms.size());
-+        Vector<Permission> permissions = new Vector<Permission>(perms.size());
- 
-         synchronized (this) {
-             permissions.addAll(perms);
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/font/CreatedFontTracker.java	2014-01-28 11:39:19.729589382 +0000
-@@ -106,7 +106,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/font/CreatedFontTracker.java	2014-04-09 15:05:31.892887543 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/font/CreatedFontTracker.java	2014-04-11 14:06:00.160906638 +0100
+@@ -109,7 +109,7 @@
       * Note that this only applies to createFont() from an InputStream object.
       */
      private static class TempFileDeletionHook {
@@ -3918,8 +3966,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	2014-01-28 11:38:19.420649790 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/invoke/util/ValueConversions.java	2014-01-28 11:39:19.729589382 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/invoke/util/ValueConversions.java	2014-04-11 13:58:34.398543250 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/invoke/util/ValueConversions.java	2014-04-11 14:06:00.164906695 +0100
 @@ -60,7 +60,7 @@
          EnumMap<Wrapper, MethodHandle>[] caches
                  = (EnumMap<Wrapper, MethodHandle>[]) new EnumMap<?,?>[n];
@@ -3957,8 +4005,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/io/CharacterEncoding.java	2014-01-28 11:39:19.729589382 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/io/CharacterEncoding.java	2013-10-09 22:53:56.365869752 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/io/CharacterEncoding.java	2014-04-11 14:06:00.164906695 +0100
 @@ -54,7 +54,7 @@
      private static volatile boolean installedAll;
  
@@ -3969,8 +4017,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/io/Converters.java	2014-01-28 11:39:19.729589382 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/io/Converters.java	2013-10-09 22:53:56.365869752 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/io/Converters.java	2014-04-11 14:06:00.164906695 +0100
 @@ -120,7 +120,7 @@
  
      private static Class<?> cache(int type, Object encoding, Class<?> c) {
@@ -3981,8 +4029,8 @@
          return c;
      }
 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	2014-01-28 11:38:19.408649603 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/launcher/LauncherHelper.java	2014-01-28 11:39:19.729589382 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/launcher/LauncherHelper.java	2014-04-11 13:58:34.378542963 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/launcher/LauncherHelper.java	2014-04-11 14:06:00.164906695 +0100
 @@ -171,7 +171,7 @@
      private static void printProperties(PrintStream ostream) {
          Properties p = System.getProperties();
@@ -4019,9 +4067,21 @@
          if (trace) {
              System.err.println("Incoming arguments:");
          }
+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	2013-10-09 22:53:57.573888469 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/management/jdp/JdpPacketReader.java	2014-04-11 14:06:00.168906753 +0100
+@@ -120,7 +120,7 @@
+ 
+         String key = null, value = null;
+ 
+-        final Map<String, String> tmpMap = new HashMap<>();
++        final Map<String, String> tmpMap = new HashMap<String, String>();
+         try {
+             while (true) {
+                 key = getEntry();
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/management/ManagementFactoryHelper.java	2014-01-28 11:39:19.729589382 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/management/ManagementFactoryHelper.java	2013-10-09 22:53:57.317884503 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/management/ManagementFactoryHelper.java	2014-04-11 14:06:00.168906753 +0100
 @@ -205,7 +205,7 @@
      private static List<BufferPoolMXBean> bufferPools = null;
      public static synchronized List<BufferPoolMXBean> getBufferPoolMXBeans() {
@@ -4031,21 +4091,9 @@
              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/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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/management/jdp/JdpPacketReader.java	2014-01-28 11:39:19.729589382 +0000
-@@ -120,7 +120,7 @@
- 
-         String key = null, value = null;
- 
--        final Map<String, String> tmpMap = new HashMap<>();
-+        final Map<String, String> tmpMap = new HashMap<String, String>();
-         try {
-             while (true) {
-                 key = getEntry();
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java	2014-01-28 11:39:19.729589382 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java	2013-10-09 22:53:57.713890637 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java	2014-04-11 14:06:00.168906753 +0100
 @@ -52,7 +52,7 @@
  
      // Per-thread soft cache of the last temporary context
@@ -4073,21 +4121,9 @@
          Attributes attrs;
  
          // do the query
-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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/net/www/URLConnection.java	2014-01-28 11:39:19.733589444 +0000
-@@ -239,7 +239,7 @@
-         url = null;
-     }
- 
--    private static HashMap<String,Void> proxiedHosts = new HashMap<>();
-+    private static HashMap<String,Void> proxiedHosts = new HashMap<String,Void>();
- 
-     public synchronized static void setProxiedHost(String host) {
-         proxiedHosts.put(host.toLowerCase(), null);
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/http/AuthenticationInfo.java	2014-01-28 11:39:19.729589382 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/http/AuthenticationInfo.java	2013-10-09 22:53:57.757891319 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/http/AuthenticationInfo.java	2014-04-11 14:06:00.172906809 +0100
 @@ -111,7 +111,7 @@
       * at the same time, then all but the first will block until
       * the first completes its authentication.
@@ -4098,8 +4134,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java	2014-01-28 11:39:19.733589444 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java	2013-10-09 22:53:57.797891939 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java	2014-04-11 14:06:00.172906809 +0100
 @@ -2646,7 +2646,7 @@
          if (filteredHeaders != null)
              return filteredHeaders;
@@ -4118,9 +4154,21 @@
              for (String value : values) {
                  String fVal = filterHeaderField(key, value);
                  if (fVal != null)
+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	2013-10-09 22:53:57.717890700 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/net/www/URLConnection.java	2014-04-11 14:06:00.168906753 +0100
+@@ -239,7 +239,7 @@
+         url = null;
+     }
+ 
+-    private static HashMap<String,Void> proxiedHosts = new HashMap<>();
++    private static HashMap<String,Void> proxiedHosts = new HashMap<String,Void>();
+ 
+     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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/nio/cs/AbstractCharsetProvider.java	2014-01-28 11:39:19.733589444 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/nio/cs/AbstractCharsetProvider.java	2013-10-09 22:53:57.877893179 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/nio/cs/AbstractCharsetProvider.java	2014-04-11 14:06:00.172906809 +0100
 @@ -49,22 +49,22 @@
      /* Maps canonical names to class names
       */
@@ -4158,8 +4206,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractAclFileAttributeView.java	2014-01-28 11:39:19.733589444 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/AbstractAclFileAttributeView.java	2013-10-09 22:53:58.041895720 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractAclFileAttributeView.java	2014-04-11 14:06:00.176906865 +0100
 @@ -84,7 +84,7 @@
              throw new IllegalArgumentException("'" + name() + ":" +
                  attribute + "' not recognized");
@@ -4170,8 +4218,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractBasicFileAttributeView.java	2014-01-28 11:39:19.733589444 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/AbstractBasicFileAttributeView.java	2013-10-09 22:53:58.041895720 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractBasicFileAttributeView.java	2014-04-11 14:06:00.176906865 +0100
 @@ -89,8 +89,8 @@
       * Used to build a map of attribute name/values.
       */
@@ -4184,8 +4232,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractPoller.java	2014-01-28 11:39:19.733589444 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/AbstractPoller.java	2013-10-09 22:53:58.045895782 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractPoller.java	2014-04-11 14:06:00.176906865 +0100
 @@ -102,7 +102,7 @@
              throw new NullPointerException();
          if (events.length == 0)
@@ -4196,8 +4244,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractUserDefinedFileAttributeView.java	2014-01-28 11:39:19.733589444 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/AbstractUserDefinedFileAttributeView.java	2013-10-09 22:53:58.045895782 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractUserDefinedFileAttributeView.java	2014-04-11 14:06:00.176906865 +0100
 @@ -77,7 +77,7 @@
          throws IOException
      {
@@ -4217,8 +4265,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/FileOwnerAttributeViewImpl.java	2014-01-28 11:39:19.733589444 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/FileOwnerAttributeViewImpl.java	2013-10-09 22:53:58.045895782 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/FileOwnerAttributeViewImpl.java	2014-04-11 14:06:00.176906865 +0100
 @@ -71,7 +71,7 @@
  
      @Override
@@ -4229,8 +4277,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/Util.java	2014-01-28 11:39:19.733589444 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/Util.java	2013-10-09 22:53:58.073896216 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/Util.java	2014-04-11 14:06:00.180906922 +0100
 @@ -63,7 +63,7 @@
       * Returns a Set containing the given elements.
       */
@@ -4250,8 +4298,8 @@
              set.add(e);
          }
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/reflect/generics/parser/SignatureParser.java	2014-01-28 11:39:19.733589444 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/reflect/generics/parser/SignatureParser.java	2013-10-09 22:53:58.201898199 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/reflect/generics/parser/SignatureParser.java	2014-04-11 14:06:00.180906922 +0100
 @@ -229,7 +229,7 @@
       *     "<" FormalTypeParameter+ ">"
       */
@@ -4316,8 +4364,8 @@
              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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/registry/RegistryImpl.java	2014-01-28 11:39:19.733589444 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/registry/RegistryImpl.java	2014-01-16 16:51:42.428590034 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/registry/RegistryImpl.java	2014-04-11 14:06:00.180906922 +0100
 @@ -78,9 +78,9 @@
      /* indicate compatibility with JDK 1.1.x version of class */
      private static final long serialVersionUID = 4666870661827494597L;
@@ -4331,8 +4379,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/rmic/BatchEnvironment.java	2014-01-28 11:39:19.733589444 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/rmic/BatchEnvironment.java	2013-10-09 22:53:58.277899377 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/rmic/BatchEnvironment.java	2014-04-11 14:06:00.180906922 +0100
 @@ -160,7 +160,7 @@
      }
  
@@ -4343,8 +4391,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/rmic/Main.java	2014-01-28 11:39:19.733589444 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/rmic/Main.java	2013-10-09 22:53:58.277899377 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/rmic/Main.java	2014-04-11 14:06:00.184906979 +0100
 @@ -184,7 +184,7 @@
          destDir = null;
          flags = F_WARNINGS;
@@ -4364,8 +4412,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/rmic/RMIGenerator.java	2014-01-28 11:39:19.733589444 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/rmic/RMIGenerator.java	2013-10-09 22:53:58.281899439 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/rmic/RMIGenerator.java	2014-04-11 14:06:00.184906979 +0100
 @@ -61,7 +61,7 @@
   */
  public class RMIGenerator implements RMIConstants, Generator {
@@ -4384,9 +4432,25 @@
  
          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	2014-04-11 13:58:34.350542559 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/ActivationGroupImpl.java	2014-04-11 14:06:00.188907035 +0100
+@@ -66,10 +66,10 @@
+ 
+     /** maps persistent IDs to activated remote objects */
+     private final Hashtable<ActivationID,ActiveEntry> active =
+-        new Hashtable<>();
++        new Hashtable<ActivationID,ActiveEntry>();
+     private boolean groupInactive = false;
+     private final ActivationGroupID groupID;
+-    private final List<ActivationID> lockedIDs = new ArrayList<>();
++    private final List<ActivationID> lockedIDs = new ArrayList<ActivationID>();
+ 
+     /**
+      * 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	2014-01-28 11:38:19.408649603 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/Activation.java	2014-01-28 11:39:19.733589444 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/Activation.java	2014-04-11 13:58:34.382543019 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/Activation.java	2014-04-11 14:06:00.184906979 +0100
 @@ -149,10 +149,10 @@
  
      /** maps activation id to its respective group id */
@@ -4442,25 +4506,9 @@
  
              /*
               * Parse arguments
-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	2014-01-28 11:38:19.380649167 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/ActivationGroupImpl.java	2014-01-28 11:39:19.733589444 +0000
-@@ -66,10 +66,10 @@
- 
-     /** maps persistent IDs to activated remote objects */
-     private final Hashtable<ActivationID,ActiveEntry> active =
--        new Hashtable<>();
-+        new Hashtable<ActivationID,ActiveEntry>();
-     private boolean groupInactive = false;
-     private final ActivationGroupID groupID;
--    private final List<ActivationID> lockedIDs = new ArrayList<>();
-+    private final List<ActivationID> lockedIDs = new ArrayList<ActivationID>();
- 
-     /**
-      * Creates a default activation group implementation.
 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	2014-01-28 11:38:19.380649167 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/LoaderHandler.java	2014-01-28 11:39:19.733589444 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/LoaderHandler.java	2014-04-11 13:58:34.350542559 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/LoaderHandler.java	2014-04-11 14:06:00.188907035 +0100
 @@ -113,11 +113,11 @@
       * garbage collected.
       */
@@ -4485,8 +4533,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/MarshalInputStream.java	2014-01-28 11:39:19.733589444 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/MarshalInputStream.java	2013-10-09 22:53:58.309899873 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/MarshalInputStream.java	2014-04-11 14:06:00.188907035 +0100
 @@ -71,14 +71,14 @@
  
      /** table to hold sun classes to which access is explicitly permitted */
@@ -4505,8 +4553,8 @@
      /**
       * 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/UnicastServerRef.java	2014-01-28 11:39:19.733589444 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/UnicastServerRef.java	2013-10-09 22:53:58.309899873 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/UnicastServerRef.java	2014-04-11 14:06:00.188907035 +0100
 @@ -537,7 +537,7 @@
          HashToMethod_Maps() {}
  
@@ -4517,8 +4565,8 @@
                   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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/Util.java	2014-01-28 11:39:19.733589444 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/Util.java	2013-10-09 22:53:58.329900182 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/Util.java	2014-04-11 14:06:00.192907092 +0100
 @@ -207,7 +207,7 @@
       * @throws  NullPointerException if remoteClass is null
       */
@@ -4529,8 +4577,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/WeakClassHashMap.java	2014-01-28 11:39:19.733589444 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/WeakClassHashMap.java	2013-10-09 22:53:58.329900182 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/WeakClassHashMap.java	2014-04-11 14:06:00.192907092 +0100
 @@ -46,7 +46,7 @@
   **/
  public abstract class WeakClassHashMap<V> {
@@ -4541,8 +4589,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/ConnectionInputStream.java	2014-01-28 11:39:19.733589444 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/ConnectionInputStream.java	2013-10-09 22:53:58.333900244 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/ConnectionInputStream.java	2014-04-11 14:06:00.192907092 +0100
 @@ -43,7 +43,7 @@
      private boolean dgcAckNeeded = false;
  
@@ -4553,8 +4601,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/DGCAckHandler.java	2014-01-28 11:39:19.733589444 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/DGCAckHandler.java	2013-10-09 22:53:58.333900244 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/DGCAckHandler.java	2014-04-11 14:06:00.192907092 +0100
 @@ -78,7 +78,7 @@
          Collections.synchronizedMap(new HashMap<UID,DGCAckHandler>());
  
@@ -4565,8 +4613,8 @@
  
      /**
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/DGCClient.java	2014-01-28 11:39:19.733589444 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/DGCClient.java	2013-10-09 22:53:58.333900244 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/DGCClient.java	2014-04-11 14:06:00.196907148 +0100
 @@ -176,9 +176,9 @@
          private DGC dgc;
  
@@ -4638,8 +4686,8 @@
              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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/DGCImpl.java	2014-01-28 11:39:19.733589444 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/DGCImpl.java	2013-10-09 22:53:58.333900244 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/DGCImpl.java	2014-04-11 14:06:00.196907148 +0100
 @@ -84,7 +84,7 @@
      /** remote implementation of DGC interface for this VM */
      private static DGCImpl dgc;
@@ -4668,8 +4716,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/ObjectTable.java	2014-01-28 11:39:19.733589444 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/ObjectTable.java	2013-10-09 22:53:58.353900554 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/ObjectTable.java	2014-04-11 14:06:00.196907148 +0100
 @@ -62,9 +62,9 @@
  
      /** tables mapping to Target, keyed from ObjectEndpoint and impl object */
@@ -4691,37 +4739,9 @@
  
      /** 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/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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/Target.java	2014-01-28 11:39:19.737589506 +0000
-@@ -53,10 +53,10 @@
-     /** stub for remote object */
-     private final Remote stub;
-     /** set of clients that hold references to this target */
--    private final Vector<VMID> refSet = new Vector<>();
-+    private final Vector<VMID> refSet = new Vector<VMID>();
-     /** table that maps client endpoints to sequence numbers */
-     private final Hashtable<VMID, SequenceEntry> sequenceTable =
--        new Hashtable<>(5);
-+        new Hashtable<VMID, SequenceEntry>(5);
-     /** access control context in which target was created */
-     private final AccessControlContext acc;
-     /** context class loader in which target was created */
-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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/Transport.java	2014-01-28 11:39:19.737589506 +0000
-@@ -62,7 +62,7 @@
-         Log.getLog("sun.rmi.transport.misc", "transport", Transport.logLevel);
- 
-     /** References the current transport when a call is being serviced */
--    private static final ThreadLocal<Transport> currentTransport = new ThreadLocal<>();
-+    private static final ThreadLocal<Transport> currentTransport = new ThreadLocal<Transport>();
- 
-     /** ObjID for DGCImpl */
-     private static final ObjID dgcID = new ObjID(ObjID.DGC_ID);
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/proxy/CGIHandler.java	2014-01-28 11:39:19.737589506 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/proxy/CGIHandler.java	2013-10-09 22:53:58.353900554 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/proxy/CGIHandler.java	2014-04-11 14:06:00.200907205 +0100
 @@ -116,7 +116,7 @@
      /* construct table mapping command strings to handlers */
      private static Hashtable<String, CGICommandHandler> commandLookup;
@@ -4732,8 +4752,8 @@
              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	2014-01-28 11:38:19.408649603 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/proxy/RMIMasterSocketFactory.java	2014-01-28 11:39:19.737589506 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/proxy/RMIMasterSocketFactory.java	2014-04-11 13:58:34.382543019 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/proxy/RMIMasterSocketFactory.java	2014-04-11 14:06:00.200907205 +0100
 @@ -75,13 +75,13 @@
  
      /** table of hosts successfully connected to and the factory used */
@@ -4759,9 +4779,25 @@
          boolean setFactories = false;
  
          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	2013-10-09 22:53:58.353900554 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/Target.java	2014-04-11 14:06:00.196907148 +0100
+@@ -53,10 +53,10 @@
+     /** stub for remote object */
+     private final Remote stub;
+     /** set of clients that hold references to this target */
+-    private final Vector<VMID> refSet = new Vector<>();
++    private final Vector<VMID> refSet = new Vector<VMID>();
+     /** table that maps client endpoints to sequence numbers */
+     private final Hashtable<VMID, SequenceEntry> sequenceTable =
+-        new Hashtable<>(5);
++        new Hashtable<VMID, SequenceEntry>(5);
+     /** access control context in which target was created */
+     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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/tcp/ConnectionMultiplexer.java	2014-01-28 11:39:19.737589506 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/tcp/ConnectionMultiplexer.java	2013-10-09 22:53:58.357900616 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/tcp/ConnectionMultiplexer.java	2014-04-11 14:06:00.200907205 +0100
 @@ -85,7 +85,7 @@
      private DataOutputStream dataOut;
  
@@ -4772,8 +4808,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/tcp/TCPChannel.java	2014-01-28 11:39:19.737589506 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/tcp/TCPChannel.java	2013-10-09 22:53:58.377900926 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/tcp/TCPChannel.java	2014-04-11 14:06:00.204907263 +0100
 @@ -64,7 +64,7 @@
      private final TCPTransport tr;
      /** list of cached connections */
@@ -4793,8 +4829,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	2014-01-28 11:38:19.380649167 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/tcp/TCPEndpoint.java	2014-01-28 11:39:19.737589506 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/tcp/TCPEndpoint.java	2014-04-11 13:58:34.350542559 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/tcp/TCPEndpoint.java	2014-04-11 14:06:00.204907263 +0100
 @@ -148,7 +148,7 @@
      // TBD: should this be a weak hash table?
      private static final
@@ -4805,8 +4841,8 @@
      /**
       * 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/tcp/TCPTransport.java	2014-01-28 11:39:19.737589506 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/tcp/TCPTransport.java	2013-10-09 22:53:58.377900926 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/tcp/TCPTransport.java	2014-04-11 14:06:00.204907263 +0100
 @@ -120,7 +120,7 @@
  
      /** client host for the current thread's connection */
@@ -4825,9 +4861,21 @@
  
      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	2013-10-09 22:53:58.353900554 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/Transport.java	2014-04-11 14:06:00.200907205 +0100
+@@ -62,7 +62,7 @@
+         Log.getLog("sun.rmi.transport.misc", "transport", Transport.logLevel);
+ 
+     /** References the current transport when a call is being serviced */
+-    private static final ThreadLocal<Transport> currentTransport = new ThreadLocal<>();
++    private static final ThreadLocal<Transport> currentTransport = new ThreadLocal<Transport>();
+ 
+     /** 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/acl/AclEntryImpl.java	2014-01-28 11:39:19.737589506 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/acl/AclEntryImpl.java	2013-10-09 22:53:58.377900926 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/acl/AclEntryImpl.java	2014-04-11 14:06:00.208907319 +0100
 @@ -37,7 +37,7 @@
   */
  public class AclEntryImpl implements AclEntry {
@@ -4838,8 +4886,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/acl/AclImpl.java	2014-01-28 11:39:19.737589506 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/acl/AclImpl.java	2013-10-09 22:53:58.377900926 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/acl/AclImpl.java	2014-04-11 14:06:00.208907319 +0100
 @@ -41,15 +41,15 @@
      // or principal.
      //
@@ -4880,8 +4928,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/acl/GroupImpl.java	2014-01-28 11:39:19.737589506 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/acl/GroupImpl.java	2013-10-09 22:53:58.377900926 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/acl/GroupImpl.java	2014-04-11 14:06:00.208907319 +0100
 @@ -34,7 +34,7 @@
   * @author      Satish Dharmaraj
   */
@@ -4901,8 +4949,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/jca/ProviderList.java	2014-01-28 11:39:19.737589506 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/jca/ProviderList.java	2013-10-09 22:53:58.405901360 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/jca/ProviderList.java	2014-04-11 14:06:00.208907319 +0100
 @@ -96,7 +96,7 @@
          if (providerList.getProvider(p.getName()) != null) {
              return providerList;
@@ -4940,8 +4988,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/jca/Providers.java	2014-01-28 11:39:19.737589506 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/jca/Providers.java	2013-10-09 22:53:58.405901360 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/jca/Providers.java	2014-04-11 14:06:00.212907375 +0100
 @@ -40,7 +40,7 @@
  public class Providers {
  
@@ -4952,8 +5000,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/jgss/krb5/Krb5Util.java	2014-01-28 11:39:19.737589506 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/jgss/krb5/Krb5Util.java	2013-10-09 22:53:58.453902104 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/jgss/krb5/Krb5Util.java	2014-04-11 14:06:00.212907375 +0100
 @@ -267,7 +267,7 @@
              if (ktabs.isEmpty()) {
                  return kk.toArray(new KerberosKey[kk.size()]);
@@ -4964,8 +5012,8 @@
                      for (KerberosKey k: ktab.getKeys(kp)) {
                          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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/Config.java	2014-01-28 11:39:19.737589506 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/Config.java	2013-10-09 22:53:58.473902413 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/Config.java	2014-04-11 14:06:00.212907375 +0100
 @@ -576,7 +576,7 @@
                  }
                  })));
@@ -5042,74 +5090,9 @@
              int type;
              for (int i = 0; i < len; i++) {
                  type = getType(st.nextToken());
-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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/KdcComm.java	2014-01-28 11:39:19.741589569 +0000
-@@ -466,7 +466,7 @@
-      */
-     static class KdcAccessibility {
-         // Known bad KDCs
--        private static Set<String> bads = new HashSet<>();
-+        private static Set<String> bads = new HashSet<String>();
- 
-         private static synchronized void addBad(String kdc) {
-             if (DEBUG) {
-@@ -496,9 +496,9 @@
-         // Returns a preferred KDC list by putting the bad ones at the end
-         private static synchronized String[] list(String kdcList) {
-             StringTokenizer st = new StringTokenizer(kdcList);
--            List<String> list = new ArrayList<>();
-+            List<String> list = new ArrayList<String>();
-             if (badPolicy == BpType.TRY_LAST) {
--                List<String> badkdcs = new ArrayList<>();
-+                List<String> badkdcs = new ArrayList<String>();
-                 while (st.hasMoreTokens()) {
-                     String t = st.nextToken();
-                     if (bads.contains(t)) badkdcs.add(t);
-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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/PrincipalName.java	2014-01-28 11:39:19.741589569 +0000
-@@ -238,7 +238,7 @@
-             if (subDer.getTag() != DerValue.tag_SequenceOf) {
-                 throw new Asn1Exception(Krb5.ASN1_BAD_ID);
-             }
--            Vector<String> v = new Vector<>();
-+            Vector<String> v = new Vector<String>();
-             DerValue subSubDer;
-             while(subDer.getData().available() > 0) {
-                 subSubDer = subDer.getData().getDerValue();
-@@ -293,7 +293,7 @@
-     // Code repetition, realm parsed again by class Realm
-     protected static String[] parseName(String name) {
- 
--        Vector<String> tempStrings = new Vector<>();
-+        Vector<String> tempStrings = new Vector<String>();
-         String temp = name;
-         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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/Realm.java	2014-01-28 11:39:19.741589569 +0000
-@@ -359,14 +359,14 @@
-         }
- 
-         String tempTarget = null, tempRealm = null;
--        Stack<String> iStack = new Stack<>();
-+        Stack<String> iStack = new Stack<String>();
- 
-         /*
-          * The half-established reversed-path, starting from the final target
-          * (sRealm), each item can be connected to by the next one.
-          * Might contains wrong item, if found, a bad track is performed
-          */
--        Vector<String> tempList = new Vector<>(8, 8);
-+        Vector<String> tempList = new Vector<String>(8, 8);
-         tempList.add(sRealm);
- 
-         int count = 0; // For debug only
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/Authenticator.java	2014-01-28 11:39:19.737589506 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/Authenticator.java	2013-10-09 22:53:58.489902661 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/Authenticator.java	2014-04-11 14:06:00.216907432 +0100
 @@ -176,7 +176,7 @@
       * @exception IOException if an I/O error occurs while reading encoded data.
       */
@@ -5120,8 +5103,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/AuthorizationData.java	2014-01-28 11:39:19.737589506 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/AuthorizationData.java	2013-10-09 22:53:58.489902661 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/AuthorizationData.java	2014-04-11 14:06:00.216907432 +0100
 @@ -99,7 +99,7 @@
       * @exception IOException if an I/O error occurs while reading encoded data.
       */
@@ -5131,9 +5114,33 @@
          if (der.getTag() != DerValue.tag_Sequence) {
              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	2013-10-09 22:53:58.545903529 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java	2014-04-11 14:06:00.228907602 +0100
+@@ -542,7 +542,7 @@
+ 
+     private static String exec(String c) {
+         StringTokenizer st = new StringTokenizer(c);
+-        Vector<String> v = new Vector<>();
++        Vector<String> v = new Vector<String>();
+         while (st.hasMoreTokens()) {
+             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	2013-10-09 22:53:58.569903900 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/crypto/EType.java	2014-04-11 14:06:00.228907602 +0100
+@@ -257,7 +257,7 @@
+                 + configName);
+         }
+ 
+-        List<Integer> list = new ArrayList<>(answer.length);
++        List<Integer> list = new ArrayList<Integer>(answer.length);
+         for (int i = 0; i < answer.length; i++) {
+             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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/EncAPRepPart.java	2014-01-28 11:39:19.737589506 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/EncAPRepPart.java	2013-10-09 22:53:58.489902661 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/EncAPRepPart.java	2014-04-11 14:06:00.220907489 +0100
 @@ -133,7 +133,7 @@
       * @exception IOException if an I/O error occurs while reading encoded data.
       */
@@ -5144,8 +5151,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/HostAddresses.java	2014-01-28 11:39:19.737589506 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/HostAddresses.java	2013-10-09 22:53:58.517903095 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/HostAddresses.java	2014-04-11 14:06:00.220907489 +0100
 @@ -179,7 +179,7 @@
      */
      public HostAddresses(DerValue encoding)
@@ -5164,21 +5171,9 @@
  
          for (int i = 0; i < addresses.length; i++) {
              try {
-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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KDCReq.java	2014-01-28 11:39:19.737589506 +0000
-@@ -150,7 +150,7 @@
-             if (subsubDer.getTag() != DerValue.tag_SequenceOf) {
-                 throw new Asn1Exception(Krb5.ASN1_BAD_ID);
-             }
--            Vector<PAData> v = new Vector<>();
-+            Vector<PAData> v = new Vector<PAData>();
-             while (subsubDer.getData().available() > 0) {
-                 v.addElement(new PAData(subsubDer.getData().getDerValue()));
-             }
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KDCReqBody.java	2014-01-28 11:39:19.737589506 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/KDCReqBody.java	2013-10-09 22:53:58.517903095 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KDCReqBody.java	2014-04-11 14:06:00.220907489 +0100
 @@ -158,7 +158,7 @@
              throw new Asn1Exception(Krb5.ASN1_BAD_ID);
          }
@@ -5206,9 +5201,33 @@
          v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x00), kdcOptions.asn1Encode()));
          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	2013-10-09 22:53:58.517903095 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KDCReq.java	2014-04-11 14:06:00.220907489 +0100
+@@ -150,7 +150,7 @@
+             if (subsubDer.getTag() != DerValue.tag_SequenceOf) {
+                 throw new Asn1Exception(Krb5.ASN1_BAD_ID);
+             }
+-            Vector<PAData> v = new Vector<>();
++            Vector<PAData> v = new Vector<PAData>();
+             while (subsubDer.getData().available() > 0) {
+                 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	2013-10-09 22:53:58.541903467 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KrbCredInfo.java	2014-04-11 14:06:00.224907545 +0100
+@@ -157,7 +157,7 @@
+      * @exception IOException if an I/O error occurs while reading encoded data.
+      */
+     public byte[] asn1Encode() throws Asn1Exception, IOException {
+-        Vector<DerValue> v = new Vector<>();
++        Vector<DerValue> v = new Vector<DerValue>();
+         v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x00), key.asn1Encode()));
+         if (prealm != null)
+             v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x01), prealm.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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KRBCred.java	2014-01-28 11:39:19.737589506 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/KRBCred.java	2013-10-09 22:53:58.517903095 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KRBCred.java	2014-04-11 14:06:00.224907545 +0100
 @@ -134,7 +134,7 @@
              if (subsubDer.getTag() != DerValue.tag_SequenceOf) {
                  throw new Asn1Exception(Krb5.ASN1_BAD_ID);
@@ -5219,8 +5238,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KRBError.java	2014-01-28 11:39:19.737589506 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/KRBError.java	2013-10-09 22:53:58.517903095 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KRBError.java	2014-04-11 14:06:00.224907545 +0100
 @@ -259,7 +259,7 @@
      private void parsePAData(byte[] data)
              throws IOException, Asn1Exception {
@@ -5230,57 +5249,9 @@
          while (derPA.data.available() > 0) {
              // read the PA-DATA
              DerValue tmp = derPA.data.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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KrbCredInfo.java	2014-01-28 11:39:19.737589506 +0000
-@@ -157,7 +157,7 @@
-      * @exception IOException if an I/O error occurs while reading encoded data.
-      */
-     public byte[] asn1Encode() throws Asn1Exception, IOException {
--        Vector<DerValue> v = new Vector<>();
-+        Vector<DerValue> v = new Vector<DerValue>();
-         v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x00), key.asn1Encode()));
-         if (prealm != null)
-             v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x01), prealm.asn1Encode()));
-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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/LastReq.java	2014-01-28 11:39:19.741589569 +0000
-@@ -77,7 +77,7 @@
-      */
- 
-     public LastReq(DerValue encoding) throws Asn1Exception, IOException {
--        Vector<LastReqEntry> v= new Vector<>();
-+        Vector<LastReqEntry> v= new Vector<LastReqEntry>();
-         if (encoding.getTag() != DerValue.tag_Sequence) {
-             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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java	2014-01-28 11:39:19.737589506 +0000
-@@ -542,7 +542,7 @@
- 
-     private static String exec(String c) {
-         StringTokenizer st = new StringTokenizer(c);
--        Vector<String> v = new Vector<>();
-+        Vector<String> v = new Vector<String>();
-         while (st.hasMoreTokens()) {
-             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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/crypto/EType.java	2014-01-28 11:39:19.737589506 +0000
-@@ -257,7 +257,7 @@
-                 + configName);
-         }
- 
--        List<Integer> list = new ArrayList<>(answer.length);
-+        List<Integer> list = new ArrayList<Integer>(answer.length);
-         for (int i = 0; i < answer.length; i++) {
-             if (EncryptionKey.findKey(answer[i], keys) != null) {
-                 list.add(answer[i]);
 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	2014-01-28 11:38:19.408649603 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java	2014-01-28 11:39:19.737589506 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java	2014-04-11 13:58:34.382543019 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java	2014-04-11 14:06:00.228907602 +0100
 @@ -67,7 +67,7 @@
  
      // Attention: Currently there is no way to remove a keytab from this map,
@@ -5317,9 +5288,98 @@
  
          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	2013-10-09 22:53:58.541903467 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/LastReq.java	2014-04-11 14:06:00.224907545 +0100
+@@ -77,7 +77,7 @@
+      */
+ 
+     public LastReq(DerValue encoding) throws Asn1Exception, IOException {
+-        Vector<LastReqEntry> v= new Vector<>();
++        Vector<LastReqEntry> v= new Vector<LastReqEntry>();
+         if (encoding.getTag() != DerValue.tag_Sequence) {
+             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	2013-10-09 22:53:58.481902537 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/KdcComm.java	2014-04-11 14:06:00.212907375 +0100
+@@ -466,7 +466,7 @@
+      */
+     static class KdcAccessibility {
+         // Known bad KDCs
+-        private static Set<String> bads = new HashSet<>();
++        private static Set<String> bads = new HashSet<String>();
+ 
+         private static synchronized void addBad(String kdc) {
+             if (DEBUG) {
+@@ -496,9 +496,9 @@
+         // Returns a preferred KDC list by putting the bad ones at the end
+         private static synchronized String[] list(String kdcList) {
+             StringTokenizer st = new StringTokenizer(kdcList);
+-            List<String> list = new ArrayList<>();
++            List<String> list = new ArrayList<String>();
+             if (badPolicy == BpType.TRY_LAST) {
+-                List<String> badkdcs = new ArrayList<>();
++                List<String> badkdcs = new ArrayList<String>();
+                 while (st.hasMoreTokens()) {
+                     String t = st.nextToken();
+                     if (bads.contains(t)) badkdcs.add(t);
+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	2013-10-09 22:53:58.485902600 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/PrincipalName.java	2014-04-11 14:06:00.216907432 +0100
+@@ -238,7 +238,7 @@
+             if (subDer.getTag() != DerValue.tag_SequenceOf) {
+                 throw new Asn1Exception(Krb5.ASN1_BAD_ID);
+             }
+-            Vector<String> v = new Vector<>();
++            Vector<String> v = new Vector<String>();
+             DerValue subSubDer;
+             while(subDer.getData().available() > 0) {
+                 subSubDer = subDer.getData().getDerValue();
+@@ -293,7 +293,7 @@
+     // Code repetition, realm parsed again by class Realm
+     protected static String[] parseName(String name) {
+ 
+-        Vector<String> tempStrings = new Vector<>();
++        Vector<String> tempStrings = new Vector<String>();
+         String temp = name;
+         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	2013-10-09 22:53:58.485902600 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/Realm.java	2014-04-11 14:06:00.216907432 +0100
+@@ -359,14 +359,14 @@
+         }
+ 
+         String tempTarget = null, tempRealm = null;
+-        Stack<String> iStack = new Stack<>();
++        Stack<String> iStack = new Stack<String>();
+ 
+         /*
+          * The half-established reversed-path, starting from the final target
+          * (sRealm), each item can be connected to by the next one.
+          * Might contains wrong item, if found, a bad track is performed
+          */
+-        Vector<String> tempList = new Vector<>(8, 8);
++        Vector<String> tempList = new Vector<String>(8, 8);
+         tempList.add(sRealm);
+ 
+         int count = 0; // For debug only
+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	2013-10-09 22:53:58.733906442 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java	2014-04-11 14:06:00.236907715 +0100
+@@ -584,7 +584,7 @@
+             // Except the performance improvement, another benefit is to break
+             // the dead loop while looking for the issuer back and forth
+             // between the delegated self-issued certificate and its issuer.
+-            Set<TrustAnchor> newTrustAnchors = new HashSet<>(trustAnchors);
++            Set<TrustAnchor> newTrustAnchors = new HashSet<TrustAnchor>(trustAnchors);
+ 
+             if (prevKey != null) {
+                 // Add the previous certificate as a trust anchor.
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/provider/JavaKeyStore.java	2014-01-28 11:39:19.741589569 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/JavaKeyStore.java	2013-10-09 22:53:58.697905884 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/JavaKeyStore.java	2014-04-11 14:06:00.228907602 +0100
 @@ -683,7 +683,7 @@
                      // Read the certificate chain
                      int numOfCerts = dis.readInt();
@@ -5330,8 +5390,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/provider/PolicyFile.java	2014-01-28 11:39:19.741589569 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/PolicyFile.java	2013-10-09 22:53:58.701905946 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/PolicyFile.java	2014-04-11 14:06:00.232907658 +0100
 @@ -299,7 +299,7 @@
      private static final int DEFAULT_CACHE_SIZE = 1;
  
@@ -5387,8 +5447,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/provider/Sun.java	2014-01-28 11:39:19.741589569 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/Sun.java	2013-10-09 22:53:58.713906132 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/Sun.java	2014-04-11 14:06:00.232907658 +0100
 @@ -55,7 +55,7 @@
              SunEntries.putEntries(this);
          } else {
@@ -5399,8 +5459,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/provider/VerificationProvider.java	2014-01-28 11:39:19.741589569 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/VerificationProvider.java	2013-10-09 22:53:58.713906132 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/VerificationProvider.java	2014-04-11 14:06:00.232907658 +0100
 @@ -76,7 +76,7 @@
              SunRsaSignEntries.putEntries(this);
          } else {
@@ -5411,8 +5471,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/provider/X509Factory.java	2014-01-28 11:39:19.741589569 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/X509Factory.java	2013-10-09 22:53:58.717906194 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/X509Factory.java	2014-04-11 14:06:00.232907658 +0100
 @@ -409,10 +409,10 @@
          parseX509orPKCS7Cert(InputStream is)
          throws CertificateException, IOException
@@ -5457,21 +5517,9 @@
              }
          } catch (ParsingException e) {
              while (data != null) {
-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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java	2014-01-28 11:39:19.741589569 +0000
-@@ -584,7 +584,7 @@
-             // Except the performance improvement, another benefit is to break
-             // the dead loop while looking for the issuer back and forth
-             // between the delegated self-issued certificate and its issuer.
--            Set<TrustAnchor> newTrustAnchors = new HashSet<>(trustAnchors);
-+            Set<TrustAnchor> newTrustAnchors = new HashSet<TrustAnchor>(trustAnchors);
- 
-             if (prevKey != null) {
-                 // Add the previous certificate as a trust anchor.
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/rsa/RSACore.java	2014-01-28 11:39:19.741589569 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/rsa/RSACore.java	2013-10-09 22:53:58.781907185 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/rsa/RSACore.java	2014-04-11 14:06:00.236907715 +0100
 @@ -219,7 +219,7 @@
      // use a weak hashmap so that cached values are automatically cleared
      // when the modulus is GC'ed
@@ -5482,8 +5530,8 @@
      /**
       * Set of blinding parameters for a given RSA key.
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/rsa/SunRsaSign.java	2014-01-28 11:39:19.741589569 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/rsa/SunRsaSign.java	2013-10-09 22:53:58.781907185 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/rsa/SunRsaSign.java	2014-04-11 14:06:00.236907715 +0100
 @@ -52,7 +52,7 @@
              SunRsaSignEntries.putEntries(this);
          } else {
@@ -5494,8 +5542,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/CipherSuite.java	2014-01-28 11:39:19.741589569 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/CipherSuite.java	2013-11-07 16:33:55.131922821 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/CipherSuite.java	2014-04-11 14:06:00.236907715 +0100
 @@ -393,7 +393,7 @@
  
          // Map BulkCipher -> Boolean(available)
@@ -5506,8 +5554,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/ClientHandshaker.java	2014-01-28 11:39:19.741589569 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/ClientHandshaker.java	2013-10-09 22:53:58.793907372 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/ClientHandshaker.java	2014-04-11 14:06:00.240907772 +0100
 @@ -659,7 +659,7 @@
          if (certRequest != null) {
              X509ExtendedKeyManager km = sslContext.getX509KeyManager();
@@ -5536,8 +5584,8 @@
                  if (suite != CipherSuite.C_SCSV) {
                      cipherList.add(suite);
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/HandshakeMessage.java	2014-01-28 11:39:19.741589569 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/HandshakeMessage.java	2013-10-09 22:53:58.797907433 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/HandshakeMessage.java	2014-04-11 14:06:00.240907772 +0100
 @@ -260,7 +260,7 @@
      // add server_name extension
      void addServerNameIndicationExtension(String hostname) {
@@ -5575,8 +5623,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	2014-01-28 11:38:19.384649230 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/Handshaker.java	2014-01-28 11:39:19.741589569 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/Handshaker.java	2014-04-11 13:58:34.354542618 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/Handshaker.java	2014-04-11 14:06:00.240907772 +0100
 @@ -569,7 +569,7 @@
                  activeProtocols = getActiveProtocols();
              }
@@ -5596,8 +5644,8 @@
                  boolean found = false;
                  for (CipherSuite suite : enabledCipherSuites.collection()) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/HelloExtensions.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/HelloExtensions.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/HelloExtensions.java	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/HelloExtensions.java	2014-01-28 11:39:19.741589569 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/HelloExtensions.java	2013-11-07 16:34:01.856027635 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/HelloExtensions.java	2014-04-11 14:06:00.244907829 +0100
 @@ -169,7 +169,7 @@
          return name;
      }
@@ -5617,8 +5665,8 @@
              list.add(toString(format));
          }
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/ProtocolList.java	2014-01-28 11:39:19.741589569 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/ProtocolList.java	2013-10-09 22:53:58.833907991 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/ProtocolList.java	2014-04-11 14:06:00.244907829 +0100
 @@ -79,7 +79,7 @@
              throw new IllegalArgumentException("Protocols may not be null");
          }
@@ -5628,9 +5676,48 @@
          for (int i = 0; i < names.length; i++ ) {
              ProtocolVersion version = ProtocolVersion.valueOf(names[i]);
              if (versions.contains(version) == false) {
+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	2014-04-04 16:20:45.914085601 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java	2014-04-11 14:06:00.248907885 +0100
+@@ -156,7 +156,7 @@
+     static Collection<SignatureAndHashAlgorithm>
+             getSupportedAlgorithms(AlgorithmConstraints constraints) {
+ 
+-        Collection<SignatureAndHashAlgorithm> supported = new ArrayList<>();
++        Collection<SignatureAndHashAlgorithm> supported = new ArrayList<SignatureAndHashAlgorithm>();
+         synchronized (priorityMap) {
+             for (SignatureAndHashAlgorithm sigAlg : priorityMap.values()) {
+                 if (sigAlg.priority <= SUPPORTED_ALG_PRIORITY_MAX_NUM &&
+@@ -173,7 +173,7 @@
+     // Get supported algorithm collection from an untrusted collection
+     static Collection<SignatureAndHashAlgorithm> getSupportedAlgorithms(
+             Collection<SignatureAndHashAlgorithm> algorithms ) {
+-        Collection<SignatureAndHashAlgorithm> supported = new ArrayList<>();
++        Collection<SignatureAndHashAlgorithm> supported = new ArrayList<SignatureAndHashAlgorithm>();
+         for (SignatureAndHashAlgorithm sigAlg : algorithms) {
+             if (sigAlg.priority <= SUPPORTED_ALG_PRIORITY_MAX_NUM) {
+                 supported.add(sigAlg);
+@@ -185,7 +185,7 @@
+ 
+     static String[] getAlgorithmNames(
+             Collection<SignatureAndHashAlgorithm> algorithms) {
+-        ArrayList<String> algorithmNames = new ArrayList<>();
++        ArrayList<String> algorithmNames = new ArrayList<String>();
+         if (algorithms != null) {
+             for (SignatureAndHashAlgorithm sigAlg : algorithms) {
+                 algorithmNames.add(sigAlg.algorithm);
+@@ -198,7 +198,7 @@
+ 
+     static Set<String> getHashAlgorithmNames(
+             Collection<SignatureAndHashAlgorithm> algorithms) {
+-        Set<String> algorithmNames = new HashSet<>();
++        Set<String> algorithmNames = new HashSet<String>();
+         if (algorithms != null) {
+             for (SignatureAndHashAlgorithm sigAlg : algorithms) {
+                 if (sigAlg.hash.value > 0) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SSLAlgorithmConstraints.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/SSLAlgorithmConstraints.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SSLAlgorithmConstraints.java	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SSLAlgorithmConstraints.java	2014-01-28 11:39:19.741589569 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SSLAlgorithmConstraints.java	2013-10-09 22:53:58.837908053 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SSLAlgorithmConstraints.java	2014-04-11 14:06:00.244907829 +0100
 @@ -261,7 +261,7 @@
  
          protected Set<String> decomposes(KeyExchange keyExchange,
@@ -5677,8 +5764,8 @@
                      if(cipherSuite.keyExchange != null) {
                          components.addAll(
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SSLContextImpl.java	2014-01-28 11:39:19.741589569 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SSLContextImpl.java	2013-10-09 22:53:58.837908053 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SSLContextImpl.java	2014-04-11 14:06:00.244907829 +0100
 @@ -331,7 +331,7 @@
          Collection<CipherSuite> allowedCipherSuites =
                                      CipherSuite.allowedCipherSuites();
@@ -5707,8 +5794,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SSLSessionImpl.java	2014-01-28 11:39:19.745589631 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SSLSessionImpl.java	2013-10-09 22:53:58.837908053 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SSLSessionImpl.java	2014-04-11 14:06:00.244907829 +0100
 @@ -618,7 +618,7 @@
       * key and the calling security context. This is important since
       * sessions can be shared across different protection domains.
@@ -5728,8 +5815,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SSLSocketImpl.java	2014-01-28 11:39:19.745589631 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SSLSocketImpl.java	2013-10-09 22:53:58.861908425 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SSLSocketImpl.java	2014-04-11 14:06:00.248907885 +0100
 @@ -2494,7 +2494,7 @@
              entrySet, HandshakeCompletedEvent e) {
  
@@ -5739,48 +5826,9 @@
              event = e;
          }
  
-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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java	2014-01-28 11:39:19.741589569 +0000
-@@ -156,7 +156,7 @@
-     static Collection<SignatureAndHashAlgorithm>
-             getSupportedAlgorithms(AlgorithmConstraints constraints) {
- 
--        Collection<SignatureAndHashAlgorithm> supported = new ArrayList<>();
-+        Collection<SignatureAndHashAlgorithm> supported = new ArrayList<SignatureAndHashAlgorithm>();
-         synchronized (priorityMap) {
-             for (SignatureAndHashAlgorithm sigAlg : priorityMap.values()) {
-                 if (sigAlg.priority <= SUPPORTED_ALG_PRIORITY_MAX_NUM &&
-@@ -173,7 +173,7 @@
-     // Get supported algorithm collection from an untrusted collection
-     static Collection<SignatureAndHashAlgorithm> getSupportedAlgorithms(
-             Collection<SignatureAndHashAlgorithm> algorithms ) {
--        Collection<SignatureAndHashAlgorithm> supported = new ArrayList<>();
-+        Collection<SignatureAndHashAlgorithm> supported = new ArrayList<SignatureAndHashAlgorithm>();
-         for (SignatureAndHashAlgorithm sigAlg : algorithms) {
-             if (sigAlg.priority <= SUPPORTED_ALG_PRIORITY_MAX_NUM) {
-                 supported.add(sigAlg);
-@@ -185,7 +185,7 @@
- 
-     static String[] getAlgorithmNames(
-             Collection<SignatureAndHashAlgorithm> algorithms) {
--        ArrayList<String> algorithmNames = new ArrayList<>();
-+        ArrayList<String> algorithmNames = new ArrayList<String>();
-         if (algorithms != null) {
-             for (SignatureAndHashAlgorithm sigAlg : algorithms) {
-                 algorithmNames.add(sigAlg.algorithm);
-@@ -198,7 +198,7 @@
- 
-     static Set<String> getHashAlgorithmNames(
-             Collection<SignatureAndHashAlgorithm> algorithms) {
--        Set<String> algorithmNames = new HashSet<>();
-+        Set<String> algorithmNames = new HashSet<String>();
-         if (algorithms != null) {
-             for (SignatureAndHashAlgorithm sigAlg : algorithms) {
-                 if (sigAlg.hash.value > 0) {
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java	2014-01-28 11:39:19.745589631 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java	2013-10-09 22:53:58.861908425 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java	2014-04-11 14:06:00.248907885 +0100
 @@ -337,7 +337,7 @@
  
          X500Principal[] x500Issuers = (X500Principal[])issuers;
@@ -5800,8 +5848,8 @@
              Principal p = principals[i];
              if (p instanceof X500Principal) {
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java	2014-01-28 11:39:19.745589631 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java	2013-10-09 22:53:58.865908487 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java	2014-04-11 14:06:00.252907942 +0100
 @@ -134,7 +134,7 @@
          FileInputStream fis = null;
          String defaultTrustStoreType;
@@ -5812,8 +5860,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java	2014-01-28 11:39:19.745589631 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java	2013-10-09 22:53:58.865908487 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java	2014-04-11 14:06:00.252907942 +0100
 @@ -307,7 +307,7 @@
                  (keyTypes.length == 0) || (keyTypes[0] == null)) {
              return null;
@@ -5833,9 +5881,9 @@
              return null;
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/JarSigner.java openjdk-boot/jdk/src/share/classes/sun/security/tools/JarSigner.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/JarSigner.java	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/tools/JarSigner.java	2014-01-28 11:39:19.745589631 +0000
-@@ -123,14 +123,14 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/JarSigner.java	2014-04-04 16:04:14.635305904 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/tools/JarSigner.java	2014-04-11 14:06:24.497251189 +0100
+@@ -120,14 +120,14 @@
      boolean token = false; // token-based keystore
      String jarfile;  // jar files to sign or verify
      String alias;    // alias to sign jar with
@@ -5852,7 +5900,7 @@
      char[] keypass; // private key password
      String sigfile; // name of .SF file
      String sigalg; // name of signature algorithm
-@@ -568,7 +568,7 @@
+@@ -565,7 +565,7 @@
  
          try {
              jf = new JarFile(jarName, true);
@@ -5861,7 +5909,7 @@
              byte[] buffer = new byte[8192];
  
              Enumeration<JarEntry> entries = jf.entries();
-@@ -595,7 +595,7 @@
+@@ -592,7 +592,7 @@
              // The map to record display info, only used when -verbose provided
              //      key: signer info string
              //      value: the list of files with common key
@@ -5870,7 +5918,7 @@
  
              if (man != null) {
                  if (verbose != null) System.out.println();
-@@ -977,7 +977,7 @@
+@@ -974,7 +974,7 @@
              .append(signTimeForm.format(source)).append("]").toString();
      }
  
@@ -5879,7 +5927,7 @@
  
      private int inKeyStoreForOneSigner(CodeSigner signer) {
          if (cacheForInKS.containsKey(signer)) {
-@@ -1020,7 +1020,7 @@
+@@ -1017,7 +1017,7 @@
          return result;
      }
  
@@ -5888,7 +5936,7 @@
  
      int inKeyStore(CodeSigner[] signers) {
  
-@@ -1150,7 +1150,7 @@
+@@ -1147,7 +1147,7 @@
               *   generated one. (This may invalidate existing signatures!)
               */
              BASE64Encoder encoder = new JarBASE64Encoder();
@@ -5897,8 +5945,8 @@
  
              boolean wasSigned = false;
  
-@@ -1534,7 +1534,7 @@
-         return false;
+@@ -1516,7 +1516,7 @@
+         return SignatureFileVerifier.isSigningRelated(name);
      }
  
 -    Map<CodeSigner,String> cacheForSignerInfo = new IdentityHashMap<>();
@@ -5906,7 +5954,7 @@
  
      /**
       * Returns a string of singer info, with a newline at the end
-@@ -1636,7 +1636,7 @@
+@@ -1618,7 +1618,7 @@
  
              certificateFactory = CertificateFactory.getInstance("X.509");
              validator = CertPathValidator.getInstance("PKIX");
@@ -5916,8 +5964,8 @@
                  KeyStore caks = KeyTool.getCacertsKeyStore();
                  if (caks != null) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/KeyTool.java openjdk-boot/jdk/src/share/classes/sun/security/tools/KeyTool.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/KeyTool.java	2014-01-28 11:38:19.412649665 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/tools/KeyTool.java	2014-01-28 11:39:19.745589631 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/KeyTool.java	2014-04-11 13:58:34.386543077 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/tools/KeyTool.java	2014-04-11 14:06:00.260908055 +0100
 @@ -154,11 +154,11 @@
      private KeyStore caks = null; // "cacerts" keystore
      private char[] srcstorePass = null;
@@ -5988,8 +6036,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/tools/policytool/PolicyTool.java	2014-01-28 11:39:19.745589631 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/policytool/PolicyTool.java	2013-10-09 22:53:58.925909417 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/tools/policytool/PolicyTool.java	2014-04-11 14:06:00.260908055 +0100
 @@ -643,7 +643,7 @@
          Class<?> pc = Class.forName(type, true,
                  Thread.currentThread().getContextClassLoader());
@@ -6027,8 +6075,8 @@
          super(i, b);
      }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/util/UntrustedCertificates.java openjdk-boot/jdk/src/share/classes/sun/security/util/UntrustedCertificates.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/util/UntrustedCertificates.java	2014-01-28 11:38:19.412649665 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/util/UntrustedCertificates.java	2014-01-28 11:39:19.745589631 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/util/UntrustedCertificates.java	2014-04-11 13:58:34.386543077 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/util/UntrustedCertificates.java	2014-04-11 14:06:00.264908112 +0100
 @@ -42,7 +42,7 @@
   */
  public final class UntrustedCertificates {
@@ -6038,71 +6086,9 @@
  
      /**
       * Checks if a certificate is untrusted.
-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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/x509/X509CRLEntryImpl.java	2014-01-28 11:39:19.745589631 +0000
-@@ -352,7 +352,7 @@
-         if (extensions == null) {
-             return null;
-         }
--        Set<String> extSet = new TreeSet<>();
-+        Set<String> extSet = new TreeSet<String>();
-         for (Extension ex : extensions.getAllExtensions()) {
-             if (ex.isCritical()) {
-                 extSet.add(ex.getExtensionId().toString());
-@@ -373,7 +373,7 @@
-         if (extensions == null) {
-             return null;
-         }
--        Set<String> extSet = new TreeSet<>();
-+        Set<String> extSet = new TreeSet<String>();
-         for (Extension ex : extensions.getAllExtensions()) {
-             if (!ex.isCritical()) {
-                 extSet.add(ex.getExtensionId().toString());
-@@ -510,7 +510,7 @@
-             return Collections.emptyMap();
-         }
-         Collection<Extension> exts = extensions.getAllExtensions();
--        Map<String, java.security.cert.Extension> map = new TreeMap<>();
-+        Map<String, java.security.cert.Extension> map = new TreeMap<String, java.security.cert.Extension>();
-         for (Extension ext : exts) {
-             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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/x509/X509CRLImpl.java	2014-01-28 11:39:19.745589631 +0000
-@@ -104,8 +104,8 @@
-     private X500Principal    issuerPrincipal = null;
-     private Date             thisUpdate = null;
-     private Date             nextUpdate = null;
--    private Map<X509IssuerSerial,X509CRLEntry> revokedMap = new TreeMap<>();
--    private List<X509CRLEntry> revokedList = new LinkedList<>();
-+    private Map<X509IssuerSerial,X509CRLEntry> revokedMap = new TreeMap<X509IssuerSerial,X509CRLEntry>();
-+    private List<X509CRLEntry> revokedList = new LinkedList<X509CRLEntry>();
-     private CRLExtensions    extensions = null;
-     private final static boolean isExplicit = true;
-     private static final long YR_2050 = 2524636800000L;
-@@ -907,7 +907,7 @@
-         if (extensions == null) {
-             return null;
-         }
--        Set<String> extSet = new TreeSet<>();
-+        Set<String> extSet = new TreeSet<String>();
-         for (Extension ex : extensions.getAllExtensions()) {
-             if (ex.isCritical()) {
-                 extSet.add(ex.getExtensionId().toString());
-@@ -928,7 +928,7 @@
-         if (extensions == null) {
-             return null;
-         }
--        Set<String> extSet = new TreeSet<>();
-+        Set<String> extSet = new TreeSet<String>();
-         for (Extension ex : extensions.getAllExtensions()) {
-             if (!ex.isCritical()) {
-                 extSet.add(ex.getExtensionId().toString());
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/x509/X509CertImpl.java	2014-01-28 11:39:19.745589631 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/x509/X509CertImpl.java	2013-10-09 22:53:59.057911462 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/x509/X509CertImpl.java	2014-04-11 14:06:00.268908168 +0100
 @@ -1253,7 +1253,7 @@
              if (exts == null) {
                  return null;
@@ -6149,9 +6135,71 @@
                      nameEntryCopy.set(1, ((byte[])nameObject).clone());
                      namesCopy.add(Collections.unmodifiableList(nameEntryCopy));
                  } else {
+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	2013-10-09 22:53:59.053911400 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/x509/X509CRLEntryImpl.java	2014-04-11 14:06:00.264908112 +0100
+@@ -352,7 +352,7 @@
+         if (extensions == null) {
+             return null;
+         }
+-        Set<String> extSet = new TreeSet<>();
++        Set<String> extSet = new TreeSet<String>();
+         for (Extension ex : extensions.getAllExtensions()) {
+             if (ex.isCritical()) {
+                 extSet.add(ex.getExtensionId().toString());
+@@ -373,7 +373,7 @@
+         if (extensions == null) {
+             return null;
+         }
+-        Set<String> extSet = new TreeSet<>();
++        Set<String> extSet = new TreeSet<String>();
+         for (Extension ex : extensions.getAllExtensions()) {
+             if (!ex.isCritical()) {
+                 extSet.add(ex.getExtensionId().toString());
+@@ -510,7 +510,7 @@
+             return Collections.emptyMap();
+         }
+         Collection<Extension> exts = extensions.getAllExtensions();
+-        Map<String, java.security.cert.Extension> map = new TreeMap<>();
++        Map<String, java.security.cert.Extension> map = new TreeMap<String, java.security.cert.Extension>();
+         for (Extension ext : exts) {
+             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	2013-10-09 22:53:59.053911400 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/x509/X509CRLImpl.java	2014-04-11 14:06:00.264908112 +0100
+@@ -104,8 +104,8 @@
+     private X500Principal    issuerPrincipal = null;
+     private Date             thisUpdate = null;
+     private Date             nextUpdate = null;
+-    private Map<X509IssuerSerial,X509CRLEntry> revokedMap = new TreeMap<>();
+-    private List<X509CRLEntry> revokedList = new LinkedList<>();
++    private Map<X509IssuerSerial,X509CRLEntry> revokedMap = new TreeMap<X509IssuerSerial,X509CRLEntry>();
++    private List<X509CRLEntry> revokedList = new LinkedList<X509CRLEntry>();
+     private CRLExtensions    extensions = null;
+     private final static boolean isExplicit = true;
+     private static final long YR_2050 = 2524636800000L;
+@@ -907,7 +907,7 @@
+         if (extensions == null) {
+             return null;
+         }
+-        Set<String> extSet = new TreeSet<>();
++        Set<String> extSet = new TreeSet<String>();
+         for (Extension ex : extensions.getAllExtensions()) {
+             if (ex.isCritical()) {
+                 extSet.add(ex.getExtensionId().toString());
+@@ -928,7 +928,7 @@
+         if (extensions == null) {
+             return null;
+         }
+-        Set<String> extSet = new TreeSet<>();
++        Set<String> extSet = new TreeSet<String>();
+         for (Extension ex : extensions.getAllExtensions()) {
+             if (!ex.isCritical()) {
+                 extSet.add(ex.getExtensionId().toString());
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/tools/native2ascii/Main.java	2014-01-28 11:39:19.745589631 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/tools/native2ascii/Main.java	2013-10-09 22:53:59.949925283 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/tools/native2ascii/Main.java	2014-04-11 14:06:00.268908168 +0100
 @@ -95,7 +95,7 @@
       * Run the converter
       */
@@ -6161,30 +6209,9 @@
          File outputFile = null;
          boolean createOutputFile = false;
  
-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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/util/LocaleServiceProviderPool.java	2014-01-28 11:39:19.749589693 +0000
-@@ -59,7 +59,7 @@
-      * set of provider implementations of a particular locale sensitive service.
-      */
-     private static ConcurrentMap<Class<? extends LocaleServiceProvider>, LocaleServiceProviderPool> poolOfPools =
--        new ConcurrentHashMap<>();
-+        new ConcurrentHashMap<Class<? extends LocaleServiceProvider>, LocaleServiceProviderPool>();
- 
-     /**
-      * A Set containing locale service providers that implement the
-@@ -264,7 +264,7 @@
-             synchronized (LocaleServiceProviderPool.class) {
-                 if (availableJRELocales == null) {
-                     Locale[] allLocales = LocaleData.getAvailableLocales();
--                    List<Locale> tmpList = new ArrayList<>(allLocales.length);
-+                    List<Locale> tmpList = new ArrayList<Locale>(allLocales.length);
-                     for (Locale locale : allLocales) {
-                         tmpList.add(getLookupLocale(locale));
-                     }
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/util/locale/InternalLocaleBuilder.java	2014-01-28 11:39:19.749589693 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/util/locale/InternalLocaleBuilder.java	2013-10-09 22:54:00.253929993 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/util/locale/InternalLocaleBuilder.java	2014-04-11 14:06:00.268908168 +0100
 @@ -113,7 +113,7 @@
          }
          // Use case insensitive string to prevent duplication
@@ -6299,8 +6326,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/util/locale/LanguageTag.java	2014-01-28 11:39:19.749589693 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/util/locale/LanguageTag.java	2013-10-09 22:54:00.253929993 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/util/locale/LanguageTag.java	2014-04-11 14:06:00.272908225 +0100
 @@ -62,7 +62,7 @@
      // Map contains grandfathered tags and its preferred mappings from
      // http://www.ietf.org/rfc/rfc5646.txt
@@ -6356,8 +6383,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/util/locale/LocaleExtensions.java	2014-01-28 11:39:19.749589693 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/util/locale/LocaleExtensions.java	2013-10-09 22:54:00.261930117 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/util/locale/LocaleExtensions.java	2014-04-11 14:06:00.272908225 +0100
 @@ -81,7 +81,7 @@
          }
  
@@ -6385,8 +6412,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/util/locale/LocaleObjectCache.java	2014-01-28 11:39:19.749589693 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/util/locale/LocaleObjectCache.java	2013-10-09 22:54:00.261930117 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/util/locale/LocaleObjectCache.java	2014-04-11 14:06:00.272908225 +0100
 @@ -38,14 +38,14 @@
  
  public abstract class LocaleObjectCache<K, V> {
@@ -6422,9 +6449,30 @@
          CacheEntry<K, V> oldEntry = map.put(key, entry);
          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	2013-10-09 22:54:00.169928692 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/util/LocaleServiceProviderPool.java	2014-04-11 14:06:00.268908168 +0100
+@@ -59,7 +59,7 @@
+      * set of provider implementations of a particular locale sensitive service.
+      */
+     private static ConcurrentMap<Class<? extends LocaleServiceProvider>, LocaleServiceProviderPool> poolOfPools =
+-        new ConcurrentHashMap<>();
++        new ConcurrentHashMap<Class<? extends LocaleServiceProvider>, LocaleServiceProviderPool>();
+ 
+     /**
+      * A Set containing locale service providers that implement the
+@@ -264,7 +264,7 @@
+             synchronized (LocaleServiceProviderPool.class) {
+                 if (availableJRELocales == null) {
+                     Locale[] allLocales = LocaleData.getAvailableLocales();
+-                    List<Locale> tmpList = new ArrayList<>(allLocales.length);
++                    List<Locale> tmpList = new ArrayList<Locale>(allLocales.length);
+                     for (Locale locale : allLocales) {
+                         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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/util/logging/PlatformLogger.java	2014-01-28 11:39:19.749589693 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/util/logging/PlatformLogger.java	2013-10-09 22:54:00.269930241 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/util/logging/PlatformLogger.java	2014-04-11 14:06:00.272908225 +0100
 @@ -187,7 +187,7 @@
  
      // Table of known loggers.  Maps names to PlatformLoggers.
@@ -6444,8 +6492,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/demo/nio/zipfs/Demo.java	2014-01-28 11:39:19.749589693 +0000
+--- openjdk-boot.orig/jdk/src/share/demo/nio/zipfs/Demo.java	2013-10-09 22:53:57.813892187 +0100
++++ openjdk-boot/jdk/src/share/demo/nio/zipfs/Demo.java	2014-04-11 14:06:00.276908282 +0100
 @@ -160,7 +160,7 @@
          }
  
@@ -6480,8 +6528,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipCoder.java	2014-01-28 11:39:19.749589693 +0000
+--- openjdk-boot.orig/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipCoder.java	2013-10-09 22:53:57.817892250 +0100
++++ openjdk-boot/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipCoder.java	2014-04-11 14:06:00.276908282 +0100
 @@ -142,8 +142,8 @@
          return new ZipCoder(Charset.defaultCharset());
      }
@@ -6494,8 +6542,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileAttributeView.java	2014-01-28 11:39:19.749589693 +0000
+--- openjdk-boot.orig/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileAttributeView.java	2013-10-09 22:53:57.825892373 +0100
++++ openjdk-boot/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileAttributeView.java	2014-04-11 14:06:00.276908282 +0100
 @@ -134,7 +134,7 @@
          throws IOException
      {
@@ -6506,8 +6554,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java	2014-01-28 11:39:19.749589693 +0000
+--- openjdk-boot.orig/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java	2013-10-09 22:53:57.825892373 +0100
++++ openjdk-boot/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java	2014-04-11 14:06:00.280908339 +0100
 @@ -157,7 +157,7 @@
  
      @Override
@@ -6608,8 +6656,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystemProvider.java	2014-01-28 11:39:19.749589693 +0000
+--- openjdk-boot.orig/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystemProvider.java	2013-10-09 22:53:57.825892373 +0100
++++ openjdk-boot/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystemProvider.java	2014-04-11 14:06:00.280908339 +0100
 @@ -62,7 +62,7 @@
  public class ZipFileSystemProvider extends FileSystemProvider {
  
@@ -6620,8 +6668,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/solaris/classes/java/lang/ProcessEnvironment.java	2014-01-28 11:39:19.749589693 +0000
+--- openjdk-boot.orig/jdk/src/solaris/classes/java/lang/ProcessEnvironment.java	2013-10-09 22:53:59.181913383 +0100
++++ openjdk-boot/jdk/src/solaris/classes/java/lang/ProcessEnvironment.java	2014-04-11 14:06:00.280908339 +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.
@@ -6632,8 +6680,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	2014-01-28 11:38:19.412649665 +0000
-+++ openjdk-boot/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java	2014-01-28 11:39:19.749589693 +0000
+--- openjdk-boot.orig/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java	2014-04-11 13:58:34.386543077 +0100
++++ openjdk-boot/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java	2014-04-11 14:06:00.280908339 +0100
 @@ -354,7 +354,7 @@
       * log against that map.  The resulting map is then written back
       * to the disk.
@@ -6698,8 +6746,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java	2014-01-28 11:39:19.749589693 +0000
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java	2013-10-09 22:54:00.209929311 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java	2014-04-11 14:06:00.284908395 +0100
 @@ -60,7 +60,7 @@
                                            int maxperkeyword,
                                            int maxkeywords)
@@ -6719,8 +6767,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/solaris/classes/sun/net/www/protocol/jar/JarFileFactory.java	2014-01-28 11:39:19.749589693 +0000
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/net/www/protocol/jar/JarFileFactory.java	2013-10-09 22:54:00.209929311 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/net/www/protocol/jar/JarFileFactory.java	2014-04-11 14:06:00.284908395 +0100
 @@ -43,10 +43,10 @@
  class JarFileFactory implements URLJarFile.URLJarFileCloseController {
  
@@ -6735,8 +6783,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java	2014-01-28 11:39:19.749589693 +0000
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java	2013-10-09 22:54:00.217929435 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java	2014-04-11 14:06:00.284908395 +0100
 @@ -133,7 +133,7 @@
          pollArrayAddress = pollArray.address();
          wfd = init();
@@ -6747,8 +6795,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/EPollArrayWrapper.java	2014-01-28 11:39:19.749589693 +0000
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/ch/EPollArrayWrapper.java	2013-10-09 22:54:00.221929496 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/EPollArrayWrapper.java	2014-04-11 14:06:00.284908395 +0100
 @@ -136,7 +136,7 @@
  
          // eventHigh needed when using file descriptors > 64k
@@ -6759,8 +6807,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/EPollSelectorImpl.java	2014-01-28 11:39:19.749589693 +0000
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/ch/EPollSelectorImpl.java	2013-10-09 22:54:00.221929496 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/EPollSelectorImpl.java	2014-04-11 14:06:00.288908452 +0100
 @@ -67,7 +67,7 @@
          fd1 = (int) pipeFds;
          pollWrapper = new EPollArrayWrapper();
@@ -6771,8 +6819,8 @@
  
      protected int doSelect(long timeout) 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/SctpNet.java	2014-01-28 11:39:19.749589693 +0000
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/ch/SctpNet.java	2013-10-09 22:54:00.233929683 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/SctpNet.java	2014-04-11 14:06:00.288908452 +0100
 @@ -113,7 +113,7 @@
              SocketAddress[] saa)
      {
@@ -6783,8 +6831,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/cs/ext/CompoundTextSupport.java	2014-01-28 11:39:19.749589693 +0000
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/cs/ext/CompoundTextSupport.java	2013-10-09 22:54:00.241929807 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/cs/ext/CompoundTextSupport.java	2014-04-11 14:06:00.288908452 +0100
 @@ -153,12 +153,12 @@
  
      static {
@@ -6803,8 +6851,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java	2014-01-28 11:39:19.749589693 +0000
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java	2013-10-09 22:54:00.297930674 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java	2014-04-11 14:06:00.288908452 +0100
 @@ -53,7 +53,7 @@
          static final Set<String> supportedFileAttributeViews =
              supportedFileAttributeViews();
@@ -6824,8 +6872,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/LinuxUserDefinedFileAttributeView.java	2014-01-28 11:39:19.749589693 +0000
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/LinuxUserDefinedFileAttributeView.java	2013-10-09 22:54:00.297930674 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/LinuxUserDefinedFileAttributeView.java	2014-04-11 14:06:00.292908509 +0100
 @@ -63,7 +63,7 @@
  
      // Parses buffer as array of NULL-terminated C strings.
@@ -6836,8 +6884,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java	2014-01-28 11:39:19.749589693 +0000
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java	2013-10-09 22:54:00.305930799 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java	2014-04-11 14:06:00.292908509 +0100
 @@ -198,7 +198,7 @@
       * Decode the buffer, returning an ACL
       */
@@ -6848,8 +6896,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/SolarisFileSystem.java	2014-01-28 11:39:19.749589693 +0000
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/SolarisFileSystem.java	2013-10-09 22:54:00.305930799 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/SolarisFileSystem.java	2014-04-11 14:06:00.292908509 +0100
 @@ -76,7 +76,7 @@
          static final Set<String> supportedFileAttributeViews =
              supportedFileAttributeViews();
@@ -6869,8 +6917,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java	2014-01-28 11:39:19.749589693 +0000
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java	2013-10-09 22:54:00.305930799 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java	2014-04-11 14:06:00.292908509 +0100
 @@ -83,7 +83,7 @@
                  }
  
@@ -6881,8 +6929,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java	2014-01-28 11:39:19.749589693 +0000
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java	2013-10-09 22:54:00.321931046 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java	2014-04-11 14:06:00.296908565 +0100
 @@ -194,7 +194,7 @@
      @Override
      public Set<PosixFilePermission> permissions() {
@@ -6893,8 +6941,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/windows/classes/java/lang/ProcessEnvironment.java	2014-01-28 11:39:19.753589755 +0000
+--- openjdk-boot.orig/jdk/src/windows/classes/java/lang/ProcessEnvironment.java	2013-10-09 22:53:57.161882085 +0100
++++ openjdk-boot/jdk/src/windows/classes/java/lang/ProcessEnvironment.java	2014-04-11 14:06:00.296908565 +0100
 @@ -250,7 +250,8 @@
                                     envblock.substring(eql+1,end));
          }
@@ -6916,8 +6964,8 @@
  
          StringBuilder sb = new StringBuilder(size()*30);
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java	2014-01-28 11:39:19.753589755 +0000
+--- openjdk-boot.orig/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java	2013-10-09 22:53:57.581888592 +0100
++++ openjdk-boot/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java	2014-04-11 14:06:00.296908565 +0100
 @@ -63,7 +63,7 @@
      // Parse string that consists of token delimited by space or commas
      // and return LinkedHashMap
@@ -6928,8 +6976,8 @@
          // comma and space are valid delimites
          StringTokenizer st = new StringTokenizer(str, ", ");
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystem.java	2014-01-28 11:39:19.753589755 +0000
+--- openjdk-boot.orig/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystem.java	2013-10-09 22:53:57.593888778 +0100
++++ openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystem.java	2014-04-11 14:06:00.300908622 +0100
 @@ -128,7 +128,7 @@
          }
  
@@ -6940,8 +6988,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsPath.java	2014-01-28 11:39:19.753589755 +0000
+--- openjdk-boot.orig/jdk/src/windows/classes/sun/nio/fs/WindowsPath.java	2013-10-09 22:53:57.593888778 +0100
++++ openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsPath.java	2014-04-11 14:06:00.300908622 +0100
 @@ -575,7 +575,7 @@
      // generate offset array
      private void initOffsets() {
@@ -6952,8 +7000,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsSecurityDescriptor.java	2014-01-28 11:39:19.753589755 +0000
+--- openjdk-boot.orig/jdk/src/windows/classes/sun/nio/fs/WindowsSecurityDescriptor.java	2013-10-09 22:53:57.605888965 +0100
++++ openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsSecurityDescriptor.java	2014-04-11 14:06:00.300908622 +0100
 @@ -378,7 +378,7 @@
              AclInformation aclInfo = GetAclInformation(aclAddress);
              aceCount = aclInfo.aceCount();
@@ -6964,8 +7012,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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsUserDefinedFileAttributeView.java	2014-01-28 11:39:19.753589755 +0000
+--- openjdk-boot.orig/jdk/src/windows/classes/sun/nio/fs/WindowsUserDefinedFileAttributeView.java	2013-10-09 22:53:57.605888965 +0100
++++ openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsUserDefinedFileAttributeView.java	2014-04-11 14:06:00.304908678 +0100
 @@ -65,7 +65,7 @@
  
      // enumerates the file streams using FindFirstStream/FindNextStream APIs.
@@ -7012,8 +7060,8 @@
                  opts.add(WindowsChannelFactory.OPEN_REPARSE_POINT);
              opts.add(CREATE);
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/test/java/io/Serializable/NPEProvoker/NPEProvoker.java	2014-01-28 11:39:19.753589755 +0000
+--- openjdk-boot.orig/jdk/test/java/io/Serializable/NPEProvoker/NPEProvoker.java	2013-10-09 22:53:59.185913445 +0100
++++ openjdk-boot/jdk/test/java/io/Serializable/NPEProvoker/NPEProvoker.java	2014-04-11 14:06:00.304908678 +0100
 @@ -56,7 +56,7 @@
      public static void main(String[] args) {
          System.err.println("\n Regression test for bug 6541870\n");
@@ -7023,21 +7071,9 @@
              list.add(new NPEProvoker());
              ByteArrayOutputStream baos = new ByteArrayOutputStream();
              ObjectOutputStream oos = new ObjectOutputStream(baos);
-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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/test/java/lang/instrument/ilib/Inject.java	2014-01-28 11:39:19.753589755 +0000
-@@ -107,7 +107,7 @@
-     class IndexedInjector implements TrackerInjector {
-         int counter = 0;
-         int tracker;
--        List<Info> infoList = new ArrayList<>();
-+        List<Info> infoList = new ArrayList<Info>();
- 
-         public int stackSize(int currentSize) {
-             return currentSize + 1;
 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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/test/java/lang/instrument/ilib/InjectBytecodes.java	2014-01-28 11:39:19.753589755 +0000
+--- openjdk-boot.orig/jdk/test/java/lang/instrument/ilib/InjectBytecodes.java	2013-10-09 22:53:56.981879297 +0100
++++ openjdk-boot/jdk/test/java/lang/instrument/ilib/InjectBytecodes.java	2014-04-11 14:06:00.308908735 +0100
 @@ -50,7 +50,7 @@
      private final Injector[] after  = new Injector[256];
      private final String className;
@@ -7047,9 +7083,21 @@
  
      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	2013-10-09 22:53:56.981879297 +0100
++++ openjdk-boot/jdk/test/java/lang/instrument/ilib/Inject.java	2014-04-11 14:06:00.304908678 +0100
+@@ -107,7 +107,7 @@
+     class IndexedInjector implements TrackerInjector {
+         int counter = 0;
+         int tracker;
+-        List<Info> infoList = new ArrayList<>();
++        List<Info> infoList = new ArrayList<Info>();
+ 
+         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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/test/java/lang/reflect/Generics/TestPlainArrayNotGeneric.java	2014-01-28 11:39:19.753589755 +0000
+--- openjdk-boot.orig/jdk/test/java/lang/reflect/Generics/TestPlainArrayNotGeneric.java	2013-10-09 22:53:57.597888841 +0100
++++ openjdk-boot/jdk/test/java/lang/reflect/Generics/TestPlainArrayNotGeneric.java	2014-04-11 14:06:00.308908735 +0100
 @@ -103,7 +103,7 @@
          }
      }
@@ -7059,9 +7107,21 @@
  
      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	2013-10-09 22:53:59.185913445 +0100
++++ openjdk-boot/jdk/test/java/util/logging/ClassLoaderLeakTest.java	2014-04-11 14:06:00.312908792 +0100
+@@ -89,7 +89,7 @@
+ 
+          MyClassLoader appClassLoader = new MyClassLoader(urls, "test0");
+          WeakReference<MyClassLoader> ref =
+-                 new WeakReference<>(appClassLoader);
++                 new WeakReference<MyClassLoader>(appClassLoader);
+ 
+ 
+          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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/test/java/util/Random/DistinctSeeds.java	2014-01-28 11:39:19.753589755 +0000
+--- openjdk-boot.orig/jdk/test/java/util/Random/DistinctSeeds.java	2013-10-09 22:53:59.005910657 +0100
++++ openjdk-boot/jdk/test/java/util/Random/DistinctSeeds.java	2014-04-11 14:06:00.308908735 +0100
 @@ -59,7 +59,7 @@
              }
          }
@@ -7071,15 +7131,3 @@
          List<Thread> threads = new ArrayList<Thread>();
          for (int i = 0; i < threadCount; i++) {
              RandomCollector r = new RandomCollector();
-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	2014-01-23 23:19:20.000000000 +0000
-+++ openjdk-boot/jdk/test/java/util/logging/ClassLoaderLeakTest.java	2014-01-28 11:39:19.753589755 +0000
-@@ -89,7 +89,7 @@
- 
-          MyClassLoader appClassLoader = new MyClassLoader(urls, "test0");
-          WeakReference<MyClassLoader> ref =
--                 new WeakReference<>(appClassLoader);
-+                 new WeakReference<MyClassLoader>(appClassLoader);
- 
- 
-          Thread appThread = new Thread(appsThreadGroup, launcher, "AppThread-0");
--- a/patches/boot/ecj-trywithresources.patch	Fri Mar 28 18:22:46 2014 +0000
+++ b/patches/boot/ecj-trywithresources.patch	Wed Apr 16 03:18:47 2014 +0100
@@ -1,6 +1,6 @@
 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	2013-04-03 14:18:05.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java	2013-04-04 18:02:48.742046012 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java	2013-10-09 22:53:59.921924849 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java	2014-04-11 13:50:37.239612731 +0100
 @@ -743,7 +743,9 @@
  
          private void dumpBand() throws IOException {
@@ -54,8 +54,8 @@
  
          public void readDataFrom(InputStream in) throws IOException {
 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	2013-04-04 13:44:58.870170925 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java	2013-04-04 18:02:48.762046329 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java	2014-04-11 13:19:53.672027964 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java	2014-04-11 13:50:37.243612790 +0100
 @@ -151,8 +151,13 @@
                  if ("--config-file=".equals(state)) {
                      String propFile = av.remove(0);
@@ -109,8 +109,8 @@
      }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java	2013-04-03 14:18:05.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java	2013-04-04 18:02:48.766046393 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java	2013-10-09 22:53:59.933925034 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java	2014-04-11 13:50:37.243612790 +0100
 @@ -245,9 +245,15 @@
      void run(File inFile, JarOutputStream jstream) throws IOException {
          // %%% maybe memory-map the file, and pass it straight into unpacker
@@ -129,8 +129,8 @@
      }
  
 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	2013-04-03 14:18:05.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java	2013-04-04 18:02:48.770046458 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java	2013-10-09 22:53:59.937925097 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java	2014-04-11 13:50:37.247612848 +0100
 @@ -540,9 +540,15 @@
              Index index = initCPIndex(tag, cpMap);
  
@@ -174,8 +174,8 @@
          attr_definition_name.doneDisbursing();
          attr_definition_layout.doneDisbursing();
 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	2013-04-03 14:18:05.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java	2013-04-04 18:02:48.782046647 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java	2013-10-09 22:53:59.937925097 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java	2014-04-11 13:50:37.247612848 +0100
 @@ -458,9 +458,15 @@
                  Utils.log.info("Writing "+cpMap.length+" "+ConstantPool.tagName(tag)+" entries...");
  
@@ -219,8 +219,8 @@
  
      void writeAttrCounts() throws IOException {
 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	2013-04-03 14:18:05.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java	2013-04-04 18:02:48.790046774 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java	2013-10-09 22:53:59.937925097 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java	2014-04-11 13:50:37.251612907 +0100
 @@ -123,8 +123,9 @@
          // Do this after the previous props are put in place,
          // to allow override if necessary.
@@ -249,8 +249,8 @@
          for (Map.Entry<Object, Object> e : props.entrySet()) {
              String key = (String) e.getKey();
 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	2013-04-03 14:18:05.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java	2013-04-04 18:02:48.794046838 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java	2013-10-09 22:53:59.937925097 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java	2014-04-11 13:50:37.255612966 +0100
 @@ -161,9 +161,15 @@
          }
          // Use the stream-based implementation.
@@ -269,8 +269,8 @@
              in.delete();
          }
 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	2013-04-03 14:18:05.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java	2013-04-04 18:02:48.798046900 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java	2013-10-09 22:53:59.941925158 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java	2014-04-11 13:50:37.255612966 +0100
 @@ -268,18 +268,30 @@
          // 4947205 : Peformance is slow when using pack-effort=0
          out = new BufferedOutputStream(out);
@@ -305,9 +305,9 @@
          // Wrapper to prevent closing of client-supplied stream.
      static private
 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	2013-04-03 14:18:05.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java	2013-04-04 18:02:48.882048233 +0100
-@@ -909,10 +909,15 @@
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java	2013-10-09 22:54:00.629935818 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java	2014-04-11 13:50:37.259613024 +0100
+@@ -913,10 +913,15 @@
                              java.net.URLConnection uconn = tClass.getResource(tResource).openConnection();
                              int len = uconn.getContentLength();
                              byte[] bytes = new byte[len];
@@ -326,9 +326,9 @@
                          } catch (java.io.IOException ex) {
                              throw newInternalError(ex);
 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	2013-04-03 14:18:05.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/Package.java	2013-04-04 18:02:48.798046900 +0100
-@@ -575,12 +575,23 @@
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/Package.java	2013-10-09 22:54:00.557934703 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/Package.java	2014-04-11 13:50:37.267613142 +0100
+@@ -578,12 +578,23 @@
       * Returns the Manifest for the specified JAR file name.
       */
      private static Manifest loadManifest(String fn) {
@@ -356,8 +356,8 @@
      }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/nio/channels/SocketChannel.java openjdk-boot/jdk/src/share/classes/java/nio/channels/SocketChannel.java
---- openjdk-boot.orig/jdk/src/share/classes/java/nio/channels/SocketChannel.java	2013-04-03 14:18:05.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/nio/channels/SocketChannel.java	2013-04-04 18:02:48.802046964 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/nio/channels/SocketChannel.java	2013-10-09 22:54:00.781938174 +0100
++++ openjdk-boot/jdk/src/share/classes/java/nio/channels/SocketChannel.java	2014-04-11 13:50:37.267613142 +0100
 @@ -188,7 +188,7 @@
              } catch (Throwable suppressed) {
                  x.addSuppressed(suppressed);
@@ -368,8 +368,8 @@
          assert sc.isConnected();
          return sc;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/nio/file/CopyMoveHelper.java openjdk-boot/jdk/src/share/classes/java/nio/file/CopyMoveHelper.java
---- openjdk-boot.orig/jdk/src/share/classes/java/nio/file/CopyMoveHelper.java	2013-04-03 14:18:05.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/nio/file/CopyMoveHelper.java	2013-04-04 18:02:48.810047091 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/nio/file/CopyMoveHelper.java	2013-10-09 22:54:00.797938421 +0100
++++ openjdk-boot/jdk/src/share/classes/java/nio/file/CopyMoveHelper.java	2014-04-11 13:50:37.271613200 +0100
 @@ -122,9 +122,15 @@
          if (attrs.isDirectory()) {
              Files.createDirectory(target);
@@ -397,9 +397,9 @@
          }
      }
 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	2013-04-03 14:18:05.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/nio/file/Files.java	2013-04-04 18:02:48.814047155 +0100
-@@ -2839,8 +2839,11 @@
+--- openjdk-boot.orig/jdk/src/share/classes/java/nio/file/Files.java	2013-10-09 22:54:00.805938545 +0100
++++ openjdk-boot/jdk/src/share/classes/java/nio/file/Files.java	2014-04-11 13:50:37.291613494 +0100
+@@ -2848,8 +2848,11 @@
          }
  
          // do the copy
@@ -413,7 +413,7 @@
          }
      }
  
-@@ -2881,9 +2884,15 @@
+@@ -2890,9 +2893,15 @@
          // ensure not null before opening file
          Objects.requireNonNull(out);
  
@@ -430,7 +430,7 @@
      }
  
      /**
-@@ -2949,8 +2958,14 @@
+@@ -2958,8 +2967,14 @@
          if (size > (long)Integer.MAX_VALUE)
              throw new OutOfMemoryError("Required array size too large");
  
@@ -447,7 +447,7 @@
          }
      }
  
-@@ -2996,7 +3011,9 @@
+@@ -3005,7 +3020,9 @@
      public static List<String> readAllLines(Path path, Charset cs)
          throws IOException
      {
@@ -458,7 +458,7 @@
              List<String> result = new ArrayList<>();
              for (;;) {
                  String line = reader.readLine();
-@@ -3006,6 +3023,10 @@
+@@ -3015,6 +3032,10 @@
              }
              return result;
          }
@@ -469,7 +469,7 @@
      }
  
      /**
-@@ -3055,7 +3076,9 @@
+@@ -3064,7 +3085,9 @@
          // ensure bytes is not null before opening file
          Objects.requireNonNull(bytes);
  
@@ -480,7 +480,7 @@
              int len = bytes.length;
              int rem = len;
              while (rem > 0) {
-@@ -3064,6 +3087,10 @@
+@@ -3073,6 +3096,10 @@
                  rem -= n;
              }
          }
@@ -491,7 +491,7 @@
          return path;
      }
  
-@@ -3115,12 +3142,18 @@
+@@ -3124,12 +3151,18 @@
          Objects.requireNonNull(lines);
          CharsetEncoder encoder = cs.newEncoder();
          OutputStream out = newOutputStream(path, options);
@@ -512,8 +512,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	2013-04-03 14:18:05.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/Currency.java	2013-04-04 18:02:48.818047217 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/Currency.java	2013-10-09 22:53:56.509871983 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/Currency.java	2014-04-11 13:50:37.291613494 +0100
 @@ -233,9 +233,14 @@
                                               "currency.properties");
                      if (propFile.exists()) {
@@ -531,8 +531,8 @@
                          Pattern propertiesPattern =
                              Pattern.compile("([A-Z]{3})\\s*,\\s*(\\d{3})\\s*,\\s*([0-3])");
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/jar/JarFile.java openjdk-boot/jdk/src/share/classes/java/util/jar/JarFile.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/jar/JarFile.java	2013-04-03 14:18:05.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/jar/JarFile.java	2013-04-04 18:09:37.416514491 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/jar/JarFile.java	2013-10-09 22:53:56.921878367 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/jar/JarFile.java	2014-04-11 13:50:37.295613552 +0100
 @@ -383,9 +383,14 @@
       * META-INF files.
       */
@@ -551,8 +551,8 @@
  
      /**
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/sql/rowset/serial/SerialClob.java openjdk-boot/jdk/src/share/classes/javax/sql/rowset/serial/SerialClob.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/sql/rowset/serial/SerialClob.java	2013-04-03 14:18:05.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/sql/rowset/serial/SerialClob.java	2013-04-04 18:02:48.830047408 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/sql/rowset/serial/SerialClob.java	2013-10-09 22:53:58.433901794 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/sql/rowset/serial/SerialClob.java	2014-04-11 13:50:37.299613611 +0100
 @@ -144,8 +144,9 @@
          buf = new char[(int)len];
          int read = 0;
@@ -612,9 +612,9 @@
      }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/sql/rowset/spi/SyncFactory.java openjdk-boot/jdk/src/share/classes/javax/sql/rowset/spi/SyncFactory.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/sql/rowset/spi/SyncFactory.java	2013-04-03 14:18:05.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/sql/rowset/spi/SyncFactory.java	2013-04-04 18:02:48.834047471 +0100
-@@ -367,9 +367,15 @@
+--- openjdk-boot.orig/jdk/src/share/classes/javax/sql/rowset/spi/SyncFactory.java	2014-04-04 16:14:39.996629718 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/sql/rowset/spi/SyncFactory.java	2014-04-11 13:52:08.252944808 +0100
+@@ -382,9 +382,15 @@
                      // Load user's implementation of SyncProvider
                      // here. -Drowset.properties=/abc/def/pqr.txt
                      ROWSET_PROPERTIES = strRowsetProperties;
@@ -631,33 +631,31 @@
                      parseProperties(properties);
                  }
  
-@@ -381,15 +387,19 @@
-                         "rowset.properties";
- 
-                 ClassLoader cl = Thread.currentThread().getContextClassLoader();
--
--                try (InputStream stream =
--                         (cl == null) ? ClassLoader.getSystemResourceAsStream(ROWSET_PROPERTIES)
--                                      : cl.getResourceAsStream(ROWSET_PROPERTIES)) {
-+                InputStream stream = null;
-+                try {
-+                    stream =
-+                        (cl == null) ? ClassLoader.getSystemResourceAsStream(ROWSET_PROPERTIES)
-+                        : cl.getResourceAsStream(ROWSET_PROPERTIES);
-                     if (stream == null) {
-                         throw new SyncFactoryException(
-                             "Resource " + ROWSET_PROPERTIES + " not found");
-                     }
-                     properties.load(stream);
-+                } finally {
-+                    if (stream != null)
-+                        stream.close();
-                 }
- 
-                 parseProperties(properties);
+@@ -401,13 +407,18 @@
+                     AccessController.doPrivileged(new PrivilegedExceptionAction<Void>() {
+                         @Override
+                         public Void run()  throws SyncFactoryException, IOException, FileNotFoundException {
+-                            try (InputStream stream  = (cl == null) ?
+-                                    ClassLoader.getSystemResourceAsStream(ROWSET_PROPERTIES)
+-                                    : cl.getResourceAsStream(ROWSET_PROPERTIES)) {
++			    InputStream stream = null;
++			    try {
++				stream =
++				    (cl == null) ? ClassLoader.getSystemResourceAsStream(ROWSET_PROPERTIES)
++				    : cl.getResourceAsStream(ROWSET_PROPERTIES);
+                                 if (stream == null) {
+                                     throw new SyncFactoryException("Resource " + ROWSET_PROPERTIES + " not found");
+                                 }
+                                 properties.load(stream);
++			    } finally {
++				if (stream != null)
++				    stream.close();
+                             }
+                             return null;
+                         }
 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	2013-04-04 13:44:58.878171052 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/launcher/LauncherHelper.java	2013-04-04 18:02:48.878048169 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/launcher/LauncherHelper.java	2014-04-11 13:19:53.676028022 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/launcher/LauncherHelper.java	2014-04-11 13:50:37.307613729 +0100
 @@ -555,8 +555,9 @@
                  if (parent == null) {
                      parent = new File(".");
@@ -681,8 +679,8 @@
              } else {
                  out.add(a.arg);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/jar/URLJarFile.java openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/jar/URLJarFile.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/jar/URLJarFile.java	2013-04-03 14:18:05.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/jar/URLJarFile.java	2013-04-04 18:02:48.834047471 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/jar/URLJarFile.java	2013-10-09 22:53:57.821892311 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/jar/URLJarFile.java	2014-04-11 13:50:37.311613787 +0100
 @@ -194,7 +194,8 @@
       * Given a URL, retrieves a JAR file, caches it to disk, and creates a
       * cached JAR file object.
@@ -716,8 +714,8 @@
                          }
                      });
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java openjdk-boot/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java	2013-04-03 14:18:05.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java	2013-04-04 18:02:48.838047534 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java	2013-10-09 22:53:58.045895782 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java	2014-04-11 13:50:37.311613787 +0100
 @@ -255,7 +255,9 @@
              this.entries = new HashMap<Path,CacheEntry>();
  
@@ -741,8 +739,8 @@
          }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/print/PSPrinterJob.java openjdk-boot/jdk/src/share/classes/sun/print/PSPrinterJob.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/print/PSPrinterJob.java	2013-04-03 14:18:05.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/print/PSPrinterJob.java	2013-04-04 18:02:48.886048296 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/print/PSPrinterJob.java	2013-10-09 22:53:58.077896277 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/print/PSPrinterJob.java	2014-04-11 13:50:37.315613846 +0100
 @@ -680,25 +680,38 @@
  
          private void handleProcessFailure(final Process failedProcess,
@@ -789,8 +787,8 @@
  
          public Object run() {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/log/ReliableLog.java openjdk-boot/jdk/src/share/classes/sun/rmi/log/ReliableLog.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/log/ReliableLog.java	2013-04-03 14:18:05.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/log/ReliableLog.java	2013-04-04 18:02:48.894048422 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/log/ReliableLog.java	2013-10-09 22:53:58.257899067 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/log/ReliableLog.java	2014-04-11 13:50:37.315613846 +0100
 @@ -594,10 +594,16 @@
          } else {
              name = versionFile;
@@ -829,8 +827,8 @@
  
      /**
 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	2013-04-03 14:18:05.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/Activation.java	2013-04-04 18:02:48.894048422 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/Activation.java	2013-10-09 22:53:58.305899810 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/Activation.java	2014-04-11 13:50:37.319613904 +0100
 @@ -1233,13 +1233,16 @@
                      PipeWriter.plugTogetherPair
                          (child.getInputStream(), System.out,
@@ -852,8 +850,8 @@
  
                  } catch (IOException e) {
 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	2013-04-04 13:44:58.934171940 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/proxy/RMIMasterSocketFactory.java	2013-04-04 18:02:48.890048359 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/proxy/RMIMasterSocketFactory.java	2014-04-11 13:19:53.812030028 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/proxy/RMIMasterSocketFactory.java	2014-04-11 13:50:37.323613963 +0100
 @@ -233,13 +233,14 @@
                          proxyLog.log(Log.BRIEF,
                              "trying with factory: " + factory);
@@ -883,8 +881,8 @@
  
                      // factory succeeded, open new socket for caller's use
 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	2013-04-03 14:18:05.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java	2013-04-04 18:02:48.846047662 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java	2013-10-09 22:53:58.573903963 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java	2014-04-11 13:50:37.323613963 +0100
 @@ -92,9 +92,13 @@
          tabName = filename;
          try {
@@ -953,8 +951,8 @@
      }
  }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/SeedGenerator.java openjdk-boot/jdk/src/share/classes/sun/security/provider/SeedGenerator.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/SeedGenerator.java	2013-04-03 14:18:05.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/provider/SeedGenerator.java	2013-04-04 18:02:48.850047725 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/SeedGenerator.java	2014-04-04 16:36:54.172515370 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/SeedGenerator.java	2014-04-11 13:50:37.327614021 +0100
 @@ -179,7 +179,9 @@
                          // The temporary dir
                          File f = new File(p.getProperty("java.io.tmpdir"));
@@ -978,8 +976,8 @@
                      } catch (Exception ex) {
                          md.update((byte)ex.hashCode());
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/KeyTool.java openjdk-boot/jdk/src/share/classes/sun/security/tools/KeyTool.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/KeyTool.java	2013-04-03 14:18:05.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/tools/KeyTool.java	2013-04-04 18:02:48.858047851 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/KeyTool.java	2013-10-09 22:53:58.925909417 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/tools/KeyTool.java	2014-04-11 13:50:37.327614021 +0100
 @@ -1149,9 +1149,14 @@
                  } else {
                      ByteArrayOutputStream bout = new ByteArrayOutputStream();
@@ -998,8 +996,8 @@
              }
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/util/UntrustedCertificates.java openjdk-boot/jdk/src/share/classes/sun/security/util/UntrustedCertificates.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/util/UntrustedCertificates.java	2013-04-04 13:44:58.934171940 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/util/UntrustedCertificates.java	2013-04-04 18:02:48.862047915 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/util/UntrustedCertificates.java	2014-04-11 13:19:53.812030028 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/util/UntrustedCertificates.java	2014-04-11 13:50:37.331614080 +0100
 @@ -56,8 +56,9 @@
  
      private static void add(String alias, String pemCert) {
@@ -1033,8 +1031,8 @@
  
      static {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/tools/jcmd/Arguments.java openjdk-boot/jdk/src/share/classes/sun/tools/jcmd/Arguments.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/tools/jcmd/Arguments.java	2013-04-03 14:18:05.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/tools/jcmd/Arguments.java	2013-04-04 18:02:48.862047915 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/tools/jcmd/Arguments.java	2013-10-09 22:53:59.621920201 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/tools/jcmd/Arguments.java	2014-04-11 13:50:37.331614080 +0100
 @@ -99,14 +99,19 @@
      }
  
@@ -1064,8 +1062,8 @@
  
      public static void usage() {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/tools/jcmd/JCmd.java openjdk-boot/jdk/src/share/classes/sun/tools/jcmd/JCmd.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/tools/jcmd/JCmd.java	2013-04-04 13:44:58.934171940 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/tools/jcmd/JCmd.java	2013-04-04 18:02:48.866047979 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/tools/jcmd/JCmd.java	2014-04-11 13:19:53.816030087 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/tools/jcmd/JCmd.java	2014-04-11 13:50:37.335614139 +0100
 @@ -116,7 +116,7 @@
                              e.printStackTrace();
                          }
@@ -1108,8 +1106,8 @@
  
      private static String getMainClass(VirtualMachineDescriptor vmd)
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/util/calendar/LocalGregorianCalendar.java openjdk-boot/jdk/src/share/classes/sun/util/calendar/LocalGregorianCalendar.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/util/calendar/LocalGregorianCalendar.java	2013-04-03 14:18:05.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/util/calendar/LocalGregorianCalendar.java	2013-04-04 18:02:48.870048042 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/util/calendar/LocalGregorianCalendar.java	2013-10-09 22:54:00.249929930 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/util/calendar/LocalGregorianCalendar.java	2014-04-11 13:50:37.335614139 +0100
 @@ -127,9 +127,15 @@
              calendarProps = (Properties) AccessController.doPrivileged(new PrivilegedExceptionAction() {
                  public Object run() throws IOException {
@@ -1128,8 +1126,8 @@
                  }
              });
 diff -Nru openjdk-boot.orig/jdk/src/share/demo/jfc/Font2DTest/RangeMenu.java openjdk-boot/jdk/src/share/demo/jfc/Font2DTest/RangeMenu.java
---- openjdk-boot.orig/jdk/src/share/demo/jfc/Font2DTest/RangeMenu.java	2013-04-03 14:18:05.000000000 +0100
-+++ openjdk-boot/jdk/src/share/demo/jfc/Font2DTest/RangeMenu.java	2013-04-04 18:02:48.870048042 +0100
+--- openjdk-boot.orig/jdk/src/share/demo/jfc/Font2DTest/RangeMenu.java	2013-10-09 22:53:57.333884750 +0100
++++ openjdk-boot/jdk/src/share/demo/jfc/Font2DTest/RangeMenu.java	2014-04-11 13:50:37.339614197 +0100
 @@ -200,7 +200,7 @@
      }
  
@@ -1140,8 +1138,8 @@
          Character.UnicodeBlock currentBlock = Character.UnicodeBlock.of(0);
          for (int cp = 0x000001; cp < 0x110000; cp++ ) {
 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	2013-04-03 14:18:05.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java	2013-04-04 18:02:48.874048105 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java	2013-10-09 22:53:59.193913569 +0100
++++ openjdk-boot/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java	2014-04-11 13:50:37.339614197 +0100
 @@ -569,11 +569,11 @@
                  public Void run() throws BackingStoreException {
                      Map<String, String> m = new TreeMap<>();
@@ -1205,8 +1203,8 @@
                  }
              });
 diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java
---- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java	2013-04-03 14:18:05.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java	2013-04-04 18:02:48.874048105 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java	2013-10-09 22:54:00.325931109 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java	2014-04-11 13:50:37.343614256 +0100
 @@ -255,9 +255,16 @@
          String fstypes = System.getProperty("java.home") + "/lib/fstypes.properties";
          Path file = Paths.get(fstypes);
@@ -1226,8 +1224,8 @@
          }
          return result;
 diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/sun/print/UnixPrintJob.java openjdk-boot/jdk/src/solaris/classes/sun/print/UnixPrintJob.java
---- openjdk-boot.orig/jdk/src/solaris/classes/sun/print/UnixPrintJob.java	2013-04-03 14:18:05.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/print/UnixPrintJob.java	2013-04-04 18:02:48.886048296 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/print/UnixPrintJob.java	2013-10-09 22:54:00.341931356 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/print/UnixPrintJob.java	2014-04-11 13:50:37.343614256 +0100
 @@ -960,25 +960,38 @@
  
          private void handleProcessFailure(final Process failedProcess,
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/hotspot/aarch64/20140415-8029858-enhance_array_copies.patch	Wed Apr 16 03:18:47 2014 +0100
@@ -0,0 +1,22 @@
+# HG changeset patch
+# User dsimms
+# Date 1389348912 -3600
+#      Fri Jan 10 11:15:12 2014 +0100
+# Node ID b478fbd631095afe8c37e3582c467d3ef64c7ba5
+# Parent  212a8089da498a233d4279e4b50235c271090f71
+8029858: Enhance array copies
+Summary: Just read the source element once
+Reviewed-by: coleenp, ahgross
+
+diff --git a/src/share/vm/oops/objArrayKlass.cpp b/src/share/vm/oops/objArrayKlass.cpp
+--- openjdk/hotspot/src/share/vm/oops/objArrayKlass.cpp
++++ openjdk/hotspot/src/share/vm/oops/objArrayKlass.cpp
+@@ -269,7 +269,7 @@
+         if (element_is_null ||
+             (new_val->klass())->is_subtype_of(bound)) {
+           bs->write_ref_field_pre(p, new_val);
+-          *p = *from;
++          *p = element;
+         } else {
+           // We must do a barrier to cover the partial copy.
+           const size_t pd = pointer_delta(p, dst, (size_t)heapOopSize);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/hotspot/aarch64/20140415-8034926-attribute_classes_properly.patch	Wed Apr 16 03:18:47 2014 +0100
@@ -0,0 +1,32 @@
+# HG changeset patch
+# User hseigel
+# Date 1392921059 18000
+#      Thu Feb 20 13:30:59 2014 -0500
+# Node ID 9b289963cb9a14636fbe8faaa2dd6d3678464a7b
+# Parent  c96a3381e55ebacff49901b98c2ee87e17cb0632
+8034926: Attribute classes properly
+Summary: Add check to prevent underflow
+Reviewed-by: coleenp, ahgross
+
+diff --git a/src/share/vm/classfile/classFileParser.cpp b/src/share/vm/classfile/classFileParser.cpp
+--- openjdk/hotspot/src/share/vm/classfile/classFileParser.cpp
++++ openjdk/hotspot/src/share/vm/classfile/classFileParser.cpp
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+  *
+  * This code is free software; you can redistribute it and/or modify it
+@@ -2777,6 +2777,11 @@
+                      "Short length on BootstrapMethods in class file %s",
+                      CHECK);
+ 
++  guarantee_property(attribute_byte_length > sizeof(u2),
++                     "Invalid BootstrapMethods attribute length %u in class file %s",
++                     attribute_byte_length,
++                     CHECK);
++
+   // The attribute contains a counted array of counted tuples of shorts,
+   // represending bootstrap specifiers:
+   //    length*{bootstrap_method_index, argument_count*{argument_index}}