hotspot/src/share/vm/memory/collectorPolicy.cpp
void MarkSweepPolicy::initialize_generations() {
{- -------------------------------------------
(1) initialize_perm_generation() で, Perm Generation 用の GenerationSpec を作成する.
(See: initialize_perm_generation())
---------------------------------------- -}
initialize_perm_generation(PermGen::MarkSweepCompact);
{- -------------------------------------------
(1) GenerationSpec を格納する配列を確保する.
(確保に失敗したら, ここで異常終了)
---------------------------------------- -}
_generations = new GenerationSpecPtr[number_of_generations()];
if (_generations == NULL)
vm_exit_during_initialization("Unable to allocate gen spec");
{- -------------------------------------------
(1) Young Generation と Old Generation 用の GenerationSpec を作成する.
(もし GenerationSpec の作成に失敗したら, ここで異常終了)
---------------------------------------- -}
if (UseParNewGC && ParallelGCThreads > 0) {
_generations[0] = new GenerationSpec(Generation::ParNew, _initial_gen0_size, _max_gen0_size);
} else {
_generations[0] = new GenerationSpec(Generation::DefNew, _initial_gen0_size, _max_gen0_size);
}
_generations[1] = new GenerationSpec(Generation::MarkSweepCompact, _initial_gen1_size, _max_gen1_size);
if (_generations[0] == NULL || _generations[1] == NULL)
vm_exit_during_initialization("Unable to allocate gen spec");
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.