hotspot/src/share/vm/oops/markOop.inline.hpp
// Should this header be preserved during GC?
inline bool markOopDesc::must_be_preserved(oop obj_containing_mark) const {
{- -------------------------------------------
(1) biased locking を使用しているかどうかに応じて (つまり, UseBiasedLocking オプションの値に応じて)
* biased locking を使っていない場合:
mark にロック状態の情報が埋め込まれているか, あるいはハッシュ値が埋め込まれていれば, 保存する必要がある.
* biased locking を使っている場合:
markOopDesc::must_be_preserved_with_bias() で判断.
---------------------------------------- -}
if (!UseBiasedLocking)
return (!is_unlocked() || !has_no_hash());
return must_be_preserved_with_bias(obj_containing_mark);
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.