8012961: Do not restrict static interface methods to be private
Summary: Lambda changes; spec 0.6.2 - remove the restriction that was added as part of recent changes made to support upcoming changes to compilation of lambda methods.
Reviewed-by: dholmes, acorn
--- a/hotspot/src/share/vm/prims/methodHandles.cpp Sun Apr 21 21:05:02 2013 -0700
+++ b/hotspot/src/share/vm/prims/methodHandles.cpp Tue Apr 23 08:12:14 2013 -0700
@@ -192,9 +192,8 @@
flags |= IS_CONSTRUCTOR | (JVM_REF_invokeSpecial << REFERENCE_KIND_SHIFT);
} else if (mods.is_static()) {
flags |= IS_METHOD | (JVM_REF_invokeStatic << REFERENCE_KIND_SHIFT);
- // Check if this method is a lambda method that is generated as
- // private static method.
- if (m->is_private() && m->method_holder()->is_interface()) {
+ // Get vindex from itable if method holder is an interface.
+ if (m->method_holder()->is_interface()) {
vmindex = klassItable::compute_itable_index(m);
}
} else if (receiver_limit != mklass &&