これらは, G1GC で使用するメモリ領域を管理するためのクラス.
G1CollectedHeap クラス内で使用される補助クラス.
全ての HeapRegion オブジェクトを束ねておくためのコンテナクラス (See: HeapRegion).
((cite: hotspot/src/share/vm/gc_implementation/g1/heapRegionSeq.hpp))
class HeapRegionSeq: public CHeapObj {
各 G1CollectedHeap オブジェクトの _hrs フィールドに(のみ)格納されている.
G1CollectedHeap::initialize() 内で(のみ)生成されている.
内部的には GrowableArray
((cite: hotspot/src/share/vm/gc_implementation/g1/heapRegionSeq.hpp))
// _regions is kept sorted by start address order, and no two regions are
// overlapping.
GrowableArray<HeapRegion*> _regions;
See: here for details
?? (このクラスは使用箇所が見当たらないような...)
デバッグ用(開発時用)のクラス(だと思われる).
HeapRegion の情報を出力する.
((cite: hotspot/src/share/vm/gc_implementation/g1/heapRegionSeq.cpp))
class PrintHeapRegionClosure : public HeapRegionClosure {
HeapRegionSeq::print() 内で(のみ)使用されている (が, この関数自体が使われていないような...?? 一応 _hrs の使用箇所を全部見てみたが... #TODO)
See: here for details
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.