GenCollectedHeap 使用時において, Old Generation の管理を担当するクラスの 1つ (See: here for details).
このクラスは, GC アルゴリズムが CMS ではない場合用 (つまり Serial Old GC 用) (See: ConcurrentMarkSweepGeneration).
((cite: hotspot/src/share/vm/memory/tenuredGeneration.hpp))
// TenuredGeneration models the heap containing old (promoted/tenured) objects.
((cite: hotspot/src/share/vm/memory/tenuredGeneration.hpp))
class TenuredGeneration: public OneContigSpaceCardGeneration {
各 GenCollectedHeap オブジェクトの _gens フィールドに(のみ)格納されている.
(正確には, このフィールドは Generation のポインタの配列を格納するフィールド. この中に, その GenCollectedHeap 内で使用される全ての Generation オブジェクトが格納されている)
GenerationSpec::init() 内で(のみ)生成されている.
そして, この関数は現在は以下のパスで(のみ)呼び出されている.
(略) (See: here for details) -> GenCollectedHeap::initialize() -> GenerationSpec::init()
...(#TODO)
このクラスの TenuredGeneration::collect() メソッドが Serial Old GC 処理のエントリポイントになっている (See: here for details).
See: here for details
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.