--- old/src/hotspot/share/prims/methodHandles.cpp 2018-05-04 00:47:11.924513126 -0400 +++ new/src/hotspot/share/prims/methodHandles.cpp 2018-05-04 00:47:10.180411975 -0400 @@ -297,6 +297,9 @@ } else if (m->is_initializer()) { flags |= IS_CONSTRUCTOR | (JVM_REF_invokeSpecial << REFERENCE_KIND_SHIFT); } else { + // "special" reflects that this is a direct call, not that it + // necessarily originates from an invokespecial. We can also do + // direct calls for private and/or final non-static methods. flags |= IS_METHOD | (JVM_REF_invokeSpecial << REFERENCE_KIND_SHIFT); } break;