--- old/src/hotspot/share/prims/methodHandles.cpp 2018-05-04 04:04:33.333481058 -0400 +++ new/src/hotspot/share/prims/methodHandles.cpp 2018-05-04 04:04:31.737388999 -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;