1.1 --- a/src/share/vm/oops/klassVtable.cpp Mon Mar 09 13:34:00 2009 -0700 1.2 +++ b/src/share/vm/oops/klassVtable.cpp Thu Mar 12 18:16:36 2009 -0700 1.3 @@ -992,6 +992,10 @@ 1.4 methodOop new_method = new_methods[j]; 1.5 itableMethodEntry* ime = method_entry(0); 1.6 1.7 + // The itable can describe more than one interface and the same 1.8 + // method signature can be specified by more than one interface. 1.9 + // This means we have to do an exhaustive search to find all the 1.10 + // old_method references. 1.11 for (int i = 0; i < _size_method_table; i++) { 1.12 if (ime->method() == old_method) { 1.13 ime->initialize(new_method); 1.14 @@ -1008,7 +1012,6 @@ 1.15 new_method->name()->as_C_string(), 1.16 new_method->signature()->as_C_string())); 1.17 } 1.18 - break; 1.19 } 1.20 ime++; 1.21 }