6563994: assert(wf.check_method_context(ctxk, m), "proper context") failed
Summary: Check for redefined method before finding unique concrete method
Reviewed-by: twisti, kvn
--- a/hotspot/src/share/vm/code/dependencies.cpp Fri May 16 14:38:42 2014 -0700
+++ b/hotspot/src/share/vm/code/dependencies.cpp Mon May 19 20:28:35 2014 +0000
@@ -1429,6 +1429,10 @@
// Include m itself in the set, unless it is abstract.
// If this set has exactly one element, return that element.
Method* Dependencies::find_unique_concrete_method(Klass* ctxk, Method* m) {
+ // Return NULL if m is marked old; must have been a redefined method.
+ if (m->is_old()) {
+ return NULL;
+ }
ClassHierarchyWalker wf(m);
assert(wf.check_method_context(ctxk, m), "proper context");
wf.record_witnesses(1);