Top


定義場所(file name)

hotspot/src/share/vm/code/codeCache.cpp

名前(function name)

void CodeCache::gc_epilogue() {

本体部(body)

  {- -------------------------------------------
  (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.