hotspot/src/share/vm/oops/klassVtable.cpp
changeset 2136 c55428da3cec
parent 670 ddf3e9583f2f
child 2332 5c7b6f4ce0a1
child 2264 55d0115a54fe
equal deleted inserted replaced
2135:f82c3012ec86 2136:c55428da3cec
   990   for (int j = 0; j < methods_length; j++) {
   990   for (int j = 0; j < methods_length; j++) {
   991     methodOop old_method = old_methods[j];
   991     methodOop old_method = old_methods[j];
   992     methodOop new_method = new_methods[j];
   992     methodOop new_method = new_methods[j];
   993     itableMethodEntry* ime = method_entry(0);
   993     itableMethodEntry* ime = method_entry(0);
   994 
   994 
       
   995     // The itable can describe more than one interface and the same
       
   996     // method signature can be specified by more than one interface.
       
   997     // This means we have to do an exhaustive search to find all the
       
   998     // old_method references.
   995     for (int i = 0; i < _size_method_table; i++) {
   999     for (int i = 0; i < _size_method_table; i++) {
   996       if (ime->method() == old_method) {
  1000       if (ime->method() == old_method) {
   997         ime->initialize(new_method);
  1001         ime->initialize(new_method);
   998 
  1002 
   999         if (RC_TRACE_IN_RANGE(0x00100000, 0x00400000)) {
  1003         if (RC_TRACE_IN_RANGE(0x00100000, 0x00400000)) {
  1006           // RC_TRACE macro has an embedded ResourceMark
  1010           // RC_TRACE macro has an embedded ResourceMark
  1007           RC_TRACE(0x00200000, ("itable method update: %s(%s)",
  1011           RC_TRACE(0x00200000, ("itable method update: %s(%s)",
  1008             new_method->name()->as_C_string(),
  1012             new_method->name()->as_C_string(),
  1009             new_method->signature()->as_C_string()));
  1013             new_method->signature()->as_C_string()));
  1010         }
  1014         }
  1011         break;
       
  1012       }
  1015       }
  1013       ime++;
  1016       ime++;
  1014     }
  1017     }
  1015   }
  1018   }
  1016 }
  1019 }