--- old/src/share/vm/oops/instanceKlass.cpp 2014-05-28 16:50:04.825533497 +0400 +++ new/src/share/vm/oops/instanceKlass.cpp 2014-05-28 16:50:04.658529646 +0400 @@ -1479,6 +1479,21 @@ return NULL; } +#ifdef ASSERT +// search through class hierarchy and return true if this class or +// one of the superclasses was redefined +bool InstanceKlass::has_redefined_this_or_super() const { + const InstanceKlass* klass = this; + while (klass != NULL) { + if (klass->has_been_redefined()) { + return true; + } + klass = InstanceKlass::cast(klass->super()); + } + return false; +} +#endif + // lookup a method in the default methods list then in all transitive interfaces // Do NOT return private or static methods Method* InstanceKlass::lookup_method_in_ordered_interfaces(Symbol* name,