hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp
void HeapRegionRemSet::setup_remset_size() {
{- -------------------------------------------
(1) (変数宣言など)
---------------------------------------- -}
// Setup sparse and fine-grain tables sizes.
// table_size = base * (log(region_size / 1M) + 1)
int region_size_log_mb = MAX2((int)HeapRegion::LogOfHRGrainBytes - (int)LOG_M, 0);
{- -------------------------------------------
(1) G1RSetSparseRegionEntries オプションが指定されてなければ, 初期値をセットしておく.
---------------------------------------- -}
if (FLAG_IS_DEFAULT(G1RSetSparseRegionEntries)) {
G1RSetSparseRegionEntries = G1RSetSparseRegionEntriesBase * (region_size_log_mb + 1);
}
{- -------------------------------------------
(1) G1RSetRegionEntries オプションが指定されてなければ, 初期値をセットしておく.
---------------------------------------- -}
if (FLAG_IS_DEFAULT(G1RSetRegionEntries)) {
G1RSetRegionEntries = G1RSetRegionEntriesBase * (region_size_log_mb + 1);
}
{- -------------------------------------------
(1) (assert)
---------------------------------------- -}
guarantee(G1RSetSparseRegionEntries > 0 && G1RSetRegionEntries > 0 , "Sanity");
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.