src/hotspot/share/oops/methodData.cpp
changeset 49969 8624981f1ffa
parent 49821 02c08e20d66c
child 50322 c75f3cdeb48c
equal deleted inserted replaced
49968:33a76b934213 49969:8624981f1ffa
   427 
   427 
   428 void VirtualCallData::clean_weak_method_links() {
   428 void VirtualCallData::clean_weak_method_links() {
   429   ReceiverTypeData::clean_weak_method_links();
   429   ReceiverTypeData::clean_weak_method_links();
   430   for (uint row = 0; row < method_row_limit(); row++) {
   430   for (uint row = 0; row < method_row_limit(); row++) {
   431     Method* p = method(row);
   431     Method* p = method(row);
   432     if (p != NULL && !p->on_stack()) {
   432     if (p != NULL && p->is_old()) {
   433       clear_method_row(row);
   433       clear_method_row(row);
   434     }
   434     }
   435   }
   435   }
   436 }
   436 }
   437 #endif // INCLUDE_JVMCI
   437 #endif // INCLUDE_JVMCI
  1768   CleanExtraDataKlassClosure cl(always_clean);
  1768   CleanExtraDataKlassClosure cl(always_clean);
  1769   clean_extra_data(&cl);
  1769   clean_extra_data(&cl);
  1770   verify_extra_data_clean(&cl);
  1770   verify_extra_data_clean(&cl);
  1771 }
  1771 }
  1772 
  1772 
       
  1773 // This is called during redefinition to clean all "old" redefined
       
  1774 // methods out of MethodData for all methods.
  1773 void MethodData::clean_weak_method_links() {
  1775 void MethodData::clean_weak_method_links() {
  1774   ResourceMark rm;
  1776   ResourceMark rm;
  1775   for (ProfileData* data = first_data();
  1777   for (ProfileData* data = first_data();
  1776        is_valid(data);
  1778        is_valid(data);
  1777        data = next_data(data)) {
  1779        data = next_data(data)) {