Top


定義場所(file name)

hotspot/src/share/vm/runtime/thread.hpp

説明(description)

  // Requires that "collection_parity" is that of the current strong roots
  // iteration.  If "is_par" is false, sets the parity of "this" to
  // "collection_parity", and returns "true".  If "is_par" is true,
  // uses an atomic instruction to set the current threads parity to
  // "collection_parity", if it is not already.  Returns "true" iff the
  // calling thread does the update, this indicates that the calling thread
  // has claimed the thread's stack as a root groop in the current
  // collection.

名前(function name)

  bool claim_oops_do(bool is_par, int collection_parity) {

本体部(body)

  {- -------------------------------------------
  (1) 並列処理しない場合 (= is_par 引数が false の場合)は, 
      (_oops_do_parity フィールドの値を collection_parity 引数に合わせた後, )
      true をリターンするだけ.

      並列処理する場合 (= is_par 引数が true の場合)は, 
      Thread::claim_oops_do_par_case() を呼び出してカレントスレッドが処理すべきかどうかを判定し, 
      結果をリターンする.
      ---------------------------------------- -}

        if (!is_par) {
          _oops_do_parity = collection_parity;
          return true;
        } else {
          return claim_oops_do_par_case(collection_parity);
        }
      }

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