hotspot/src/share/vm/code/codeCache.cpp
void CodeCache::gc_epilogue() {
{- -------------------------------------------
(1) (assert)
---------------------------------------- -}
assert_locked_or_safepoint(CodeCache_lock);
{- -------------------------------------------
(1)
---------------------------------------- -}
FOR_ALL_ALIVE_BLOBS(cb) {
if (cb->is_nmethod()) {
nmethod *nm = (nmethod*)cb;
assert(!nm->is_unloaded(), "Tautology");
if (needs_cache_clean()) {
nm->cleanup_inline_caches();
}
DEBUG_ONLY(nm->verify());
nm->fix_oop_relocations();
}
}
{- -------------------------------------------
(1)
---------------------------------------- -}
set_needs_cache_clean(false);
prune_scavenge_root_nmethods();
{- -------------------------------------------
(1) (assert)
---------------------------------------- -}
assert(!nmethod::oops_do_marking_is_active(), "oops_do_marking_prologue must be called");
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.