Top


定義場所(file name)

hotspot/src/share/vm/gc_implementation/parallelScavenge/psScavenge.inline.hpp

名前(function name)

template <class T>
inline bool PSScavenge::should_scavenge(T* p, MutableSpace* to_space) {

本体部(body)

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