67 class ContiguousSpace;
68 class CompactPoint;
69 class OopsInGenClosure;
70 class OopClosure;
71 class ScanClosure;
72 class FastScanClosure;
73 class GenCollectedHeap;
74 class GenRemSet;
75 class GCStats;
76
77 // A "ScratchBlock" represents a block of memory in one generation usable by
78 // another. It represents "num_words" free words, starting at and including
79 // the address of "this".
80 struct ScratchBlock {
81 ScratchBlock* next;
82 size_t num_words;
83 HeapWord scratch_space[1]; // Actually, of size "num_words-2" (assuming
84 // first two fields are word-sized.)
85 };
86
87
88 class Generation: public CHeapObj<mtGC> {
89 friend class VMStructs;
90 private:
91 jlong _time_of_last_gc; // time when last gc on this generation happened (ms)
92 MemRegion _prev_used_region; // for collectors that want to "remember" a value for
93 // used region at some specific point during collection.
94
95 protected:
96 // Minimum and maximum addresses for memory reserved (not necessarily
97 // committed) for generation.
98 // Used by card marking code. Must not overlap with address ranges of
99 // other generations.
100 MemRegion _reserved;
101
102 // Memory area reserved for generation
103 VirtualSpace _virtual_space;
104
105 // ("Weak") Reference processing support
106 ReferenceProcessor* _ref_processor;
107
|
67 class ContiguousSpace;
68 class CompactPoint;
69 class OopsInGenClosure;
70 class OopClosure;
71 class ScanClosure;
72 class FastScanClosure;
73 class GenCollectedHeap;
74 class GenRemSet;
75 class GCStats;
76
77 // A "ScratchBlock" represents a block of memory in one generation usable by
78 // another. It represents "num_words" free words, starting at and including
79 // the address of "this".
80 struct ScratchBlock {
81 ScratchBlock* next;
82 size_t num_words;
83 HeapWord scratch_space[1]; // Actually, of size "num_words-2" (assuming
84 // first two fields are word-sized.)
85 };
86
87 class Generation: public CHeapObj<mtGC> {
88 friend class VMStructs;
89 private:
90 jlong _time_of_last_gc; // time when last gc on this generation happened (ms)
91 MemRegion _prev_used_region; // for collectors that want to "remember" a value for
92 // used region at some specific point during collection.
93
94 protected:
95 // Minimum and maximum addresses for memory reserved (not necessarily
96 // committed) for generation.
97 // Used by card marking code. Must not overlap with address ranges of
98 // other generations.
99 MemRegion _reserved;
100
101 // Memory area reserved for generation
102 VirtualSpace _virtual_space;
103
104 // ("Weak") Reference processing support
105 ReferenceProcessor* _ref_processor;
106
|