Top


定義場所(file name)

hotspot/src/share/vm/memory/generation.cpp

名前(function name)

void OneContigSpaceCardGeneration::collect(bool   full,
                                           bool   clear_all_soft_refs,
                                           size_t size,
                                           bool   is_tlab) {

本体部(body)

  {- -------------------------------------------
  (1) (デバッグ用の処理)
      (See: SpecializationStats)
      ---------------------------------------- -}

      SpecializationStats::clear();

  {- -------------------------------------------
  (1) GenMarkSweep::invoke_at_safepoint() で, Major GC 処理を行う.
        (なお, この GC 処理は, ReferenceProcessorSpanMutator を使って
         一時的に ReferenceProcessor の処理範囲をヒープ全体に拡張した状態で行っている.
         See: ReferenceProcessorSpanMutator)
      ---------------------------------------- -}

      // Temporarily expand the span of our ref processor, so
      // refs discovery is over the entire heap, not just this generation
      ReferenceProcessorSpanMutator
        x(ref_processor(), GenCollectedHeap::heap()->reserved_region());
      GenMarkSweep::invoke_at_safepoint(_level, ref_processor(), clear_all_soft_refs);

  {- -------------------------------------------
  (1) (デバッグ用の処理)
      (See: SpecializationStats)
      ---------------------------------------- -}

      SpecializationStats::print();
    }

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