Mercurial > hg > openjdk > aarch64-port > jdk
changeset 8038:9cc74675a854
8024283: 10 nashorn tests fail with similar stack trace InternalError with cause being NoClassDefFoundError
Summary: Fix pre-existing 292 bug tickled by combo of nashorn code and MethodHandleInfo changes
Reviewed-by: jrose
Contributed-by: vladimir.x.ivanov@oracle.com
author | rfield |
---|---|
date | Thu, 05 Sep 2013 14:58:49 -0700 |
parents | 4c711ef41bfa |
children | f2487bb0c0d2 |
files | src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java |
diffstat | 1 files changed, 6 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java Thu Sep 05 10:14:53 2013 -0700 +++ b/src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java Thu Sep 05 14:58:49 2013 -0700 @@ -612,6 +612,12 @@ return false; // inner class of some sort if (cls.getClassLoader() != MethodHandle.class.getClassLoader()) return false; // not on BCP + MethodType mtype = member.getMethodOrFieldType(); + if (!isStaticallyNameable(mtype.returnType())) + return false; + for (Class<?> ptype : mtype.parameterArray()) + if (!isStaticallyNameable(ptype)) + return false; if (!member.isPrivate() && VerifyAccess.isSamePackage(MethodHandle.class, cls)) return true; // in java.lang.invoke package if (member.isPublic() && isStaticallyNameable(cls))