< prev index next >

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

Print this page

        

@@ -319,18 +319,23 @@
 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,
+// 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; // An 'open' archive region may contain references pointing to
-              // non-archive heap region. GC can adjust pointers in 'open'
-              // archive region.
+  bool _open; // Indicate if the region is 'open' archive.
   G1CollectedHeap* _g1h;
 
   // The current allocation region
   HeapRegion* _allocation_region;
 
< prev index next >