/hg/release/icedtea7-forest-2.3/jdk: 3 new changesets
andrew at icedtea.classpath.org
andrew at icedtea.classpath.org
Mon Jan 14 15:26:55 PST 2013
changeset 3e82baeb1b08 in /hg/release/icedtea7-forest-2.3/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk?cmd=changeset;node=3e82baeb1b08
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 363064d27367 in /hg/release/icedtea7-forest-2.3/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk?cmd=changeset;node=363064d27367
author: jrose
date: Fri Jan 11 17:53:41 2013 -0800
8006125: Update MethodHandles library interactions
Reviewed-by: mchung, jdn, ahgross
changeset 96d4f04f2b7c in /hg/release/icedtea7-forest-2.3/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk?cmd=changeset;node=96d4f04f2b7c
author: andrew
date: Mon Jan 14 22:25:02 2013 +0000
Added tag icedtea-2.3.4 for changeset 363064d27367
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 5ec94d162f05 -r 96d4f04f2b7c .hgtags
--- a/.hgtags Tue Oct 16 21:36:45 2012 +0100
+++ b/.hgtags Mon Jan 14 22:25:02 2013 +0000
@@ -218,3 +218,4 @@
0000000000000000000000000000000000000000 icedtea-2.3.2
64ec99488219da2565d3eea0a53ffb4854c87fbe icedtea-2.3.2
6d4f9b2e4a51be218c0d0a1b10cd8469d8ca3cdc icedtea-2.3.3
+363064d273675e7ba3417583ee9e4f220bd4e1c9 icedtea-2.3.4
diff -r 5ec94d162f05 -r 96d4f04f2b7c src/share/classes/java/lang/invoke/MethodHandleNatives.java
--- a/src/share/classes/java/lang/invoke/MethodHandleNatives.java Tue Oct 16 21:36:45 2012 +0100
+++ b/src/share/classes/java/lang/invoke/MethodHandleNatives.java Mon Jan 14 22:25:02 2013 +0000
@@ -418,6 +418,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 5ec94d162f05 -r 96d4f04f2b7c src/share/classes/sun/reflect/misc/MethodUtil.java
--- a/src/share/classes/sun/reflect/misc/MethodUtil.java Tue Oct 16 21:36:45 2012 +0100
+++ b/src/share/classes/sun/reflect/misc/MethodUtil.java Mon Jan 14 22:25:02 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