--- a/hotspot/src/share/vm/oops/instanceKlass.cpp Tue May 27 21:58:23 2014 -0700
+++ b/hotspot/src/share/vm/oops/instanceKlass.cpp Wed May 28 07:36:32 2014 -0700
@@ -1501,6 +1501,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,