--- a/hotspot/src/share/vm/prims/methodHandles.cpp Wed Apr 17 08:20:02 2013 -0400
+++ b/hotspot/src/share/vm/prims/methodHandles.cpp Thu Apr 18 08:05:35 2013 -0700
@@ -187,6 +187,11 @@
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()) {
+ vmindex = klassItable::compute_itable_index(m);
+ }
} else if (receiver_limit != mklass &&
!receiver_limit->is_subtype_of(mklass)) {
return NULL; // bad receiver limit