Top


定義場所(file name)

hotspot/src/share/vm/prims/jvmtiTagMap.cpp

名前(function name)

void JvmtiTagMap::weak_oops_do(BoolObjectClosure* is_alive, OopClosure* f) {

本体部(body)

  {- -------------------------------------------
  (1) (assert)
      ---------------------------------------- -}

      // No locks during VM bring-up (0 threads) and no safepoints after main
      // thread creation and before VMThread creation (1 thread); initial GC
      // verification can happen in that window which gets to here.
      assert(Threads::number_of_threads() <= 1 ||
             SafepointSynchronize::is_at_safepoint(),
             "must be executed at a safepoint");

  {- -------------------------------------------
  (1) 
      ---------------------------------------- -}

      if (JvmtiEnv::environments_might_exist()) {
        JvmtiEnvIterator it;
        for (JvmtiEnvBase* env = it.first(); env != NULL; env = it.next(env)) {
          JvmtiTagMap* tag_map = env->tag_map();
          if (tag_map != NULL && !tag_map->is_empty()) {
            tag_map->do_weak_oops(is_alive, f);
          }
        }
      }
    }

This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.