/hg/release/icedtea7-2.4: Update to 7u40 b31 / IcedTea 2.4.1 tag.
andrew at icedtea.classpath.org
andrew at icedtea.classpath.org
Mon Jul 1 21:35:54 PDT 2013
changeset 27b37759ec5f in /hg/release/icedtea7-2.4
details: http://icedtea.classpath.org/hg/release/icedtea7-2.4?cmd=changeset;node=27b37759ec5f
author: Andrew John Hughes <gnu_andrew at member.fsf.org>
date: Tue Jul 02 05:35:39 2013 +0100
Update to 7u40 b31 / IcedTea 2.4.1 tag.
2013-07-01 Andrew John Hughes <gnu.andrew at member.fsf.org>
* Makefile.am:
(OPENJDK_VERSION): Bump to b31.
(CORBA_CHANGESET): Update to IcedTea 2.4.1 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.
* hotspot.map: Update default to IcedTea 2.4.1 tag.
* patches/boot/ecj-diamond.patch,
* patches/boot/ecj-multicatch.patch:
Add new cases.
* patches/boot/ecj-stringswitch.patch:
Update MethodHandleNatives patch, including
adding new case.
* patches/boot/tobin.patch:
Update following move from sun.awt.X11
to sun.awt.
* patches/rhino.patch,
* patches/systemtap_gc.patch:
Regenerated.
diffstat:
ChangeLog | 30 +++
Makefile.am | 26 +-
hotspot.map | 2 +-
patches/boot/ecj-diamond.patch | 60 ++++++
patches/boot/ecj-multicatch.patch | 51 +++++
patches/boot/ecj-stringswitch.patch | 345 ++++++++++++++++++++---------------
patches/boot/tobin.patch | 38 ++-
patches/rhino.patch | 54 ++--
patches/systemtap_gc.patch | 54 ++--
9 files changed, 423 insertions(+), 237 deletions(-)
diffs (truncated from 1025 to 500 lines):
diff -r 861abb252466 -r 27b37759ec5f ChangeLog
--- a/ChangeLog Tue Jun 11 11:09:13 2013 +0100
+++ b/ChangeLog Tue Jul 02 05:35:39 2013 +0100
@@ -1,3 +1,33 @@
+2013-07-01 Andrew John Hughes <gnu.andrew at member.fsf.org>
+
+ * Makefile.am:
+ (OPENJDK_VERSION): Bump to b31.
+ (CORBA_CHANGESET): Update to IcedTea 2.4.1 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.
+ * hotspot.map: Update default to IcedTea 2.4.1 tag.
+ * patches/boot/ecj-diamond.patch,
+ * patches/boot/ecj-multicatch.patch:
+ Add new cases.
+ * patches/boot/ecj-stringswitch.patch:
+ Update MethodHandleNatives patch, including
+ adding new case.
+ * patches/boot/tobin.patch:
+ Update following move from sun.awt.X11
+ to sun.awt.
+ * patches/rhino.patch,
+ * patches/systemtap_gc.patch:
+ Regenerated.
+
2013-06-11 Andrew John Hughes <gnu.andrew at member.fsf.org>
* configure.ac: Bump to 2.4.1pre.
diff -r 861abb252466 -r 27b37759ec5f Makefile.am
--- a/Makefile.am Tue Jun 11 11:09:13 2013 +0100
+++ b/Makefile.am Tue Jul 02 05:35:39 2013 +0100
@@ -1,22 +1,22 @@
# Dependencies
-OPENJDK_VERSION = b20
+OPENJDK_VERSION = b31
JDK_UPDATE_VERSION = 40
COMBINED_VERSION = $(JDK_UPDATE_VERSION)-$(OPENJDK_VERSION)
-CORBA_CHANGESET = 71d5ec2f3dfb
-JAXP_CHANGESET = 5eaf3bca7f68
-JAXWS_CHANGESET = 9d2007a13c02
-JDK_CHANGESET = 29ce11184945
-LANGTOOLS_CHANGESET = ffb1b6bc4750
-OPENJDK_CHANGESET = 9c74cb4a3ae8
+CORBA_CHANGESET = 23ae4e0e0cce
+JAXP_CHANGESET = 5be6b670d08b
+JAXWS_CHANGESET = c0e48fdfb695
+JDK_CHANGESET = 65d95818d79e
+LANGTOOLS_CHANGESET = 91c95fd8eea8
+OPENJDK_CHANGESET = ae86c6974e8e
-CORBA_SHA256SUM = 0191c678935dac77c0ad085bedb59e6bcc93e0712c3a4ef2b7171562e129807c
-JAXP_SHA256SUM = 25bb13db8a426c2d84e13eed0d598c88c447af41de3f678a70680897c38083fd
-JAXWS_SHA256SUM = 4cff8300b4c23e9327607f7c09295a99ef7d1032d8397429c7879ba489d14456
-JDK_SHA256SUM = 13024c623bb37c4d44cb3b724876d7827924868fb8f94428faa87ddb11492352
-LANGTOOLS_SHA256SUM = 80cbe75f7c268e97619e8007f8d29ecbbb7584062c1286c8b470f875526028f3
-OPENJDK_SHA256SUM = 4adfde4b056ea8f35b639156c7cad8bac140ba7957ea8ce49b440089babc6579
+CORBA_SHA256SUM = 618bb237f262a4a703edb88bd873fd80fe33d7fb07b8a113bfc701227b748395
+JAXP_SHA256SUM = df2d15089890a7565b0dd89f867d7b2931839652d29029d63f8201358b0ecd34
+JAXWS_SHA256SUM = 972de06b968a6da85b1d9216c5617325135fc63c90ffb5e1d7721dce5843b037
+JDK_SHA256SUM = 97edcd78d316f33a43278c5549cb58a06f67305b63ad51b7c1a1fca7c45c6432
+LANGTOOLS_SHA256SUM = 6ff5cdcca8184526a5928bb8ff0bcc38b897d463559cc9f2b10e439931a8f561
+OPENJDK_SHA256SUM = f9f2925af3eac91ec4b0389b5316f840239558048569db2193b9e2ae34ffe32a
CACAO_VERSION = e215e36be9fc
CACAO_SHA256SUM = 4966514c72ee7ed108b882d9b6e65c3adf8a8f9c2dccb029f971b3c8cb4870ab
diff -r 861abb252466 -r 27b37759ec5f hotspot.map
--- a/hotspot.map Tue Jun 11 11:09:13 2013 +0100
+++ b/hotspot.map Tue Jul 02 05:35:39 2013 +0100
@@ -1,2 +1,2 @@
# version url changeset sha256sum
-default http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot c67fd7874b1a 34e60aba6db2f7a5cac7861058db283bd1edcdd9194a5490114cf76edd71696d
+default http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot 5f53e7717116 f2cfd6da6ff85dff4e6f5d40e21bc48cf15325bcd69d6c36e8f27e1fca74bd42
diff -r 861abb252466 -r 27b37759ec5f patches/boot/ecj-diamond.patch
--- a/patches/boot/ecj-diamond.patch Tue Jun 11 11:09:13 2013 +0100
+++ b/patches/boot/ecj-diamond.patch Tue Jul 02 05:35:39 2013 +0100
@@ -6997,3 +6997,63 @@
List<Thread> threads = new ArrayList<Thread>();
for (int i = 0; i < threadCount; i++) {
RandomCollector r = new RandomCollector();
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectStreamClass.java openjdk-boot/jdk/src/share/classes/java/io/ObjectStreamClass.java
+--- openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectStreamClass.java 2013-06-27 16:06:42.289384018 +0100
++++ openjdk-boot/jdk/src/share/classes/java/io/ObjectStreamClass.java 2013-06-27 16:07:06.489768521 +0100
+@@ -1164,7 +1164,7 @@
+ end = end.getSuperclass();
+ }
+
+- HashSet<String> oscNames = new HashSet<>(3);
++ HashSet<String> oscNames = new HashSet<String>(3);
+
+ for (ObjectStreamClass d = this; d != null; d = d.superDesc) {
+ if (oscNames.contains(d.name)) {
+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 2013-06-27 16:06:53.297558922 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/font/CreatedFontTracker.java 2013-06-27 16:07:32.294178507 +0100
+@@ -106,7 +106,7 @@
+ * Note that this only applies to createFont() from an InputStream object.
+ */
+ private static class TempFileDeletionHook {
+- private static HashMap<File, OutputStream> files = new HashMap<>();
++ private static HashMap<File, OutputStream> files = new HashMap<File, OutputStream>();
+
+ private static Thread t = null;
+ static void init() {
+diff --git a/src/share/classes/com/sun/media/sound/AbstractLine.java b/src/share/classes/com/sun/media/sound/AbstractLine.java
+--- 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
+@@ -54,7 +54,7 @@
+ * Contains event dispatcher per thread group.
+ */
+ private static final Map<ThreadGroup, EventDispatcher> dispatchers =
+- new WeakHashMap<>();
++ new WeakHashMap<ThreadGroup, EventDispatcher>();
+
+ /**
+ * Constructs a new AbstractLine.
+diff --git a/src/share/classes/com/sun/media/sound/RealTimeSequencer.java b/src/share/classes/com/sun/media/sound/RealTimeSequencer.java
+--- 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
+@@ -59,7 +59,7 @@
+ * dispatcher instance with a factory in EventDispatcher
+ */
+ private static final Map<ThreadGroup, EventDispatcher> dispatchers =
+- new WeakHashMap<>();
++ new WeakHashMap<ThreadGroup, EventDispatcher>();
+
+ /**
+ * All RealTimeSequencers share this info object.
+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 2013-06-27 20:05:19.200970932 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/SctpNet.java 2013-06-27 20:05:33.857203747 +0100
+@@ -113,7 +113,7 @@
+ SocketAddress[] saa)
+ {
+ SecurityManager sm = System.getSecurityManager();
+- Set<SocketAddress> set = new HashSet<>(saa.length);
++ Set<SocketAddress> set = new HashSet<SocketAddress>(saa.length);
+ for (SocketAddress sa : saa) {
+ set.add(getRevealedLocalAddress(sa, sm));
+ }
diff -r 861abb252466 -r 27b37759ec5f patches/boot/ecj-multicatch.patch
--- a/patches/boot/ecj-multicatch.patch Tue Jun 11 11:09:13 2013 +0100
+++ b/patches/boot/ecj-multicatch.patch Tue Jul 02 05:35:39 2013 +0100
@@ -401,3 +401,54 @@
throw new InternalError(e.toString());
} catch (InvocationTargetException e) {
Throwable t = e.getCause();
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jmx/remote/internal/ArrayNotificationBuffer.java openjdk-boot/jdk/src/share/classes/com/sun/jmx/remote/internal/ArrayNotificationBuffer.java
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jmx/remote/internal/ArrayNotificationBuffer.java 2013-06-27 15:56:57.456088537 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/jmx/remote/internal/ArrayNotificationBuffer.java 2013-06-27 16:02:12.857102777 +0100
+@@ -402,7 +402,13 @@
+ try {
+ ServerNotifForwarder.checkMBeanPermission(this.mBeanServer,
+ candidate.getObjectName(),"addNotificationListener");
+- } catch (InstanceNotFoundException | SecurityException e) {
++ } catch (InstanceNotFoundException e) {
++ if (logger.debugOn()) {
++ logger.debug("fetchNotifications", "candidate: " + candidate + " skipped. exception " + e);
++ }
++ ++nextSeq;
++ continue;
++ } catch (SecurityException e) {
+ if (logger.debugOn()) {
+ logger.debug("fetchNotifications", "candidate: " + candidate + " skipped. exception " + e);
+ }
+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 2013-06-27 15:56:27.295609027 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/ProcessBuilder.java 2013-06-27 16:00:59.631938678 +0100
+@@ -1024,10 +1024,10 @@
+ dir,
+ redirects,
+ redirectErrorStream);
+- } catch (IOException | IllegalArgumentException e) {
++ } catch (IOException e) {
+ String exceptionInfo = ": " + e.getMessage();
+ Throwable cause = e;
+- if ((e instanceof IOException) && security != null) {
++ if (security != null) {
+ // Can not disclose the fail reason for read-protected files.
+ try {
+ security.checkRead(prog);
+@@ -1039,6 +1039,16 @@
+ // It's much easier for us to create a high-quality error
+ // message than the low-level C code which found the problem.
+ throw new IOException(
++ "Cannot run program \"" + prog + "\""
++ + (dir == null ? "" : " (in directory \"" + dir + "\")")
++ + exceptionInfo,
++ cause);
++ } catch (IllegalArgumentException e) {
++ String exceptionInfo = ": " + e.getMessage();
++ Throwable cause = e;
++ // It's much easier for us to create a high-quality error
++ // message than the low-level C code which found the problem.
++ throw new IOException(
+ "Cannot run program \"" + prog + "\""
+ + (dir == null ? "" : " (in directory \"" + dir + "\")")
+ + exceptionInfo,
diff -r 861abb252466 -r 27b37759ec5f patches/boot/ecj-stringswitch.patch
--- a/patches/boot/ecj-stringswitch.patch Tue Jun 11 11:09:13 2013 +0100
+++ b/patches/boot/ecj-stringswitch.patch Tue Jul 02 05:35:39 2013 +0100
@@ -1,6 +1,6 @@
diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java 2013-04-03 14:18:05.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java 2013-04-04 13:22:25.036506097 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java 2013-07-01 15:22:10.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java 2013-07-02 03:38:10.090272900 +0100
@@ -350,19 +350,16 @@
if (attrCommands != null) {
Object lkey = Attribute.keyForLookup(ctype, name);
@@ -32,8 +32,8 @@
// Find canonical instance of the requested attribute.
Attribute a = Attribute.lookup(Package.attrDefs, ctype, name);
diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java 2013-04-03 14:18:05.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java 2013-04-04 13:22:25.048506291 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java 2013-07-01 15:22:10.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java 2013-07-02 03:38:10.106273156 +0100
@@ -73,16 +73,14 @@
{
// Non-standard, undocumented "--unpack" switch enables unpack mode.
@@ -91,8 +91,8 @@
if (logFile != null && !logFile.equals("")) {
diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java 2013-04-03 14:18:05.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java 2013-04-04 13:22:25.052506355 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java 2013-07-01 15:22:10.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java 2013-07-02 03:38:10.106273156 +0100
@@ -1116,30 +1116,25 @@
// what is one of { Debug, Compile, Constant, Exceptions, InnerClasses }
if (verbose > 0)
@@ -144,8 +144,8 @@
}
diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java openjdk-boot/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java 2013-04-03 14:18:05.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java 2013-04-04 13:22:25.056506419 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java 2013-07-01 15:22:10.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java 2013-07-02 03:38:10.106273156 +0100
@@ -64,17 +64,23 @@
protected NTLM(String version) throws NTLMException {
@@ -182,9 +182,9 @@
fac = SecretKeyFactory.getInstance ("DES");
cipher = Cipher.getInstance ("DES/ECB/NoPadding");
diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java 2013-04-03 14:18:05.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java 2013-04-04 13:32:45.886517863 +0100
-@@ -327,12 +327,11 @@
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java 2013-07-01 15:22:10.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java 2013-07-02 03:42:53.718781065 +0100
+@@ -328,12 +328,11 @@
Object[] appendixResult) {
try {
if (defc == MethodHandle.class && refKind == REF_invokeVirtual) {
@@ -202,59 +202,24 @@
}
} catch (Throwable ex) {
if (ex instanceof LinkageError)
-@@ -395,111 +394,106 @@
- static boolean isCallerSensitive(MemberName mem) {
- if (!mem.isInvocable()) return false; // fields are not caller sensitive
- Class<?> defc = mem.getDeclaringClass();
-- switch (mem.getName()) {
+@@ -403,122 +402,118 @@
+ // this method is also called by test/sun/reflect/CallerSensitiveFinder
+ // to validate the hand-maintained list
+ private static boolean isCallerSensitiveMethod(Class<?> defc, String method) {
+- switch (method) {
- case "doPrivileged":
- case "doPrivilegedWithCombiner":
-+ String memName = mem.getName();
-+ if ("doPrivileged".equals(memName) ||
-+ "doPrivilegedWithCombiner".equals(memName)) {
++ if ("doPrivileged".equals(method) ||
++ "doPrivilegedWithCombiner".equals(method)) {
return defc == java.security.AccessController.class;
- case "checkMemberAccess":
-+ } else if ("checkMemberAccess".equals(memName)) {
- return canBeCalledVirtual(mem, java.lang.SecurityManager.class);
+- return defc == java.lang.SecurityManager.class;
- case "getUnsafe":
- return defc == sun.misc.Unsafe.class;
- case "lookup":
-+ } else if ("getUnsafe".equals(memName)) {
-+ return defc == sun.misc.Unsafe.class;
-+ } else if ("lookup".equals(memName)) {
- return defc == java.lang.invoke.MethodHandles.class;
-- case "findStatic":
-- case "findVirtual":
-- case "findConstructor":
-- case "findSpecial":
-- case "findGetter":
-- case "findSetter":
-- case "findStaticGetter":
-- case "findStaticSetter":
-- case "bind":
-- case "unreflect":
-- case "unreflectSpecial":
-- case "unreflectConstructor":
-- case "unreflectGetter":
-- case "unreflectSetter":
-+ } else if ("findStatic".equals(memName) ||
-+ "findVirtual".equals(memName) ||
-+ "findConstructor".equals(memName) ||
-+ "findSpecial".equals(memName) ||
-+ "findGetter".equals(memName) ||
-+ "findSetter".equals(memName) ||
-+ "findStaticGetter".equals(memName) ||
-+ "findStaticSetter".equals(memName) ||
-+ "bind".equals(memName) ||
-+ "unreflect".equals(memName) ||
-+ "unreflectSpecial".equals(memName) ||
-+ "unreflectConstructor".equals(memName) ||
-+ "unreflectGetter".equals(memName) ||
-+ "unreflectSetter".equals(memName)) {
- return defc == java.lang.invoke.MethodHandles.Lookup.class;
+- return defc == java.lang.invoke.MethodHandles.class;
- case "invoke":
-+ } else if ("invoke".equals(memName)) {
- return defc == java.lang.reflect.Method.class;
+- return defc == java.lang.reflect.Method.class;
- case "get":
- case "getBoolean":
- case "getByte":
@@ -273,33 +238,17 @@
- case "setLong":
- case "setFloat":
- case "setDouble":
-+ } else if ("get".equals(memName) ||
-+ "getBoolean".equals(memName) ||
-+ "getByte".equals(memName) ||
-+ "getChar".equals(memName) ||
-+ "getShort".equals(memName) ||
-+ "getInt".equals(memName) ||
-+ "getFloat".equals(memName) ||
-+ "getDouble".equals(memName) ||
-+ "set".equals(memName) ||
-+ "setBoolean".equals(memName) ||
-+ "setByte".equals(memName) ||
-+ "setChar".equals(memName) ||
-+ "setShort".equals(memName) ||
-+ "setInt".equals(memName) ||
-+ "setLong".equals(memName) ||
-+ "setFloat".equals(memName) ||
-+ "setDouble".equals(memName)) {
- return defc == java.lang.reflect.Field.class;
+- return defc == java.lang.reflect.Field.class;
- case "newInstance":
-+ } else if ("newInstance".equals(memName)) {
- if (defc == java.lang.reflect.Constructor.class) return true;
- if (defc == java.lang.Class.class) return true;
+- if (defc == java.lang.reflect.Constructor.class) return true;
+- if (defc == java.lang.Class.class) return true;
- break;
+- case "getFields":
+- return defc == java.lang.Class.class ||
+- defc == javax.sql.rowset.serial.SerialJavaObject.class;
- case "forName":
- case "getClassLoader":
- case "getClasses":
-- case "getFields":
- case "getMethods":
- case "getConstructors":
- case "getDeclaredClasses":
@@ -312,88 +261,178 @@
- case "getDeclaredField":
- case "getDeclaredMethod":
- case "getDeclaredConstructor":
-+ } else if ("forName".equals(memName) ||
-+ "getClassLoader".equals(memName) ||
-+ "getClasses".equals(memName) ||
-+ "getFields".equals(memName) ||
-+ "getMethods".equals(memName) ||
-+ "getConstructors".equals(memName) ||
-+ "getDeclaredClasses".equals(memName) ||
-+ "getDeclaredFields".equals(memName) ||
-+ "getDeclaredMethods".equals(memName) ||
-+ "getDeclaredConstructors".equals(memName) ||
-+ "getField".equals(memName) ||
-+ "getMethod".equals(memName) ||
-+ "getConstructor".equals(memName) ||
-+ "getDeclaredField".equals(memName) ||
-+ "getDeclaredMethod".equals(memName) ||
-+ "getDeclaredConstructor".equals(memName)) {
- return defc == java.lang.Class.class;
+- case "getEnclosingClass":
+- case "getEnclosingMethod":
+- case "getEnclosingConstructor":
+- return defc == java.lang.Class.class;
- case "getConnection":
- case "getDriver":
- case "getDrivers":
- case "deregisterDriver":
-+ } else if ("getConnection".equals(memName) ||
-+ "getDriver".equals(memName) ||
-+ "getDrivers".equals(memName) ||
-+ "deregisterDriver".equals(memName)) {
- return defc == java.sql.DriverManager.class;
+- return defc == java.sql.DriverManager.class;
- case "newUpdater":
-+ } else if ("newUpdater".equals(memName)) {
- if (defc == java.util.concurrent.atomic.AtomicIntegerFieldUpdater.class) return true;
- if (defc == java.util.concurrent.atomic.AtomicLongFieldUpdater.class) return true;
- if (defc == java.util.concurrent.atomic.AtomicReferenceFieldUpdater.class) return true;
+- if (defc == java.util.concurrent.atomic.AtomicIntegerFieldUpdater.class) return true;
+- if (defc == java.util.concurrent.atomic.AtomicLongFieldUpdater.class) return true;
+- if (defc == java.util.concurrent.atomic.AtomicReferenceFieldUpdater.class) return true;
- break;
- case "getContextClassLoader":
+- return defc == java.lang.Thread.class;
+- case "getPackage":
+- case "getPackages":
+- return defc == java.lang.Package.class;
+- case "getParent":
+- case "getSystemClassLoader":
+- return defc == java.lang.ClassLoader.class;
+- case "load":
+- case "loadLibrary":
+- if (defc == java.lang.Runtime.class) return true;
+- if (defc == java.lang.System.class) return true;
+- break;
+- case "getCallerClass":
+- if (defc == sun.reflect.Reflection.class) return true;
+- if (defc == java.lang.System.class) return true;
+- break;
+- case "getCallerClassLoader":
+- return defc == java.lang.ClassLoader.class;
+- case "registerAsParallelCapable":
+- return defc == java.lang.ClassLoader.class;
+- case "getProxyClass":
+- case "newProxyInstance":
+- return defc == java.lang.reflect.Proxy.class;
+- case "asInterfaceInstance":
+- return defc == java.lang.invoke.MethodHandleProxies.class;
+- case "getBundle":
+- case "clearCache":
+- return defc == java.util.ResourceBundle.class;
+- case "getType":
+- return defc == java.io.ObjectStreamField.class;
+- case "forClass":
+- return defc == java.io.ObjectStreamClass.class;
+- case "getLogger":
+- return defc == java.util.logging.Logger.class;
+- case "getAnonymousLogger":
+- return defc == java.util.logging.Logger.class;
+- }
+- return false;
++ } else if ("checkMemberAccess".equals(method)) {
++ return defc == java.lang.SecurityManager.class;
++ } else if ("getUnsafe".equals(method)) {
++ return defc == sun.misc.Unsafe.class;
++ } else if ("lookup".equals(method)) {
++ return defc == java.lang.invoke.MethodHandles.class;
++ } else if ("invoke".equals(method)) {
++ return defc == java.lang.reflect.Method.class;
++ } else if ("get".equals(method) ||
++ "getBoolean".equals(method) ||
++ "getByte".equals(method) ||
++ "getChar".equals(method) ||
++ "getShort".equals(method) ||
++ "getInt".equals(method) ||
++ "getLong".equals(method) ||
++ "getFloat".equals(method) ||
++ "getDouble".equals(method) ||
++ "set".equals(method) ||
++ "setBoolean".equals(method) ||
++ "setByte".equals(method) ||
++ "setChar".equals(method) ||
++ "setShort".equals(method) ||
++ "setInt".equals(method) ||
++ "setLong".equals(method) ||
++ "setFloat".equals(method) ||
++ "setDouble".equals(method)) {
++ return defc == java.lang.reflect.Field.class;
++ } else if ("newInstance".equals(method)) {
++ if (defc == java.lang.reflect.Constructor.class) return true;
++ if (defc == java.lang.Class.class) return true;
++ } else if ("getFields".equals(method)) {
++ return defc == java.lang.Class.class ||
++ defc == javax.sql.rowset.serial.SerialJavaObject.class;
++ } else if ("forName".equals(method) ||
++ "getClassLoader".equals(method) ||
++ "getClasses".equals(method) ||
++ "getFields".equals(method) ||
++ "getMethods".equals(method) ||
++ "getConstructors".equals(method) ||
++ "getDeclaredClasses".equals(method) ||
++ "getDeclaredFields".equals(method) ||
More information about the distro-pkg-dev
mailing list