hotspot/src/share/vm/oops/klassVtable.cpp
changeset 2136 c55428da3cec
parent 670 ddf3e9583f2f
child 2332 5c7b6f4ce0a1
child 2264 55d0115a54fe
--- a/hotspot/src/share/vm/oops/klassVtable.cpp	Mon Mar 02 14:00:23 2009 -0700
+++ b/hotspot/src/share/vm/oops/klassVtable.cpp	Mon Mar 02 14:03:03 2009 -0700
@@ -992,6 +992,10 @@
     methodOop new_method = new_methods[j];
     itableMethodEntry* ime = method_entry(0);
 
+    // The itable can describe more than one interface and the same
+    // method signature can be specified by more than one interface.
+    // This means we have to do an exhaustive search to find all the
+    // old_method references.
     for (int i = 0; i < _size_method_table; i++) {
       if (ime->method() == old_method) {
         ime->initialize(new_method);
@@ -1008,7 +1012,6 @@
             new_method->name()->as_C_string(),
             new_method->signature()->as_C_string()));
         }
-        break;
       }
       ime++;
     }