hotspot/src/share/vm/memory/permGen.cpp
CompactingPermGen::CompactingPermGen(ReservedSpace rs,
ReservedSpace shared_rs,
size_t initial_byte_size,
GenRemSet* remset,
PermanentGenerationSpec* perm_spec)
{
{- -------------------------------------------
(1) 新しい CompactingPermGenGen オブジェクトを生成し, _gen フィールドにセットする.
(もし失敗したら, ここで異常終了させる)
---------------------------------------- -}
CompactingPermGenGen* g =
new CompactingPermGenGen(rs, shared_rs, initial_byte_size, -1, remset,
NULL, perm_spec);
if (g == NULL)
vm_exit_during_initialization("Could not allocate a CompactingPermGen");
_gen = g;
{- -------------------------------------------
(1) CompactingPermGenGen::initialize_performance_counters() を呼び出して,
CompactingPermGenGen 内の初期化を行う.
---------------------------------------- -}
g->initialize_performance_counters();
{- -------------------------------------------
(1) フィールドの初期化
---------------------------------------- -}
_capacity_expansion_limit = g->capacity() + MaxPermHeapExpansion;
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.