Up Top

Memory allocation (& GC 処理) : メモリ確保以外の処理パスで発生する GC 処理 (java.lang.System.gc() 等) : GenCollectedHeap の場合 : CMS の場合


概要(Summary)

CMS の場合(※), メモリ確保以外の処理パスで発生する GC 処理 (java.lang.System.gc() 等)では, GenCollectedHeap::collect_mostly_concurrent() で処理が行われる.

この中では, VM_GenCollectFull クラスによって最終的に GenCollectedHeap::do_collection() が呼び出され, Minor GC または Major GC が実行される.

(※) より正確な条件は GenCollectedHeap::should_do_concurrent_full_gc() 参照 (See: here for details).

処理の流れ (概要)(Execution Flows : Summary)

(See: here for details)
-> GenCollectedHeap::collect_mostly_concurrent()
   -> VMThread::execute()
      -> (略) (See: here for details)
         -> VM_GenCollectFullConcurrent::doit()
            -> 

処理の流れ (詳細)(Execution Flows : Details)

GenCollectedHeap::collect_mostly_concurrent()

See: here for details

VM_GenCollectFullConcurrent::doit()

(#Under Construction)


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