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.