< prev index next >
src/hotspot/share/classfile/systemDictionary.cpp
Print this page
@@ -2782,11 +2782,15 @@
// Skip resolution for j.l.i.MethodHandle.invoke()/invokeExact().
// They are public signature polymorphic methods, but require appendix argument
// which MemberName resolution doesn't handle. There's special logic on JDK side to handle them
// (see MethodHandles.linkMethodHandleConstant() and MethodHandles.findVirtualForMH()).
} else {
- MethodHandles::resolve_MemberName(mname, caller, CHECK_(empty));
+ Handle resolved = MethodHandles::resolve_MemberName(mname, caller, CHECK_(empty));
+ if (resolved.is_null()) {
+ // Resolution failure should already trigger an exception.
+ THROW_MSG_(vmSymbols::java_lang_InternalError(), "empty", empty);
+ }
}
// After method/field resolution succeeded, it's safe to resolve MH signature as well.
Handle type = MethodHandles::resolve_MemberName_type(mname, caller, CHECK_(empty));
< prev index next >