Generational GC における昇格のための閾値(tenuring threshould)を計算するクラス.
昇格閾値を計算するクラスは使用する GC アルゴリズムによって異なるが, このクラスは Minor GC アルゴリズムが Serial, ParNew, G1GC の場合に使用される (ParallelScavenge では PSAdaptiveSizePolicy::compute_survivor_space_size_and_threshold() で計算しており ageTable は使われていない模様).
((cite: hotspot/src/share/vm/gc_implementation/shared/ageTable.hpp))
// Age table for adaptive feedback-mediated tenuring (scavenging)
//
// Note: all sizes are in oops
class ageTable VALUE_OBJ_CLASS_SPEC {
((cite: hotspot/src/share/vm/gc_implementation/shared/ageTable.hpp))
// clear table
void clear();
((cite: hotspot/src/share/vm/gc_implementation/shared/ageTable.hpp))
// add entry
void add(oop p, size_t oop_size) {
((cite: hotspot/src/share/vm/gc_implementation/shared/ageTable.hpp))
// Merge another age table with the current one. Used
// for parallel young generation gc.
void merge(ageTable* subTable);
void merge_par(ageTable* subTable);
((cite: hotspot/src/share/vm/gc_implementation/shared/ageTable.hpp))
// calculate new tenuring threshold based on age information
int compute_tenuring_threshold(size_t survivor_capacity);
See: here for details
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.