diff src/share/vm/prims/jvm.cpp @ 17889:386dd1c71858

8033150: invokestatic: IncompatibleClassChangeError trying to invoke static method from a parent in presence of conflicting defaults. Summary: A static method should be preferred during method resolution over an overpass, search the current class as well as its superclasses. Reviewed-by: acorn, coleenp, kamg
author lfoltan
date Mon, 14 Apr 2014 14:27:45 -0400
parents bbfbe9b06038
children 78bbf4d43a14
line wrap: on
line diff
--- a/src/share/vm/prims/jvm.cpp	Tue Apr 15 14:34:48 2014 -0700
+++ b/src/share/vm/prims/jvm.cpp	Mon Apr 14 14:27:45 2014 -0400
@@ -1217,7 +1217,8 @@
   // get run() method
   Method* m_oop = object->klass()->uncached_lookup_method(
                                            vmSymbols::run_method_name(),
-                                           vmSymbols::void_object_signature());
+                                           vmSymbols::void_object_signature(),
+                                           Klass::normal);
   methodHandle m (THREAD, m_oop);
   if (m.is_null() || !m->is_method() || !m()->is_public() || m()->is_static()) {
     THROW_MSG_0(vmSymbols::java_lang_InternalError(), "No run method");