/hg/release/icedtea7-forest-2.1/jdk: 3 new changesets

andrew at icedtea.classpath.org andrew at icedtea.classpath.org
Mon Jan 14 15:37:44 PST 2013


changeset ad0e2177ffda in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=ad0e2177ffda
author: jrose
date: Thu Jan 10 19:22:29 2013 -0800

	8004933: Improve MethodHandle interaction with libraries
	8006017: Improve lookup resolutions
	Reviewed-by: ahgross


changeset d119038320a3 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=d119038320a3
author: jrose
date: Fri Jan 11 17:53:41 2013 -0800

	8006125: Update MethodHandles library interactions
	Reviewed-by: mchung, jdn, ahgross


changeset e7d1cb36e005 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=e7d1cb36e005
author: andrew
date: Mon Jan 14 22:22:15 2013 +0000

	Added tag icedtea-2.1.4 for changeset d119038320a3


diffstat:

 .hgtags                                                     |   1 +
 src/share/classes/java/lang/invoke/MethodHandleNatives.java |  15 +++++++++++++
 src/share/classes/sun/reflect/misc/MethodUtil.java          |   6 +++++
 3 files changed, 22 insertions(+), 0 deletions(-)

diffs (49 lines):

diff -r d7ecb57d3c61 -r e7d1cb36e005 .hgtags
--- a/.hgtags	Tue Oct 16 21:33:05 2012 +0100
+++ b/.hgtags	Mon Jan 14 22:22:15 2013 +0000
@@ -154,3 +154,4 @@
 d5ddeffc46517a17e3236f1a2c2446d432370f5e icedtea-2.1.1
 2b707a3a7d8d885d00eab5d0d43dd24d1c5a0213 icedtea-2.1.2
 8c49c024c920982eb4a99b5960f260b9210eb363 icedtea-2.1.3
+d119038320a3133018f0b968a4e0a9d93ccef76c icedtea-2.1.4
diff -r d7ecb57d3c61 -r e7d1cb36e005 src/share/classes/java/lang/invoke/MethodHandleNatives.java
--- a/src/share/classes/java/lang/invoke/MethodHandleNatives.java	Tue Oct 16 21:33:05 2012 +0100
+++ b/src/share/classes/java/lang/invoke/MethodHandleNatives.java	Mon Jan 14 22:22:15 2013 +0000
@@ -421,6 +421,21 @@
             return defc == sun.misc.Unsafe.class;
         case "lookup":
             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":
+            return defc == java.lang.invoke.MethodHandles.Lookup.class;
         case "invoke":
             return defc == java.lang.reflect.Method.class;
         case "get":
diff -r d7ecb57d3c61 -r e7d1cb36e005 src/share/classes/sun/reflect/misc/MethodUtil.java
--- a/src/share/classes/sun/reflect/misc/MethodUtil.java	Tue Oct 16 21:33:05 2012 +0100
+++ b/src/share/classes/sun/reflect/misc/MethodUtil.java	Mon Jan 14 22:22:15 2013 +0000
@@ -256,6 +256,12 @@
     public static Object invoke(Method m, Object obj, Object[] params)
         throws InvocationTargetException, IllegalAccessException {
         if (m.getDeclaringClass().equals(AccessController.class) ||
+           (m.getDeclaringClass().equals(java.lang.invoke.MethodHandles.class)
+            && m.getName().equals("lookup")) ||
+           (m.getDeclaringClass().equals(java.lang.invoke.MethodHandles.Lookup.class)
+            && (m.getName().startsWith("find") ||
+                m.getName().startsWith("bind") ||
+                m.getName().startsWith("unreflect"))) ||
             m.getDeclaringClass().equals(Method.class))
             throw new InvocationTargetException(
                 new UnsupportedOperationException("invocation not supported"));



More information about the distro-pkg-dev mailing list