changeset 6493:f645d100b058

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
author bharadwaj
date Mon, 19 May 2014 20:28:35 +0000
parents 9a7285acfb28
children 670808fbebd3
files src/share/vm/code/dependencies.cpp
diffstat 1 files changed, 4 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/code/dependencies.cpp	Fri May 16 14:38:42 2014 -0700
+++ b/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);