src/share/vm/oops/klassVtable.cpp

changeset 1063
7bb995fbd3c0
parent 1045
70998f2e05ef
child 1087
4aaa9f5e02a8
child 1100
c89f86385056
     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      }

mercurial