< prev index next >

src/hotspot/share/oops/methodData.cpp

Print this page

        

*** 427,437 **** void VirtualCallData::clean_weak_method_links() { ReceiverTypeData::clean_weak_method_links(); for (uint row = 0; row < method_row_limit(); row++) { Method* p = method(row); ! if (p != NULL && !p->on_stack()) { clear_method_row(row); } } } #endif // INCLUDE_JVMCI --- 427,437 ---- void VirtualCallData::clean_weak_method_links() { ReceiverTypeData::clean_weak_method_links(); for (uint row = 0; row < method_row_limit(); row++) { Method* p = method(row); ! if (p != NULL && p->is_old()) { clear_method_row(row); } } } #endif // INCLUDE_JVMCI
*** 1768,1777 **** --- 1768,1779 ---- CleanExtraDataKlassClosure cl(always_clean); clean_extra_data(&cl); verify_extra_data_clean(&cl); } + // This is called during redefinition to clean all "old" redefined + // methods out of MethodData for all methods. void MethodData::clean_weak_method_links() { ResourceMark rm; for (ProfileData* data = first_data(); is_valid(data); data = next_data(data)) {
< prev index next >