< prev index next >

src/share/vm/code/codeCache.cpp

Print this page

        

*** 744,765 **** } void CodeCache::gc_epilogue() { assert_locked_or_safepoint(CodeCache_lock); NMethodIterator iter; ! while(iter.next()) { nmethod* nm = iter.method(); ! if (!nm->is_zombie()) { if (needs_cache_clean()) { - // Clean ICs of unloaded nmethods as well because they may reference other - // unloaded nmethods that may be flushed earlier in the sweeper cycle. nm->cleanup_inline_caches(); } DEBUG_ONLY(nm->verify()); DEBUG_ONLY(nm->verify_oop_relocations()); } - } set_needs_cache_clean(false); prune_scavenge_root_nmethods(); verify_icholder_relocations(); } --- 744,762 ---- } void CodeCache::gc_epilogue() { assert_locked_or_safepoint(CodeCache_lock); NMethodIterator iter; ! while(iter.next_alive()) { nmethod* nm = iter.method(); ! assert(!nm->is_unloaded(), "Tautology"); if (needs_cache_clean()) { nm->cleanup_inline_caches(); } DEBUG_ONLY(nm->verify()); DEBUG_ONLY(nm->verify_oop_relocations()); } set_needs_cache_clean(false); prune_scavenge_root_nmethods(); verify_icholder_relocations(); }
< prev index next >