< prev index next >

src/share/vm/gc/g1/g1Allocator.hpp

Print this page

        

*** 319,336 **** protected: bool default_value() const { return false; } }; // G1ArchiveAllocator is used to allocate memory in archive ! // regions. Such regions are not modifiable by GC, being neither ! // scavenged nor compacted, or even marked in the object header. ! // They can contain no pointers to non-archive heap regions, class G1ArchiveAllocator : public CHeapObj<mtGC> { protected: ! bool _open; // An 'open' archive region may contain references pointing to ! // non-archive heap region. GC can adjust pointers in 'open' ! // archive region. G1CollectedHeap* _g1h; // The current allocation region HeapRegion* _allocation_region; --- 319,341 ---- protected: bool default_value() const { return false; } }; // G1ArchiveAllocator is used to allocate memory in archive ! // regions. Such regions are not scavenged nor compacted by GC. ! // There are two types of archive regions, which are ! // differ in the kind of references allowed for the contained objects: ! // ! // - 'Closed' archive region contain no references outside of archive ! // regions. The region is immutable by GC. GC does not mark object ! // header in 'closed' archive region. ! // - An 'open' archive region may contain references pointing to ! // non-archive heap region. GC can adjust pointers and mark object ! // header in 'open' archive region. class G1ArchiveAllocator : public CHeapObj<mtGC> { protected: ! bool _open; // Indicate if the region is 'open' archive. G1CollectedHeap* _g1h; // The current allocation region HeapRegion* _allocation_region;
< prev index next >