diff -r b40330c06dea -r bca375d368ed hotspot/src/share/vm/ci/ciEnv.cpp --- a/hotspot/src/share/vm/ci/ciEnv.cpp Thu Mar 24 09:09:52 2016 +0100 +++ b/hotspot/src/share/vm/ci/ciEnv.cpp Thu Mar 24 11:21:49 2016 +0100 @@ -773,7 +773,7 @@ Symbol* sig_sym = cpool->signature_ref_at(index); if (cpool->has_preresolution() - || (holder == ciEnv::MethodHandle_klass() && + || ((holder == ciEnv::MethodHandle_klass() || holder == ciEnv::VarHandle_klass()) && MethodHandles::is_signature_polymorphic_name(holder->get_Klass(), name_sym))) { // Short-circuit lookups for JSR 292-related call sites. // That is, do not rely only on name-based lookups, because they may fail