hotspot/src/share/vm/oops/instanceKlass.cpp
changeset 34303 9e271398a718
parent 33638 ef49ed90010b
child 34317 e93b85bf4cc2
--- a/hotspot/src/share/vm/oops/instanceKlass.cpp	Wed Nov 25 11:45:26 2015 +0000
+++ b/hotspot/src/share/vm/oops/instanceKlass.cpp	Wed Nov 25 09:08:51 2015 -0500
@@ -815,10 +815,13 @@
     }
   }
 
+  // If C is an interface that declares a non-abstract, non-static method,
+  // the initialization of a class (not an interface) that implements C directly or
+  // indirectly.
   // Recursively initialize any superinterfaces that declare default methods
   // Only need to recurse if has_default_methods which includes declaring and
   // inheriting default methods
-  if (this_k->has_default_methods()) {
+  if (!this_k->is_interface() && this_k->has_default_methods()) {
     this_k->initialize_super_interfaces(this_k, CHECK);
   }