Mercurial > hg > icedtea6
changeset 3163:a17dc173fdc5
Sync with upstream OpenJDK 6.
2014-10-23 Andrew John Hughes <gnu.andrew@redhat.com>
* patches/openjdk/7027300-unsync_hashmap_causes_endless_loop.patch,
* patches/openjdk/7183251-netbeans_renders_text_wrong.patch,
* patches/openjdk/oj639-handle_fonts_with_no_canon_flag_set.patch:
Removed; upstreamed.
* Makefile.am:
(ICEDTEA_PATCHES): Drop above patches.
* patches/openjdk/6816311-compiler_name.patch:
Drop windows.h fragments applied upstream as OPENJDK6-41.
* patches/openjdk/7122142-annotation_race_condition.patch,
* patches/openjdk/p11cipher-6812738-native_cleanup.patch:
Regenerated following upstream security patches.
author | Andrew John Hughes <gnu.andrew@redhat.com> |
---|---|
date | Thu, 23 Oct 2014 22:35:31 +0100 |
parents | c380668f35d0 |
children | 3ffc944aeaac |
files | ChangeLog Makefile.am patches/openjdk/6816311-compiler_name.patch patches/openjdk/7027300-unsync_hashmap_causes_endless_loop.patch patches/openjdk/7122142-annotation_race_condition.patch patches/openjdk/7183251-netbeans_renders_text_wrong.patch patches/openjdk/oj639-handle_fonts_with_no_canon_flag_set.patch patches/openjdk/p11cipher-6812738-native_cleanup.patch |
diffstat | 8 files changed, 271 insertions(+), 694 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Wed Oct 08 17:18:58 2014 +0100 +++ b/ChangeLog Thu Oct 23 22:35:31 2014 +0100 @@ -1,3 +1,17 @@ +2014-10-23 Andrew John Hughes <gnu.andrew@redhat.com> + + * patches/openjdk/7027300-unsync_hashmap_causes_endless_loop.patch, + * patches/openjdk/7183251-netbeans_renders_text_wrong.patch, + * patches/openjdk/oj639-handle_fonts_with_no_canon_flag_set.patch: + Removed; upstreamed. + * Makefile.am: + (ICEDTEA_PATCHES): Drop above patches. + * patches/openjdk/6816311-compiler_name.patch: + Drop windows.h fragments applied upstream as OPENJDK6-41. + * patches/openjdk/7122142-annotation_race_condition.patch, + * patches/openjdk/p11cipher-6812738-native_cleanup.patch: + Regenerated following upstream security patches. + 2014-10-02 Andrew John Hughes <gnu.andrew@redhat.com> * Makefile.am:
--- a/Makefile.am Wed Oct 08 17:18:58 2014 +0100 +++ b/Makefile.am Thu Oct 23 22:35:31 2014 +0100 @@ -610,13 +610,10 @@ patches/openjdk/7151089-numa_should_not_free_shm_large_pages.patch \ patches/openjdk/8013057-detect_mmap_commit_failures.patch \ patches/openjdk/8026887-make_large_page_allocations_easier_to_debug.patch \ - patches/openjdk/7027300-unsync_hashmap_causes_endless_loop.patch \ - patches/openjdk/7183251-netbeans_renders_text_wrong.patch \ patches/openjdk/6904962-getvisualbounds_affected_by_white_space.patch \ patches/openjdk/6611637-npe_in_glyphlayout.patch \ patches/openjdk/6727719-performance_of_textlayout_getbounds.patch \ patches/openjdk/6745225-memory_leak_in_attributed_string.patch \ - patches/openjdk/oj639-handle_fonts_with_no_canon_flag_set.patch \ patches/openjdk/7122142-annotation_race_condition.patch if WITH_RHINO
--- a/patches/openjdk/6816311-compiler_name.patch Wed Oct 08 17:18:58 2014 +0100 +++ b/patches/openjdk/6816311-compiler_name.patch Thu Oct 23 22:35:31 2014 +0100 @@ -1,6 +1,6 @@ diff -Nru openjdk.orig/jdk/make/common/Defs-windows.gmk openjdk/jdk/make/common/Defs-windows.gmk ---- openjdk.orig/jdk/make/common/Defs-windows.gmk 2014-07-30 13:50:26.338553416 +0100 -+++ openjdk/jdk/make/common/Defs-windows.gmk 2014-07-30 13:52:49.696606593 +0100 +--- openjdk.orig/jdk/make/common/Defs-windows.gmk 2014-10-20 15:22:47.872123681 +0100 ++++ openjdk/jdk/make/common/Defs-windows.gmk 2014-10-20 15:24:10.649264581 +0100 @@ -75,6 +75,14 @@ # The following DLL's are considered MS runtime libraries and should # not to be REBASEd, see deploy/make/common/Release.gmk. @@ -26,8 +26,8 @@ CFLAGS_COMMON += -WX endif diff -Nru openjdk.orig/jdk/make/common/shared/Compiler-gcc.gmk openjdk/jdk/make/common/shared/Compiler-gcc.gmk ---- openjdk.orig/jdk/make/common/shared/Compiler-gcc.gmk 2014-07-30 13:50:26.350553589 +0100 -+++ openjdk/jdk/make/common/shared/Compiler-gcc.gmk 2014-07-30 13:50:56.354983342 +0100 +--- openjdk.orig/jdk/make/common/shared/Compiler-gcc.gmk 2014-10-20 15:22:47.900124067 +0100 ++++ openjdk/jdk/make/common/shared/Compiler-gcc.gmk 2014-10-20 15:24:10.649264581 +0100 @@ -27,8 +27,6 @@ # GCC Compiler settings # @@ -46,8 +46,8 @@ +COMPILER_VERSION = $(COMPILER_NAME) + diff -Nru openjdk.orig/jdk/make/common/shared/Compiler-msvc.gmk openjdk/jdk/make/common/shared/Compiler-msvc.gmk ---- openjdk.orig/jdk/make/common/shared/Compiler-msvc.gmk 2014-07-30 13:50:26.354553646 +0100 -+++ openjdk/jdk/make/common/shared/Compiler-msvc.gmk 2014-07-30 13:57:20.412482841 +0100 +--- openjdk.orig/jdk/make/common/shared/Compiler-msvc.gmk 2014-10-20 15:22:47.900124067 +0100 ++++ openjdk/jdk/make/common/shared/Compiler-msvc.gmk 2014-10-20 15:24:10.649264581 +0100 @@ -78,6 +78,12 @@ MT = $(_OTHER_TOOLS_BIN)/mt.exe MTL = $(_OTHER_TOOLS_BIN)/midl.exe @@ -62,8 +62,8 @@ # These variables can never be empty ifndef COMPILER_PATH diff -Nru openjdk.orig/jdk/make/common/shared/Compiler-sun.gmk openjdk/jdk/make/common/shared/Compiler-sun.gmk ---- openjdk.orig/jdk/make/common/shared/Compiler-sun.gmk 2014-07-30 13:50:26.354553646 +0100 -+++ openjdk/jdk/make/common/shared/Compiler-sun.gmk 2014-07-30 13:50:56.354983342 +0100 +--- openjdk.orig/jdk/make/common/shared/Compiler-sun.gmk 2014-10-20 15:22:47.900124067 +0100 ++++ openjdk/jdk/make/common/shared/Compiler-sun.gmk 2014-10-20 15:24:10.649264581 +0100 @@ -27,13 +27,8 @@ # Sun Studio Compiler settings # @@ -106,8 +106,8 @@ # Starting in SS12 (5.9), the arch options changed. # The assembler /usr/ccs/bin/as wants older SS11 (5.8) style options. diff -Nru openjdk.orig/jdk/make/common/shared/Defs-versions.gmk openjdk/jdk/make/common/shared/Defs-versions.gmk ---- openjdk.orig/jdk/make/common/shared/Defs-versions.gmk 2014-07-30 13:50:26.386554104 +0100 -+++ openjdk/jdk/make/common/shared/Defs-versions.gmk 2014-07-30 13:50:56.354983342 +0100 +--- openjdk.orig/jdk/make/common/shared/Defs-versions.gmk 2014-10-20 15:22:47.916124287 +0100 ++++ openjdk/jdk/make/common/shared/Defs-versions.gmk 2014-10-20 15:24:10.649264581 +0100 @@ -45,6 +45,12 @@ # REQUIRED_CC_VER # The primary C compiler version expected. @@ -163,8 +163,8 @@ REQUIRED_LINK_VER = 8.00.40310.39 endif diff -Nru openjdk.orig/jdk/make/common/shared/Sanity.gmk openjdk/jdk/make/common/shared/Sanity.gmk ---- openjdk.orig/jdk/make/common/shared/Sanity.gmk 2014-07-30 13:50:26.354553646 +0100 -+++ openjdk/jdk/make/common/shared/Sanity.gmk 2014-07-30 13:50:56.354983342 +0100 +--- openjdk.orig/jdk/make/common/shared/Sanity.gmk 2014-10-20 15:22:47.904124123 +0100 ++++ openjdk/jdk/make/common/shared/Sanity.gmk 2014-10-20 15:24:10.653264635 +0100 @@ -129,7 +129,7 @@ ifeq ($(_OS_VERSION),) OS_VERSION = 5.0 @@ -210,27 +210,3 @@ endif ###################################################### -diff -Nru openjdk.orig/jdk/src/windows/native/sun/windows/awt.rc openjdk/jdk/src/windows/native/sun/windows/awt.rc ---- openjdk.orig/jdk/src/windows/native/sun/windows/awt.rc 2014-07-14 04:24:44.000000000 +0100 -+++ openjdk/jdk/src/windows/native/sun/windows/awt.rc 2014-07-30 13:50:56.358983399 +0100 -@@ -23,7 +23,7 @@ - // questions. - // - --#include "afxres.h" -+#include "windows.h" - - // Need 2 defines so macro argument to XSTR will get expanded before quoting. - #define XSTR(x) STR(x) -diff -Nru openjdk.orig/jdk/src/windows/resource/version.rc openjdk/jdk/src/windows/resource/version.rc ---- openjdk.orig/jdk/src/windows/resource/version.rc 2014-07-14 04:24:44.000000000 +0100 -+++ openjdk/jdk/src/windows/resource/version.rc 2014-07-30 13:50:56.358983399 +0100 -@@ -23,7 +23,7 @@ - // questions. - // - --#include "afxres.h" -+#include "windows.h" - - // Need 2 defines so macro argument to XSTR will get expanded before quoting. - #define XSTR(x) STR(x)
--- a/patches/openjdk/7027300-unsync_hashmap_causes_endless_loop.patch Wed Oct 08 17:18:58 2014 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,33 +0,0 @@ -# HG changeset patch -# User vkarnauk -# Date 1340286118 -14400 -# Thu Jun 21 17:41:58 2012 +0400 -# Node ID f71b6117fd7bbb13ed4c1f68ace873695edd49cb -# Parent 762ae4a20c8b115e5cb486c5204d8bdee747ee59 -7027300: Unsynchronized HashMap access causes endless loop -Reviewed-by: bae, prr - -diff -r 762ae4a20c8b -r f71b6117fd7b src/share/classes/sun/font/SunLayoutEngine.java ---- openjdk/jdk/src/share/classes/sun/font/SunLayoutEngine.java Thu Jun 21 14:19:12 2012 +0400 -+++ openjdk/jdk/src/share/classes/sun/font/SunLayoutEngine.java Thu Jun 21 17:41:58 2012 +0400 -@@ -33,7 +33,7 @@ - import sun.font.GlyphLayout.*; - import java.awt.geom.Point2D; - import java.lang.ref.SoftReference; --import java.util.HashMap; -+import java.util.concurrent.ConcurrentHashMap; - import java.util.Locale; - - /* -@@ -129,9 +129,9 @@ - - // !!! don't need this unless we have more than one sun layout engine... - public LayoutEngine getEngine(LayoutEngineKey key) { -- HashMap cache = (HashMap)cacheref.get(); -+ ConcurrentHashMap cache = (ConcurrentHashMap)cacheref.get(); - if (cache == null) { -- cache = new HashMap(); -+ cache = new ConcurrentHashMap(); - cacheref = new SoftReference(cache); - } -
--- a/patches/openjdk/7122142-annotation_race_condition.patch Wed Oct 08 17:18:58 2014 +0100 +++ b/patches/openjdk/7122142-annotation_race_condition.patch Thu Oct 23 22:35:31 2014 +0100 @@ -1,6 +1,6 @@ -diff -r d1f592073a0e src/share/classes/java/lang/Class.java ---- openjdk/jdk/src/share/classes/java/lang/Class.java Fri Sep 12 22:39:32 2014 +0100 -+++ openjdk/jdk/src/share/classes/java/lang/Class.java Thu Oct 02 20:18:56 2014 +0100 +diff -Nru openjdk.orig/jdk/src/share/classes/java/lang/Class.java openjdk/jdk/src/share/classes/java/lang/Class.java +--- openjdk.orig/jdk/src/share/classes/java/lang/Class.java 2014-10-14 22:40:53.675702174 +0100 ++++ openjdk/jdk/src/share/classes/java/lang/Class.java 2014-10-23 21:50:17.185342994 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1994, 2012, Oracle and/or its affiliates. All rights reserved. @@ -8,16 +8,16 @@ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it -@@ -271,7 +271,7 @@ +@@ -275,7 +275,7 @@ } - /** Called after security checks have been made. */ + /** Called after security check for system loader access checks have been made. */ - private static native Class forName0(String name, boolean initialize, + private static native Class<?> forName0(String name, boolean initialize, - ClassLoader loader) + ClassLoader loader, + Class<?> caller) throws ClassNotFoundException; - -@@ -341,15 +341,15 @@ +@@ -346,15 +346,15 @@ ); } try { @@ -37,7 +37,7 @@ c.setAccessible(true); return null; } -@@ -379,7 +379,7 @@ +@@ -384,7 +384,7 @@ } } private volatile transient Constructor<T> cachedConstructor; @@ -46,7 +46,7 @@ /** -@@ -637,7 +637,7 @@ +@@ -642,7 +642,7 @@ if (getGenericSignature() != null) return (TypeVariable<Class<T>>[])getGenericInfo().getTypeParameters(); else @@ -55,7 +55,7 @@ } -@@ -901,7 +901,7 @@ +@@ -906,7 +906,7 @@ MethodRepository typeInfo = MethodRepository.make(enclosingInfo.getDescriptor(), getFactory()); @@ -64,7 +64,7 @@ Type [] parameterTypes = typeInfo.getParameterTypes(); Class<?>[] parameterClasses = new Class<?>[parameterTypes.length]; -@@ -1005,12 +1005,12 @@ +@@ -1010,12 +1010,12 @@ } @@ -79,7 +79,7 @@ } /** -@@ -1340,13 +1340,13 @@ +@@ -1345,13 +1345,13 @@ // out anything other than public members and (2) public member access // has already been ok'd by the SecurityManager. @@ -99,7 +99,7 @@ for (int i = 0; i < members.length; i++) { if (Modifier.isPublic(members[i].getModifiers())) { list.add(members[i]); -@@ -1354,12 +1354,9 @@ +@@ -1359,12 +1359,9 @@ } currentClass = currentClass.getSuperclass(); } @@ -113,7 +113,7 @@ } -@@ -2283,7 +2280,7 @@ +@@ -2288,7 +2285,7 @@ return name; } if (!name.startsWith("/")) { @@ -122,7 +122,7 @@ while (c.isArray()) { c = c.getComponentType(); } -@@ -2300,44 +2297,111 @@ +@@ -2305,44 +2302,111 @@ } /** @@ -208,6 +208,22 @@ - // Value of classRedefinedCount when we last cleared the cached values - // that are sensitive to class redefinition. - private volatile transient int lastRedefinedCount = 0; +- +- // Clears cached values that might possibly have been obsoleted by +- // a class redefinition. +- private void clearCachesOnClassRedefinition() { +- if (lastRedefinedCount != classRedefinedCount) { +- declaredFields = publicFields = declaredPublicFields = null; +- declaredMethods = publicMethods = declaredPublicMethods = null; +- declaredConstructors = publicConstructors = null; +- annotations = declaredAnnotations = null; +- +- // Use of "volatile" (and synchronization by caller in the case +- // of annotations) ensures that no thread sees the update to +- // lastRedefinedCount before seeing the caches cleared. +- // We do not guard against brief windows during which multiple +- // threads might redundantly work to fill an empty cache. +- lastRedefinedCount = classRedefinedCount; + // Lazily create and cache ReflectionData + private ReflectionData<T> reflectionData() { + SoftReference<ReflectionData<T>> reflectionData = this.reflectionData; @@ -223,25 +239,11 @@ + // -> create and replace new instance + return newReflectionData(reflectionData, classRedefinedCount); + } - -- // Clears cached values that might possibly have been obsoleted by -- // a class redefinition. -- private void clearCachesOnClassRedefinition() { -- if (lastRedefinedCount != classRedefinedCount) { -- declaredFields = publicFields = declaredPublicFields = null; -- declaredMethods = publicMethods = declaredPublicMethods = null; -- declaredConstructors = publicConstructors = null; -- annotations = declaredAnnotations = null; ++ + private ReflectionData<T> newReflectionData(SoftReference<ReflectionData<T>> oldReflectionData, + int classRedefinedCount) { + if (!useCaches) return null; - -- // Use of "volatile" (and synchronization by caller in the case -- // of annotations) ensures that no thread sees the update to -- // lastRedefinedCount before seeing the caches cleared. -- // We do not guard against brief windows during which multiple -- // threads might redundantly work to fill an empty cache. -- lastRedefinedCount = classRedefinedCount; ++ + while (true) { + ReflectionData<T> rd = new ReflectionData<T>(classRedefinedCount); + // try to CAS it... @@ -260,7 +262,7 @@ } } -@@ -2365,7 +2429,7 @@ +@@ -2370,7 +2434,7 @@ } // Annotations handling @@ -269,7 +271,7 @@ native ConstantPool getConstantPool(); -@@ -2380,27 +2444,19 @@ +@@ -2385,27 +2449,19 @@ // via ReflectionFactory.copyField. private Field[] privateGetDeclaredFields(boolean publicOnly) { checkInitted(); @@ -304,7 +306,7 @@ } } return res; -@@ -2409,22 +2465,20 @@ +@@ -2414,22 +2470,20 @@ // Returns an array of "root" fields. These Field objects must NOT // be propagated to the outside world, but must instead be copied // via ReflectionFactory.copyField. @@ -334,7 +336,7 @@ } // Local fields -@@ -2432,9 +2486,7 @@ +@@ -2437,9 +2491,7 @@ addAll(fields, tmp); // Direct superinterfaces, recursively @@ -345,7 +347,7 @@ if (!traversedInterfaces.contains(c)) { traversedInterfaces.add(c); addAll(fields, c.privateGetPublicFields(traversedInterfaces)); -@@ -2443,7 +2495,7 @@ +@@ -2448,7 +2500,7 @@ // Direct superclass, recursively if (!isInterface()) { @@ -354,7 +356,7 @@ if (c != null) { addAll(fields, c.privateGetPublicFields(traversedInterfaces)); } -@@ -2451,13 +2503,13 @@ +@@ -2456,13 +2508,13 @@ res = new Field[fields.size()]; fields.toArray(res); @@ -371,7 +373,7 @@ for (int i = 0; i < o.length; i++) { c.add(o[i]); } -@@ -2473,20 +2525,12 @@ +@@ -2478,20 +2530,12 @@ // Returns an array of "root" constructors. These Constructor // objects must NOT be propagated to the outside world, but must // instead be copied via ReflectionFactory.copyConstructor. @@ -397,7 +399,7 @@ if (res != null) return res; } // No cached value available; request value from VM -@@ -2495,11 +2539,11 @@ +@@ -2500,11 +2544,11 @@ } else { res = getDeclaredConstructors0(publicOnly); } @@ -412,7 +414,7 @@ } } return res; -@@ -2516,27 +2560,19 @@ +@@ -2521,27 +2565,19 @@ // via ReflectionFactory.copyMethod. private Method[] privateGetDeclaredMethods(boolean publicOnly) { checkInitted(); @@ -447,7 +449,7 @@ } } return res; -@@ -2638,12 +2674,10 @@ +@@ -2643,12 +2679,10 @@ // via ReflectionFactory.copyMethod. private Method[] privateGetPublicMethods() { checkInitted(); @@ -464,7 +466,7 @@ if (res != null) return res; } -@@ -2659,12 +2693,12 @@ +@@ -2664,12 +2698,12 @@ // out concrete implementations inherited from superclasses at // the end. MethodArray inheritedMethods = new MethodArray(); @@ -479,7 +481,7 @@ if (c != null) { MethodArray supers = new MethodArray(); supers.addAll(c.privateGetPublicMethods()); -@@ -2691,8 +2725,8 @@ +@@ -2696,8 +2730,8 @@ methods.addAllIfNotPresent(inheritedMethods); methods.compactAndTrim(); res = methods.getArray(); @@ -490,7 +492,7 @@ } return res; } -@@ -2702,7 +2736,7 @@ +@@ -2707,7 +2741,7 @@ // Helpers for fetchers of one field, method, or constructor // @@ -499,7 +501,7 @@ String internedName = name.intern(); for (int i = 0; i < fields.length; i++) { if (fields[i].getName() == internedName) { -@@ -2720,22 +2754,22 @@ +@@ -2725,22 +2759,22 @@ // of Field objects which have to be created for the common // case where the field being requested is declared in the // class which is being queried. @@ -526,7 +528,7 @@ if (c != null) { if ((res = c.getField0(name)) != null) { return res; -@@ -2747,7 +2781,7 @@ +@@ -2752,7 +2786,7 @@ private static Method searchMethods(Method[] methods, String name, @@ -535,7 +537,7 @@ { Method res = null; String internedName = name.intern(); -@@ -2764,7 +2798,7 @@ +@@ -2769,7 +2803,7 @@ } @@ -544,7 +546,7 @@ // Note: the intent is that the search algorithm this routine // uses be equivalent to the ordering imposed by // privateGetPublicMethods(). It fetches only the declared -@@ -2772,7 +2806,7 @@ +@@ -2777,7 +2811,7 @@ // number of Method objects which have to be created for the // common case where the method being requested is declared in // the class which is being queried. @@ -553,7 +555,7 @@ // Search declared public methods if ((res = searchMethods(privateGetDeclaredMethods(true), name, -@@ -2781,7 +2815,7 @@ +@@ -2786,7 +2820,7 @@ } // Search superclass's methods if (!isInterface()) { @@ -562,7 +564,7 @@ if (c != null) { if ((res = c.getMethod0(name, parameterTypes)) != null) { return res; -@@ -2789,9 +2823,9 @@ +@@ -2794,9 +2828,9 @@ } } // Search superinterfaces' methods @@ -574,7 +576,7 @@ if ((res = c.getMethod0(name, parameterTypes)) != null) { return res; } -@@ -2800,14 +2834,14 @@ +@@ -2805,14 +2839,14 @@ return null; } @@ -594,7 +596,7 @@ } } throw new NoSuchMethodException(getName() + ".<init>" + argumentTypesToString(parameterTypes)); -@@ -2857,21 +2891,21 @@ +@@ -2862,21 +2896,21 @@ return out; } @@ -623,7 +625,7 @@ StringBuilder buf = new StringBuilder(); buf.append("("); if (argTypes != null) { -@@ -2879,7 +2913,7 @@ +@@ -2884,7 +2918,7 @@ if (i > 0) { buf.append(", "); } @@ -632,7 +634,7 @@ buf.append((c == null) ? "null" : c.getName()); } } -@@ -2952,7 +2986,7 @@ +@@ -2957,7 +2991,7 @@ } // Retrieves the desired assertion status of this class from the VM @@ -641,7 +643,7 @@ /** * Returns true if and only if this class was declared as an enum in the -@@ -2973,7 +3007,7 @@ +@@ -2978,7 +3012,7 @@ // Fetches the factory for reflective objects private static ReflectionFactory getReflectionFactory() { if (reflectionFactory == null) { @@ -650,7 +652,7 @@ java.security.AccessController.doPrivileged (new sun.reflect.ReflectionFactory.GetReflectionFactoryAction()); } -@@ -3039,9 +3073,9 @@ +@@ -3044,9 +3078,9 @@ if (!isEnum()) return null; try { final Method values = getMethod("values"); @@ -663,7 +665,7 @@ values.setAccessible(true); return null; } -@@ -3073,7 +3107,7 @@ +@@ -3078,7 +3112,7 @@ getName() + " is not an enum type"); Map<String, T> m = new HashMap<String, T>(2 * universe.length); for (T constant : universe) @@ -672,7 +674,7 @@ enumConstantDirectory = m; } return enumConstantDirectory; -@@ -3173,11 +3207,22 @@ +@@ -3178,11 +3212,22 @@ } // Annotations cache @@ -698,7 +700,7 @@ if (annotations != null) return; declaredAnnotations = AnnotationParser.parseAnnotations( -@@ -3186,10 +3231,10 @@ +@@ -3191,10 +3236,10 @@ if (superClass == null) { annotations = declaredAnnotations; } else { @@ -712,7 +714,7 @@ if (AnnotationType.getInstance(annotationClass).isInherited()) annotations.put(annotationClass, e.getValue()); } -@@ -3199,10 +3244,11 @@ +@@ -3204,10 +3249,11 @@ // Annotation types cache their internal (AnnotationType) form @@ -727,37 +729,9 @@ } AnnotationType getAnnotationType() { -diff -r d1f592073a0e src/share/classes/java/lang/System.java ---- openjdk/jdk/src/share/classes/java/lang/System.java Fri Sep 12 22:39:32 2014 +0100 -+++ openjdk/jdk/src/share/classes/java/lang/System.java Thu Oct 02 20:18:56 2014 +0100 -@@ -1,5 +1,5 @@ - /* -- * Copyright (c) 1994, 2007, Oracle and/or its affiliates. All rights reserved. -+ * Copyright (c) 1994, 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 -@@ -1146,12 +1146,15 @@ - public sun.reflect.ConstantPool getConstantPool(Class klass) { - return klass.getConstantPool(); - } -- public void setAnnotationType(Class klass, AnnotationType type) { -- klass.setAnnotationType(type); -+ public boolean casAnnotationType(Class<?> klass, AnnotationType oldType, AnnotationType newType) { -+ return klass.casAnnotationType(oldType, newType); - } - public AnnotationType getAnnotationType(Class klass) { - return klass.getAnnotationType(); - } -+ public byte[] getRawClassAnnotations(Class<?> klass) { -+ return klass.getRawAnnotations(); -+ } - public <E extends Enum<E>> - E[] getEnumConstantsShared(Class<E> klass) { - return klass.getEnumConstantsShared(); -diff -r d1f592073a0e src/share/classes/java/lang/reflect/Constructor.java ---- openjdk/jdk/src/share/classes/java/lang/reflect/Constructor.java Fri Sep 12 22:39:32 2014 +0100 -+++ openjdk/jdk/src/share/classes/java/lang/reflect/Constructor.java Thu Oct 02 20:18:56 2014 +0100 +diff -Nru openjdk.orig/jdk/src/share/classes/java/lang/reflect/Constructor.java openjdk/jdk/src/share/classes/java/lang/reflect/Constructor.java +--- openjdk.orig/jdk/src/share/classes/java/lang/reflect/Constructor.java 2013-11-22 04:25:09.861029306 +0000 ++++ openjdk/jdk/src/share/classes/java/lang/reflect/Constructor.java 2014-10-23 21:49:38.072708619 +0100 @@ -65,8 +65,8 @@ private Class<T> clazz; @@ -818,9 +792,9 @@ if (declaredAnnotations == null) { declaredAnnotations = AnnotationParser.parseAnnotations( annotations, sun.misc.SharedSecrets.getJavaLangAccess(). -diff -r d1f592073a0e src/share/classes/java/lang/reflect/Field.java ---- openjdk/jdk/src/share/classes/java/lang/reflect/Field.java Fri Sep 12 22:39:32 2014 +0100 -+++ openjdk/jdk/src/share/classes/java/lang/reflect/Field.java Thu Oct 02 20:18:56 2014 +0100 +diff -Nru openjdk.orig/jdk/src/share/classes/java/lang/reflect/Field.java openjdk/jdk/src/share/classes/java/lang/reflect/Field.java +--- openjdk.orig/jdk/src/share/classes/java/lang/reflect/Field.java 2013-11-22 04:25:09.861029306 +0000 ++++ openjdk/jdk/src/share/classes/java/lang/reflect/Field.java 2014-10-23 21:49:38.072708619 +0100 @@ -59,12 +59,12 @@ public final class Field extends AccessibleObject implements Member { @@ -873,9 +847,9 @@ if (declaredAnnotations == null) { declaredAnnotations = AnnotationParser.parseAnnotations( annotations, sun.misc.SharedSecrets.getJavaLangAccess(). -diff -r d1f592073a0e src/share/classes/java/lang/reflect/Method.java ---- openjdk/jdk/src/share/classes/java/lang/reflect/Method.java Fri Sep 12 22:39:32 2014 +0100 -+++ openjdk/jdk/src/share/classes/java/lang/reflect/Method.java Thu Oct 02 20:18:56 2014 +0100 +diff -Nru openjdk.orig/jdk/src/share/classes/java/lang/reflect/Method.java openjdk/jdk/src/share/classes/java/lang/reflect/Method.java +--- openjdk.orig/jdk/src/share/classes/java/lang/reflect/Method.java 2013-11-22 04:25:09.861029306 +0000 ++++ openjdk/jdk/src/share/classes/java/lang/reflect/Method.java 2014-10-23 21:49:38.072708619 +0100 @@ -62,14 +62,14 @@ public final class Method extends AccessibleObject implements GenericDeclaration, @@ -952,9 +926,37 @@ getReturnType()); Object result = AnnotationParser.parseMemberValue( memberType, ByteBuffer.wrap(annotationDefault), -diff -r d1f592073a0e src/share/classes/sun/misc/JavaLangAccess.java ---- openjdk/jdk/src/share/classes/sun/misc/JavaLangAccess.java Fri Sep 12 22:39:32 2014 +0100 -+++ openjdk/jdk/src/share/classes/sun/misc/JavaLangAccess.java Thu Oct 02 20:18:56 2014 +0100 +diff -Nru openjdk.orig/jdk/src/share/classes/java/lang/System.java openjdk/jdk/src/share/classes/java/lang/System.java +--- openjdk.orig/jdk/src/share/classes/java/lang/System.java 2014-10-23 21:16:04.814301560 +0100 ++++ openjdk/jdk/src/share/classes/java/lang/System.java 2014-10-23 21:49:38.072708619 +0100 +@@ -1,5 +1,5 @@ + /* +- * Copyright (c) 1994, 2007, Oracle and/or its affiliates. All rights reserved. ++ * Copyright (c) 1994, 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 +@@ -1126,12 +1126,15 @@ + public sun.reflect.ConstantPool getConstantPool(Class klass) { + return klass.getConstantPool(); + } +- public void setAnnotationType(Class klass, AnnotationType type) { +- klass.setAnnotationType(type); ++ public boolean casAnnotationType(Class<?> klass, AnnotationType oldType, AnnotationType newType) { ++ return klass.casAnnotationType(oldType, newType); + } + public AnnotationType getAnnotationType(Class klass) { + return klass.getAnnotationType(); + } ++ public byte[] getRawClassAnnotations(Class<?> klass) { ++ return klass.getRawAnnotations(); ++ } + public <E extends Enum<E>> + E[] getEnumConstantsShared(Class<E> klass) { + return klass.getEnumConstantsShared(); +diff -Nru openjdk.orig/jdk/src/share/classes/sun/misc/JavaLangAccess.java openjdk/jdk/src/share/classes/sun/misc/JavaLangAccess.java +--- openjdk.orig/jdk/src/share/classes/sun/misc/JavaLangAccess.java 2013-11-22 04:25:09.917030148 +0000 ++++ openjdk/jdk/src/share/classes/sun/misc/JavaLangAccess.java 2014-10-23 21:49:38.072708619 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved. @@ -988,106 +990,10 @@ * Returns the elements of an enum class or null if the * Class object does not represent an enum type; * the result is uncloned, cached, and shared by all callers. -diff -r d1f592073a0e src/share/classes/sun/reflect/ReflectionFactory.java ---- openjdk/jdk/src/share/classes/sun/reflect/ReflectionFactory.java Fri Sep 12 22:39:32 2014 +0100 -+++ openjdk/jdk/src/share/classes/sun/reflect/ReflectionFactory.java Thu Oct 02 20:18:56 2014 +0100 -@@ -84,8 +84,8 @@ - * <code>AccessController.doPrivileged</code>. - */ - public static final class GetReflectionFactoryAction -- implements PrivilegedAction { -- public Object run() { -+ implements PrivilegedAction<ReflectionFactory> { -+ public ReflectionFactory run() { - return getReflectionFactory(); - } - } -@@ -164,7 +164,7 @@ - public ConstructorAccessor newConstructorAccessor(Constructor c) { - checkInitted(); - -- Class declaringClass = c.getDeclaringClass(); -+ Class<?> declaringClass = c.getDeclaringClass(); - if (Modifier.isAbstract(declaringClass.getModifiers())) { - return new InstantiationExceptionConstructorAccessorImpl(null); - } -@@ -203,10 +203,10 @@ - // - - /** Creates a new java.lang.reflect.Field. Access checks as per -- java.lang.reflect.AccessibleObject are not overridden. */ -- public Field newField(Class declaringClass, -+ java.lang.reflect.AccessibleObject are not overridden. */ -+ public Field newField(Class<?> declaringClass, - String name, -- Class type, -+ Class<?> type, - int modifiers, - int slot, - String signature, -@@ -223,11 +223,11 @@ - - /** Creates a new java.lang.reflect.Method. Access checks as per - java.lang.reflect.AccessibleObject are not overridden. */ -- public Method newMethod(Class declaringClass, -+ public Method newMethod(Class<?> declaringClass, - String name, -- Class[] parameterTypes, -- Class returnType, -- Class[] checkedExceptions, -+ Class<?>[] parameterTypes, -+ Class<?> returnType, -+ Class<?>[] checkedExceptions, - int modifiers, - int slot, - String signature, -@@ -250,9 +250,9 @@ - - /** Creates a new java.lang.reflect.Constructor. Access checks as - per java.lang.reflect.AccessibleObject are not overridden. */ -- public Constructor newConstructor(Class declaringClass, -- Class[] parameterTypes, -- Class[] checkedExceptions, -+ public Constructor newConstructor(Class<?> declaringClass, -+ Class<?>[] parameterTypes, -+ Class<?>[] checkedExceptions, - int modifiers, - int slot, - String signature, -@@ -310,7 +310,7 @@ - /** Makes a copy of the passed constructor. The returned - constructor is a "child" of the passed one; see the comments - in Constructor.java for details. */ -- public Constructor copyConstructor(Constructor arg) { -+ public <T> Constructor<T> copyConstructor(Constructor<T> arg) { - return langReflectAccess().copyConstructor(arg); - } - -@@ -321,7 +321,7 @@ - // - - public Constructor newConstructorForSerialization -- (Class classToInstantiate, Constructor constructorToCall) -+ (Class<?> classToInstantiate, Constructor constructorToCall) - { - // Fast path - if (constructorToCall.getDeclaringClass() == classToInstantiate) { -@@ -366,8 +366,9 @@ - run, before the system properties are set up. */ - private static void checkInitted() { - if (initted) return; -- AccessController.doPrivileged(new PrivilegedAction() { -- public Object run() { -+ AccessController.doPrivileged( -+ new PrivilegedAction<Void>() { -+ public Void run() { - // Tests to ensure the system properties table is fully - // initialized. This is needed because reflection code is - // called very early in the initialization process (before -diff -r d1f592073a0e src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java ---- openjdk/jdk/src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java Fri Sep 12 22:39:32 2014 +0100 -+++ openjdk/jdk/src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java Thu Oct 02 20:18:56 2014 +0100 -@@ -41,17 +41,17 @@ +diff -Nru openjdk.orig/jdk/src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java openjdk/jdk/src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java +--- openjdk.orig/jdk/src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java 2014-10-14 22:40:53.707702622 +0100 ++++ openjdk/jdk/src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java 2014-10-23 21:51:18.178330529 +0100 +@@ -40,10 +40,10 @@ */ class AnnotationInvocationHandler implements InvocationHandler, Serializable { private static final long serialVersionUID = 6182022883658399397L; @@ -1097,9 +1003,10 @@ - AnnotationInvocationHandler(Class type, Map<String, Object> memberValues) { + AnnotationInvocationHandler(Class<? extends Annotation> type, Map<String, Object> memberValues) { - this.type = type; - this.memberValues = memberValues; - } + Class<?>[] superInterfaces = type.getInterfaces(); + if (!type.isAnnotation() || + superInterfaces.length != 1 || +@@ -55,7 +55,7 @@ public Object invoke(Object proxy, Method method, Object[] args) { String member = method.getName(); @@ -1108,7 +1015,7 @@ // Handle Object and Annotation methods if (member.equals("equals") && paramTypes.length == 1 && -@@ -85,7 +85,7 @@ +@@ -92,7 +92,7 @@ * if Cloneable had a public clone method. */ private Object cloneArray(Object array) { @@ -1117,7 +1024,7 @@ if (type == byte[].class) { byte[] byteArray = (byte[])array; -@@ -152,7 +152,7 @@ +@@ -159,7 +159,7 @@ * Translates a member value (in "dynamic proxy return form") into a string */ private static String memberValueToString(Object value) { @@ -1126,7 +1033,7 @@ if (!type.isArray()) // primitive, string, class, enum const, // or annotation return value.toString(); -@@ -230,7 +230,7 @@ +@@ -237,7 +237,7 @@ * two members are identical object references. */ private static boolean memberValueEquals(Object v1, Object v2) { @@ -1135,7 +1042,7 @@ // Check for primitive, string, class, enum const, annotation, // or ExceptionProxy -@@ -302,7 +302,7 @@ +@@ -397,7 +397,7 @@ * Computes hashCode of a member value (in "dynamic proxy return form") */ private static int memberValueHashCode(Object value) { @@ -1144,14 +1051,13 @@ if (!type.isArray()) // primitive, string, class, enum const, // or annotation return value.hashCode(); -@@ -341,14 +341,14 @@ +@@ -435,13 +435,13 @@ throw new java.io.InvalidObjectException("Non-annotation type in annotation serial stream"); } - Map<String, Class> memberTypes = annotationType.memberTypes(); + Map<String, Class<?>> memberTypes = annotationType.memberTypes(); - // If there are annotation members without values, that // situation is handled by the invoke method. for (Map.Entry<String, Object> memberValue : memberValues.entrySet()) { @@ -1161,9 +1067,9 @@ if (memberType != null) { // i.e. member still exists Object value = memberValue.getValue(); if (!(memberType.isInstance(value) || -diff -r d1f592073a0e src/share/classes/sun/reflect/annotation/AnnotationParser.java ---- openjdk/jdk/src/share/classes/sun/reflect/annotation/AnnotationParser.java Fri Sep 12 22:39:32 2014 +0100 -+++ openjdk/jdk/src/share/classes/sun/reflect/annotation/AnnotationParser.java Thu Oct 02 20:18:56 2014 +0100 +diff -Nru openjdk.orig/jdk/src/share/classes/sun/reflect/annotation/AnnotationParser.java openjdk/jdk/src/share/classes/sun/reflect/annotation/AnnotationParser.java +--- openjdk.orig/jdk/src/share/classes/sun/reflect/annotation/AnnotationParser.java 2013-08-21 20:33:02.380301529 +0100 ++++ openjdk/jdk/src/share/classes/sun/reflect/annotation/AnnotationParser.java 2014-10-23 21:49:38.076708685 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved. @@ -1205,10 +1111,8 @@ + * @param selectAnnotationClasses an array of annotation types to select when parsing + */ + static Map<Class<? extends Annotation>, Annotation> parseSelectAnnotations( - byte[] rawAnnotations, - ConstantPool constPool, -- Class container) { -- Map<Class, Annotation> result = new LinkedHashMap<Class, Annotation>(); ++ byte[] rawAnnotations, ++ ConstantPool constPool, + Class<?> container, + Class<? extends Annotation> ... selectAnnotationClasses) { + if (rawAnnotations == null) @@ -1225,8 +1129,10 @@ + } + + private static Map<Class<? extends Annotation>, Annotation> parseAnnotations2( -+ byte[] rawAnnotations, -+ ConstantPool constPool, + byte[] rawAnnotations, + ConstantPool constPool, +- Class container) { +- Map<Class, Annotation> result = new LinkedHashMap<Class, Annotation>(); + Class<?> container, + Class<? extends Annotation>[] selectAnnotationClasses) { + Map<Class<? extends Annotation>, Annotation> result = @@ -1478,9 +1384,9 @@ + } + } -diff -r d1f592073a0e src/share/classes/sun/reflect/annotation/AnnotationType.java ---- openjdk/jdk/src/share/classes/sun/reflect/annotation/AnnotationType.java Fri Sep 12 22:39:32 2014 +0100 -+++ openjdk/jdk/src/share/classes/sun/reflect/annotation/AnnotationType.java Thu Oct 02 20:18:56 2014 +0100 +diff -Nru openjdk.orig/jdk/src/share/classes/sun/reflect/annotation/AnnotationType.java openjdk/jdk/src/share/classes/sun/reflect/annotation/AnnotationType.java +--- openjdk.orig/jdk/src/share/classes/sun/reflect/annotation/AnnotationType.java 2013-08-21 20:33:02.380301529 +0100 ++++ openjdk/jdk/src/share/classes/sun/reflect/annotation/AnnotationType.java 2014-10-23 21:49:38.076708685 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved. @@ -1655,9 +1561,105 @@ + " Inherited: " + inherited; } } -diff -r d1f592073a0e test/java/lang/annotation/AnnotationType/AnnotationTypeDeadlockTest.java ---- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ openjdk/jdk/test/java/lang/annotation/AnnotationType/AnnotationTypeDeadlockTest.java Thu Oct 02 20:18:56 2014 +0100 +diff -Nru openjdk.orig/jdk/src/share/classes/sun/reflect/ReflectionFactory.java openjdk/jdk/src/share/classes/sun/reflect/ReflectionFactory.java +--- openjdk.orig/jdk/src/share/classes/sun/reflect/ReflectionFactory.java 2013-08-21 20:33:02.284299976 +0100 ++++ openjdk/jdk/src/share/classes/sun/reflect/ReflectionFactory.java 2014-10-23 21:49:38.072708619 +0100 +@@ -84,8 +84,8 @@ + * <code>AccessController.doPrivileged</code>. + */ + public static final class GetReflectionFactoryAction +- implements PrivilegedAction { +- public Object run() { ++ implements PrivilegedAction<ReflectionFactory> { ++ public ReflectionFactory run() { + return getReflectionFactory(); + } + } +@@ -164,7 +164,7 @@ + public ConstructorAccessor newConstructorAccessor(Constructor c) { + checkInitted(); + +- Class declaringClass = c.getDeclaringClass(); ++ Class<?> declaringClass = c.getDeclaringClass(); + if (Modifier.isAbstract(declaringClass.getModifiers())) { + return new InstantiationExceptionConstructorAccessorImpl(null); + } +@@ -203,10 +203,10 @@ + // + + /** Creates a new java.lang.reflect.Field. Access checks as per +- java.lang.reflect.AccessibleObject are not overridden. */ +- public Field newField(Class declaringClass, ++ java.lang.reflect.AccessibleObject are not overridden. */ ++ public Field newField(Class<?> declaringClass, + String name, +- Class type, ++ Class<?> type, + int modifiers, + int slot, + String signature, +@@ -223,11 +223,11 @@ + + /** Creates a new java.lang.reflect.Method. Access checks as per + java.lang.reflect.AccessibleObject are not overridden. */ +- public Method newMethod(Class declaringClass, ++ public Method newMethod(Class<?> declaringClass, + String name, +- Class[] parameterTypes, +- Class returnType, +- Class[] checkedExceptions, ++ Class<?>[] parameterTypes, ++ Class<?> returnType, ++ Class<?>[] checkedExceptions, + int modifiers, + int slot, + String signature, +@@ -250,9 +250,9 @@ + + /** Creates a new java.lang.reflect.Constructor. Access checks as + per java.lang.reflect.AccessibleObject are not overridden. */ +- public Constructor newConstructor(Class declaringClass, +- Class[] parameterTypes, +- Class[] checkedExceptions, ++ public Constructor newConstructor(Class<?> declaringClass, ++ Class<?>[] parameterTypes, ++ Class<?>[] checkedExceptions, + int modifiers, + int slot, + String signature, +@@ -310,7 +310,7 @@ + /** Makes a copy of the passed constructor. The returned + constructor is a "child" of the passed one; see the comments + in Constructor.java for details. */ +- public Constructor copyConstructor(Constructor arg) { ++ public <T> Constructor<T> copyConstructor(Constructor<T> arg) { + return langReflectAccess().copyConstructor(arg); + } + +@@ -321,7 +321,7 @@ + // + + public Constructor newConstructorForSerialization +- (Class classToInstantiate, Constructor constructorToCall) ++ (Class<?> classToInstantiate, Constructor constructorToCall) + { + // Fast path + if (constructorToCall.getDeclaringClass() == classToInstantiate) { +@@ -366,8 +366,9 @@ + run, before the system properties are set up. */ + private static void checkInitted() { + if (initted) return; +- AccessController.doPrivileged(new PrivilegedAction() { +- public Object run() { ++ AccessController.doPrivileged( ++ new PrivilegedAction<Void>() { ++ public Void run() { + // Tests to ensure the system properties table is fully + // initialized. This is needed because reflection code is + // called very early in the initialization process (before +diff -Nru openjdk.orig/jdk/test/java/lang/annotation/AnnotationType/AnnotationTypeDeadlockTest.java openjdk/jdk/test/java/lang/annotation/AnnotationType/AnnotationTypeDeadlockTest.java +--- openjdk.orig/jdk/test/java/lang/annotation/AnnotationType/AnnotationTypeDeadlockTest.java 1970-01-01 01:00:00.000000000 +0100 ++++ openjdk/jdk/test/java/lang/annotation/AnnotationType/AnnotationTypeDeadlockTest.java 2014-10-23 21:49:38.076708685 +0100 @@ -0,0 +1,101 @@ +/* + * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. @@ -1760,9 +1762,9 @@ + } + } +} -diff -r d1f592073a0e test/java/lang/annotation/AnnotationType/AnnotationTypeRuntimeAssumptionTest.java ---- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ openjdk/jdk/test/java/lang/annotation/AnnotationType/AnnotationTypeRuntimeAssumptionTest.java Thu Oct 02 20:18:56 2014 +0100 +diff -Nru openjdk.orig/jdk/test/java/lang/annotation/AnnotationType/AnnotationTypeRuntimeAssumptionTest.java openjdk/jdk/test/java/lang/annotation/AnnotationType/AnnotationTypeRuntimeAssumptionTest.java +--- openjdk.orig/jdk/test/java/lang/annotation/AnnotationType/AnnotationTypeRuntimeAssumptionTest.java 1970-01-01 01:00:00.000000000 +0100 ++++ openjdk/jdk/test/java/lang/annotation/AnnotationType/AnnotationTypeRuntimeAssumptionTest.java 2014-10-23 21:49:38.076708685 +0100 @@ -0,0 +1,187 @@ +/* + * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
--- a/patches/openjdk/7183251-netbeans_renders_text_wrong.patch Wed Oct 08 17:18:58 2014 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,24 +0,0 @@ -# HG changeset patch -# User prr -# Date 1342804653 25200 -# Fri Jul 20 10:17:33 2012 -0700 -# Node ID 84d5cdbe7bce2caf907ec842ac7b4fa2097fb295 -# Parent bf5bf37108c14d1d01b8a1043f9e3ff0e3727869 -7183251: Netbeans editor renders text wrong on JDK 7u6 build -Reviewed-by: igor, jgodinez - -diff -r bf5bf37108c1 -r 84d5cdbe7bce src/share/classes/sun/font/SunLayoutEngine.java ---- openjdk/jdk/src/share/classes/sun/font/SunLayoutEngine.java Fri Jul 20 13:58:52 2012 +0400 -+++ openjdk/jdk/src/share/classes/sun/font/SunLayoutEngine.java Fri Jul 20 10:17:33 2012 -0700 -@@ -137,8 +137,9 @@ - - LayoutEngine e = (LayoutEngine)cache.get(key); - if (e == null) { -- e = new SunLayoutEngine(key.copy()); -- cache.put(key, e); -+ LayoutEngineKey copy = key.copy(); -+ e = new SunLayoutEngine(copy); -+ cache.put(copy, e); - } - return e; - }
--- a/patches/openjdk/oj639-handle_fonts_with_no_canon_flag_set.patch Wed Oct 08 17:18:58 2014 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,347 +0,0 @@ -diff -r 1492971e2155 src/share/native/sun/font/layout/LETypes.h ---- openjdk/jdk/src/share/native/sun/font/layout/LETypes.h Wed Mar 20 13:39:56 2013 -0700 -+++ openjdk/jdk/src/share/native/sun/font/layout/LETypes.h Tue Jul 29 00:40:14 2014 +0100 -@@ -25,7 +25,7 @@ - - /* - * -- * (C) Copyright IBM Corp. 1998-2010 - All Rights Reserved -+ * (C) Copyright IBM Corp. 1998-2013 - All Rights Reserved - * - */ - -@@ -107,7 +107,7 @@ - */ - typedef int8_t le_int8; - #endif -- -+ - #ifndef HAVE_LE_UINT8 - /** - * A type used for unsigned, 8-bit integers. -@@ -231,38 +231,6 @@ - #define LE_CLIENT_SHIFT 24 - - --#ifndef LE_ASSERT_BAD_FONT --#define LE_ASSERT_BAD_FONT 0 --#endif -- --#if LE_ASSERT_BAD_FONT --#include <stdio.h> --#define LE_DEBUG_BAD_FONT(x) fprintf(stderr,"%s:%d: BAD FONT: %s\n", __FILE__, __LINE__, (x)); --#else --#define LE_DEBUG_BAD_FONT(x) --#endif -- --/** -- * Max value representable by a uintptr -- */ -- --#ifndef UINT32_MAX --#define LE_UINT32_MAX 0xFFFFFFFFU --#else --#define LE_UINT32_MAX UINT32_MAX --#endif -- --#ifndef UINTPTR_MAX --#define LE_UINTPTR_MAX LE_UINT32_MAX --#else --#define LE_UINTPTR_MAX UINTPTR_MAX --#endif -- --/** -- * Range check for overflow -- */ --#define LE_RANGE_CHECK(type, count, ptrfn) (( (LE_UINTPTR_MAX / sizeof(type)) < count ) ? NULL : (ptrfn)) -- - /** - * A convenience macro to get the Glyph ID part of an LEGlyphID. - * -@@ -312,20 +280,6 @@ - */ - #define LE_SET_CLIENT(gid, client) ((gid & ~LE_CLIENT_MASK) | ((client << LE_CLIENT_SHIFT) & LE_CLIENT_MASK)) - --/** -- * \def LE_TRACE -- * @internal -- */ --#ifndef LE_TRACE --# define LE_TRACE 0 --#endif -- --#if LE_TRACE --# include <stdio.h> --# define _LETRACE printf("\n%s:%d: LE: ", __FILE__, __LINE__),printf --#else --# define _LETRACE 0&& --#endif - - /** - * Used to represent 16-bit Unicode code points. -@@ -379,7 +333,54 @@ - typedef struct LEPoint LEPoint; - #endif - -+/** -+ * \def LE_TRACE -+ * @internal -+ */ -+#ifndef LE_TRACE -+# define LE_TRACE 0 -+#endif - -+#if LE_TRACE -+# include <stdio.h> -+# define _LETRACE printf("\n%s:%d: LE: ", __FILE__, __LINE__),printf -+#else -+# define _LETRACE 0&& -+#endif -+ -+#ifndef U_HIDE_INTERNAL_API -+ -+#ifndef LE_ASSERT_BAD_FONT -+#define LE_ASSERT_BAD_FONT 0 -+#endif -+ -+#if LE_ASSERT_BAD_FONT -+#include <stdio.h> -+#define LE_DEBUG_BAD_FONT(x) fprintf(stderr,"%s:%d: BAD FONT: %s\n", __FILE__, __LINE__, (x)); -+#else -+#define LE_DEBUG_BAD_FONT(x) -+#endif -+ -+/** -+ * Max value representable by a uintptr -+ */ -+ -+#ifndef UINT32_MAX -+#define LE_UINT32_MAX 0xFFFFFFFFU -+#else -+#define LE_UINT32_MAX UINT32_MAX -+#endif -+ -+#ifndef UINTPTR_MAX -+#define LE_UINTPTR_MAX LE_UINT32_MAX -+#else -+#define LE_UINTPTR_MAX UINTPTR_MAX -+#endif -+ -+/** -+ * Range check for overflow -+ */ -+#define LE_RANGE_CHECK(type, count, ptrfn) (( (LE_UINTPTR_MAX / sizeof(type)) < count ) ? NULL : (ptrfn)) - /** - * A convenience macro to get the length of an array. - * -@@ -401,7 +402,7 @@ - * - * @internal - */ --#define LE_NEW_ARRAY(type, count) (type *) uprv_malloc((count) * sizeof(type)) -+#define LE_NEW_ARRAY(type, count) (type *) LE_RANGE_CHECK(type,count,uprv_malloc((count) * sizeof(type))) - - /** - * Re-allocate an array of basic types. This is used to isolate the rest of -@@ -418,7 +419,52 @@ - * @internal - */ - #define LE_DELETE_ARRAY(array) uprv_free((void *) (array)) --#endif -+#else -+/* !LE_USE_CMEMORY - Not using ICU memory - use C std lib versions */ -+ -+#include <stdlib.h> -+#include <string.h> -+ -+/** -+ * A convenience macro to get the length of an array. -+ * -+ * @internal -+ */ -+#define LE_ARRAY_SIZE(array) (sizeof array / sizeof array[0]) -+ -+/** -+ * A convenience macro for copying an array. -+ * -+ * @internal -+ */ -+#define LE_ARRAY_COPY(dst, src, count) memcpy((void *) (dst), (void *) (src), (count) * sizeof (src)[0]) -+ -+/** -+ * Allocate an array of basic types. This is used to isolate the rest of -+ * the LayoutEngine code from cmemory.h. -+ * -+ * @internal -+ */ -+#define LE_NEW_ARRAY(type, count) LE_RANGE_CHECK(type,count,(type *) malloc((count) * sizeof(type))) -+ -+/** -+ * Re-allocate an array of basic types. This is used to isolate the rest of -+ * the LayoutEngine code from cmemory.h. -+ * -+ * @internal -+ */ -+#define LE_GROW_ARRAY(array, newSize) realloc((void *) (array), (newSize) * sizeof (array)[0]) -+ -+ /** -+ * Free an array of basic types. This is used to isolate the rest of -+ * the LayoutEngine code from cmemory.h. -+ * -+ * @internal -+ */ -+#define LE_DELETE_ARRAY(array) free((void *) (array)) -+ -+#endif /* LE_USE_CMEMORY */ -+#endif /* U_HIDE_INTERNAL_API */ - - /** - * A macro to construct the four-letter tags used to -@@ -581,7 +627,7 @@ - LE_RAND_FEATURE_TAG = 0x72616E64UL, /**< 'rand' */ - LE_RLIG_FEATURE_TAG = 0x726C6967UL, /**< 'rlig' */ - LE_RPHF_FEATURE_TAG = 0x72706866UL, /**< 'rphf' */ -- LE_RKRF_FEATURE_TAG = 0x726B7266UL, /**< 'rkrf' */ -+ LE_RKRF_FEATURE_TAG = 0x726B7266UL, /**< 'rkrf' */ - LE_RTBD_FEATURE_TAG = 0x72746264UL, /**< 'rtbd' */ - LE_RTLA_FEATURE_TAG = 0x72746C61UL, /**< 'rtla' */ - LE_RUBY_FEATURE_TAG = 0x72756279UL, /**< 'ruby' */ -@@ -633,6 +679,77 @@ - }; - - /** -+ * @internal -+ */ -+enum LEFeatureENUMs { -+ LE_Kerning_FEATURE_ENUM = 0, /**< Requests Kerning. Formerly LayoutEngine::kTypoFlagKern */ -+ LE_Ligatures_FEATURE_ENUM = 1, /**< Requests Ligatures. Formerly LayoutEngine::kTypoFlagLiga */ -+ LE_NoCanon_FEATURE_ENUM = 2, /**< Requests No Canonical Processing */ -+ LE_CLIG_FEATURE_ENUM, /**< Feature specific enum */ -+ LE_DLIG_FEATURE_ENUM, /**< Feature specific enum */ -+ LE_HLIG_FEATURE_ENUM, /**< Feature specific enum */ -+ LE_LIGA_FEATURE_ENUM, /**< Feature specific enum */ -+ LE_RLIG_FEATURE_ENUM, /**< Feature specific enum */ -+ LE_SMCP_FEATURE_ENUM, /**< Feature specific enum */ -+ LE_FRAC_FEATURE_ENUM, /**< Feature specific enum */ -+ LE_AFRC_FEATURE_ENUM, /**< Feature specific enum */ -+ LE_ZERO_FEATURE_ENUM, /**< Feature specific enum */ -+ LE_SWSH_FEATURE_ENUM, /**< Feature specific enum */ -+ LE_CSWH_FEATURE_ENUM, /**< Feature specific enum */ -+ LE_SALT_FEATURE_ENUM, /**< Feature specific enum */ -+ LE_NALT_FEATURE_ENUM, /**< Feature specific enum */ -+ LE_RUBY_FEATURE_ENUM, /**< Feature specific enum */ -+ LE_SS01_FEATURE_ENUM, /**< Feature specific enum */ -+ LE_SS02_FEATURE_ENUM, /**< Feature specific enum */ -+ LE_SS03_FEATURE_ENUM, /**< Feature specific enum */ -+ LE_SS04_FEATURE_ENUM, /**< Feature specific enum */ -+ LE_SS05_FEATURE_ENUM, /**< Feature specific enum */ -+ LE_SS06_FEATURE_ENUM, /**< Feature specific enum */ -+ LE_SS07_FEATURE_ENUM, /**< Feature specific enum */ -+ -+ LE_CHAR_FILTER_FEATURE_ENUM = 31, /**< Apply CharSubstitutionFilter */ -+ LE_FEATURE_ENUM_MAX = LE_CHAR_FILTER_FEATURE_ENUM -+}; -+ -+ -+/** -+ * Flags for typographic features. -+ * @internal -+ * @{ -+ */ -+#define LE_Kerning_FEATURE_FLAG (1 << LE_Kerning_FEATURE_ENUM) -+#define LE_Ligatures_FEATURE_FLAG (1 << LE_Ligatures_FEATURE_ENUM) -+#define LE_NoCanon_FEATURE_FLAG (1 << LE_NoCanon_FEATURE_ENUM) -+#define LE_CLIG_FEATURE_FLAG (1 << LE_CLIG_FEATURE_ENUM) -+#define LE_DLIG_FEATURE_FLAG (1 << LE_DLIG_FEATURE_ENUM) -+#define LE_HLIG_FEATURE_FLAG (1 << LE_HLIG_FEATURE_ENUM) -+#define LE_LIGA_FEATURE_FLAG (1 << LE_LIGA_FEATURE_ENUM) -+#define LE_RLIG_FEATURE_FLAG (1 << LE_RLIG_FEATURE_ENUM) -+#define LE_SMCP_FEATURE_FLAG (1 << LE_SMCP_FEATURE_ENUM) -+#define LE_FRAC_FEATURE_FLAG (1 << LE_FRAC_FEATURE_ENUM) -+#define LE_AFRC_FEATURE_FLAG (1 << LE_AFRC_FEATURE_ENUM) -+#define LE_ZERO_FEATURE_FLAG (1 << LE_ZERO_FEATURE_ENUM) -+#define LE_SWSH_FEATURE_FLAG (1 << LE_SWSH_FEATURE_ENUM) -+#define LE_CSWH_FEATURE_FLAG (1 << LE_CSWH_FEATURE_ENUM) -+#define LE_SALT_FEATURE_FLAG (1 << LE_SALT_FEATURE_ENUM) -+#define LE_NALT_FEATURE_FLAG (1 << LE_NALT_FEATURE_ENUM) -+#define LE_RUBY_FEATURE_FLAG (1 << LE_RUBY_FEATURE_ENUM) -+#define LE_SS01_FEATURE_FLAG (1 << LE_SS01_FEATURE_ENUM) -+#define LE_SS02_FEATURE_FLAG (1 << LE_SS02_FEATURE_ENUM) -+#define LE_SS03_FEATURE_FLAG (1 << LE_SS03_FEATURE_ENUM) -+#define LE_SS04_FEATURE_FLAG (1 << LE_SS04_FEATURE_ENUM) -+#define LE_SS05_FEATURE_FLAG (1 << LE_SS05_FEATURE_ENUM) -+#define LE_SS06_FEATURE_FLAG (1 << LE_SS06_FEATURE_ENUM) -+#define LE_SS07_FEATURE_FLAG (1 << LE_SS07_FEATURE_ENUM) -+ -+#define LE_CHAR_FILTER_FEATURE_FLAG (1 << LE_CHAR_FILTER_FEATURE_ENUM) -+/** -+ * @} -+ */ -+ -+#define LE_DEFAULT_FEATURE_FLAG (LE_Kerning_FEATURE_FLAG | LE_Ligatures_FEATURE_FLAG) /**< default features */ -+ -+/** - * Error codes returned by the LayoutEngine. - * - * @stable ICU 2.4 -@@ -674,30 +791,6 @@ - #define LE_SUCCESS(code) (U_SUCCESS((UErrorCode)code)) - #endif - --enum LEFeatureENUMs { -- LE_Kerning_FEATURE_ENUM = 0, -- LE_Ligatures_FEATURE_ENUM = 1, -- LE_CHAR_FILTER_FEATURE_ENUM = 31, --}; -- -- --/** -- * Flags for typographic features. -- * @internal -- * @{ -- */ --#define LE_Kerning_FEATURE_FLAG (1 << LE_Kerning_FEATURE_ENUM) --#define LE_Ligatures_FEATURE_FLAG (1 << LE_Ligatures_FEATURE_ENUM) -- --#define LE_CHAR_FILTER_FEATURE_ENUM 31 -- --#define LE_CHAR_FILTER_FEATURE_FLAG (1 << LE_CHAR_FILTER_FEATURE_ENUM) --/** -- * @} -- */ -- --#define LE_DEFAULT_FEATURE_FLAG (LE_Kerning_FEATURE_FLAG | LE_Ligatures_FEATURE_FLAG) /**< default features */ -- - /** - * A convenience macro to test for the failure of a LayoutEngine call. - * -@@ -709,5 +802,3 @@ - - U_NAMESPACE_END - #endif -- -- -diff -r 1492971e2155 src/share/native/sun/font/layout/LayoutEngine.cpp ---- openjdk/jdk/src/share/native/sun/font/layout/LayoutEngine.cpp Wed Mar 20 13:39:56 2013 -0700 -+++ openjdk/jdk/src/share/native/sun/font/layout/LayoutEngine.cpp Tue Jul 29 00:40:14 2014 +0100 -@@ -32,8 +32,8 @@ - - #include "LETypes.h" - #include "LEScripts.h" -+#include "LELanguages.h" - #include "LESwaps.h" --#include "LELanguages.h" - - #include "LayoutEngine.h" - #include "ArabicLayoutEngine.h" -@@ -252,6 +252,10 @@ - return 0; - } - -+ if ((fTypoFlags & LE_NoCanon_FEATURE_FLAG) == 0) { // no canonical processing -+ return count; -+ } -+ - LEReferenceTo<GlyphSubstitutionTableHeader> canonGSUBTable(LETableReference::kStaticData, - (GlyphSubstitutionTableHeader *) CanonShaping::glyphSubstitutionTable, - CanonShaping::glyphSubstitutionTableLen);
--- a/patches/openjdk/p11cipher-6812738-native_cleanup.patch Wed Oct 08 17:18:58 2014 +0100 +++ b/patches/openjdk/p11cipher-6812738-native_cleanup.patch Thu Oct 23 22:35:31 2014 +0100 @@ -1,7 +1,7 @@ diff -Nru openjdk.orig/jdk/src/share/classes/sun/security/pkcs11/P11RSACipher.java openjdk/jdk/src/share/classes/sun/security/pkcs11/P11RSACipher.java ---- openjdk.orig/jdk/src/share/classes/sun/security/pkcs11/P11RSACipher.java 2014-01-17 20:29:33.778742684 +0000 -+++ openjdk/jdk/src/share/classes/sun/security/pkcs11/P11RSACipher.java 2014-01-17 20:42:39.286333640 +0000 -@@ -190,7 +190,9 @@ +--- openjdk.orig/jdk/src/share/classes/sun/security/pkcs11/P11RSACipher.java 2014-10-14 22:40:53.711702677 +0100 ++++ openjdk/jdk/src/share/classes/sun/security/pkcs11/P11RSACipher.java 2014-10-20 15:21:02.366669004 +0100 +@@ -202,7 +202,9 @@ throw new InvalidKeyException ("Unwrap has to be used with private keys"); } @@ -12,17 +12,9 @@ } else { throw new InvalidKeyException("Unsupported mode: " + opmode); } -@@ -418,6 +420,7 @@ - protected Key engineUnwrap(byte[] wrappedKey, String algorithm, - int type) throws InvalidKeyException, NoSuchAlgorithmException { - // XXX implement unwrap using C_Unwrap() for all keys -+ implInit(Cipher.DECRYPT_MODE, p11Key); - if (wrappedKey.length > maxInputSize) { - throw new InvalidKeyException("Key is too long for unwrapping"); - } diff -Nru openjdk.orig/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_convert.c openjdk/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_convert.c --- openjdk.orig/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_convert.c 2013-08-21 20:32:58.600240346 +0100 -+++ openjdk/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_convert.c 2014-01-17 20:41:19.141150649 +0000 ++++ openjdk/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_convert.c 2014-10-20 15:21:02.366669004 +0100 @@ -89,21 +89,24 @@ /* load CK_DATE class */ @@ -1550,7 +1542,7 @@ } diff -Nru openjdk.orig/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_crypt.c openjdk/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_crypt.c --- openjdk.orig/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_crypt.c 2013-08-21 20:32:58.600240346 +0100 -+++ openjdk/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_crypt.c 2014-01-17 20:41:19.141150649 +0000 ++++ openjdk/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_crypt.c 2014-10-20 15:21:02.366669004 +0100 @@ -81,6 +81,7 @@ ckSessionHandle = jLongToCKULong(jSessionHandle); ckKeyHandle = jLongToCKULong(jKeyHandle); @@ -1695,7 +1687,7 @@ } diff -Nru openjdk.orig/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_digest.c openjdk/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_digest.c --- openjdk.orig/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_digest.c 2013-08-21 20:32:58.600240346 +0100 -+++ openjdk/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_digest.c 2014-01-17 20:41:19.141150649 +0000 ++++ openjdk/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_digest.c 2014-10-20 15:21:02.366669004 +0100 @@ -75,6 +75,7 @@ ckSessionHandle = jLongToCKULong(jSessionHandle); @@ -1850,7 +1842,7 @@ #endif diff -Nru openjdk.orig/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_dual.c openjdk/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_dual.c --- openjdk.orig/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_dual.c 2013-08-21 20:32:58.600240346 +0100 -+++ openjdk/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_dual.c 2014-01-17 20:41:19.145150708 +0000 ++++ openjdk/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_dual.c 2014-10-20 15:21:02.366669004 +0100 @@ -73,7 +73,7 @@ CK_SESSION_HANDLE ckSessionHandle; CK_BYTE_PTR ckpPart = NULL_PTR, ckpEncryptedPart; @@ -2042,7 +2034,7 @@ #endif diff -Nru openjdk.orig/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_general.c openjdk/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_general.c --- openjdk.orig/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_general.c 2013-08-21 20:32:58.600240346 +0100 -+++ openjdk/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_general.c 2014-01-17 20:41:19.145150708 +0000 ++++ openjdk/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_general.c 2014-10-20 15:21:02.366669004 +0100 @@ -102,6 +102,7 @@ jclass fetchClass(JNIEnv *env, const char *name) { @@ -2399,7 +2391,7 @@ ckpNewPin, ckNewPinLength); diff -Nru openjdk.orig/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_keymgmt.c openjdk/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_keymgmt.c --- openjdk.orig/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_keymgmt.c 2013-08-21 20:32:58.600240346 +0100 -+++ openjdk/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_keymgmt.c 2014-01-17 20:41:19.145150708 +0000 ++++ openjdk/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_keymgmt.c 2014-10-20 15:21:02.366669004 +0100 @@ -74,7 +74,7 @@ CK_ATTRIBUTE_PTR ckpAttributes = NULL_PTR; CK_ULONG ckAttributesLength; @@ -2952,7 +2944,7 @@ } diff -Nru openjdk.orig/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_mutex.c openjdk/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_mutex.c --- openjdk.orig/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_mutex.c 2013-08-21 20:32:58.600240346 +0100 -+++ openjdk/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_mutex.c 2014-01-17 20:41:19.145150708 +0000 ++++ openjdk/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_mutex.c 2014-10-20 15:21:02.366669004 +0100 @@ -76,7 +76,7 @@ CK_C_INITIALIZE_ARGS_PTR makeCKInitArgsAdapter(JNIEnv *env, jobject jInitArgs) { @@ -3203,7 +3195,7 @@ } diff -Nru openjdk.orig/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_objmgmt.c openjdk/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_objmgmt.c --- openjdk.orig/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_objmgmt.c 2013-08-21 20:32:58.600240346 +0100 -+++ openjdk/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_objmgmt.c 2014-01-17 20:41:19.145150708 +0000 ++++ openjdk/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_objmgmt.c 2014-10-20 15:21:02.370669058 +0100 @@ -81,16 +81,14 @@ ckSessionHandle = jLongToCKULong(jSessionHandle); @@ -3401,7 +3393,7 @@ #endif diff -Nru openjdk.orig/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_sessmgmt.c openjdk/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_sessmgmt.c --- openjdk.orig/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_sessmgmt.c 2013-08-21 20:32:58.600240346 +0100 -+++ openjdk/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_sessmgmt.c 2014-01-17 20:41:19.145150708 +0000 ++++ openjdk/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_sessmgmt.c 2014-10-20 15:21:02.370669058 +0100 @@ -97,6 +97,10 @@ #ifndef NO_CALLBACKS if (jNotify != NULL) { @@ -3589,7 +3581,7 @@ } diff -Nru openjdk.orig/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_sign.c openjdk/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_sign.c --- openjdk.orig/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_sign.c 2013-08-21 20:32:58.600240346 +0100 -+++ openjdk/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_sign.c 2014-01-17 20:41:19.145150708 +0000 ++++ openjdk/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_sign.c 2014-10-20 15:21:02.370669058 +0100 @@ -77,15 +77,16 @@ ckSessionHandle = jLongToCKULong(jSessionHandle); @@ -3954,7 +3946,7 @@ #endif diff -Nru openjdk.orig/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_util.c openjdk/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_util.c --- openjdk.orig/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_util.c 2013-08-21 20:32:58.604240411 +0100 -+++ openjdk/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_util.c 2014-01-17 20:41:19.145150708 +0000 ++++ openjdk/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_util.c 2014-10-20 15:21:02.370669058 +0100 @@ -73,11 +73,11 @@ jmethodID jConstructor; @@ -4795,7 +4787,7 @@ + diff -Nru openjdk.orig/jdk/src/share/native/sun/security/pkcs11/wrapper/pkcs11wrapper.h openjdk/jdk/src/share/native/sun/security/pkcs11/wrapper/pkcs11wrapper.h --- openjdk.orig/jdk/src/share/native/sun/security/pkcs11/wrapper/pkcs11wrapper.h 2013-08-21 20:32:58.604240411 +0100 -+++ openjdk/jdk/src/share/native/sun/security/pkcs11/wrapper/pkcs11wrapper.h 2014-01-17 20:41:19.145150708 +0000 ++++ openjdk/jdk/src/share/native/sun/security/pkcs11/wrapper/pkcs11wrapper.h 2014-10-20 15:21:02.370669058 +0100 @@ -154,6 +154,7 @@ #include "pkcs11.h"