hotspot/src/share/vm/gc_implementation/parallelScavenge/psScavenge.inline.hpp
template <class T>
inline bool PSScavenge::should_scavenge(T* p, MutableSpace* to_space) {
{- -------------------------------------------
(1) 処理対象のポインタが NULL でなく, かつ New 領域内を指しており,
(See: PSScavenge::should_scavenge()),
かつ To 領域内の GC 開始後に書き込まれた領域内でもない場合, true を返す.
それ以外の場合には false を返す.
---------------------------------------- -}
if (should_scavenge(p)) {
oop obj = oopDesc::load_decode_heap_oop_not_null(p);
// Skip objects copied to to_space since the scavenge started.
HeapWord* const addr = (HeapWord*)obj;
return addr < to_space_top_before_gc() || addr >= to_space->end();
}
return false;
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.