36 #include "runtime/virtualspace.hpp"
37
38 // A Generation models a heap area for similarly-aged objects.
39 // It will contain one ore more spaces holding the actual objects.
40 //
41 // The Generation class hierarchy:
42 //
43 // Generation - abstract base class
44 // - DefNewGeneration - allocation area (copy collected)
45 // - ParNewGeneration - a DefNewGeneration that is collected by
46 // several threads
47 // - CardGeneration - abstract class adding offset array behavior
48 // - TenuredGeneration - tenured (old object) space (markSweepCompact)
49 // - ConcurrentMarkSweepGeneration - Mostly Concurrent Mark Sweep Generation
50 // (Detlefs-Printezis refinement of
51 // Boehm-Demers-Schenker)
52 //
53 // The system configurations currently allowed are:
54 //
55 // DefNewGeneration + TenuredGeneration
56 // DefNewGeneration + ConcurrentMarkSweepGeneration
57 //
58 // ParNewGeneration + TenuredGeneration
59 // ParNewGeneration + ConcurrentMarkSweepGeneration
60 //
61
62 class DefNewGeneration;
63 class GenerationSpec;
64 class CompactibleSpace;
65 class ContiguousSpace;
66 class CompactPoint;
67 class OopsInGenClosure;
68 class OopClosure;
69 class ScanClosure;
70 class FastScanClosure;
71 class GenCollectedHeap;
72 class GenRemSet;
73 class GCStats;
74
75 // A "ScratchBlock" represents a block of memory in one generation usable by
76 // another. It represents "num_words" free words, starting at and including
77 // the address of "this".
78 struct ScratchBlock {
|
36 #include "runtime/virtualspace.hpp"
37
38 // A Generation models a heap area for similarly-aged objects.
39 // It will contain one ore more spaces holding the actual objects.
40 //
41 // The Generation class hierarchy:
42 //
43 // Generation - abstract base class
44 // - DefNewGeneration - allocation area (copy collected)
45 // - ParNewGeneration - a DefNewGeneration that is collected by
46 // several threads
47 // - CardGeneration - abstract class adding offset array behavior
48 // - TenuredGeneration - tenured (old object) space (markSweepCompact)
49 // - ConcurrentMarkSweepGeneration - Mostly Concurrent Mark Sweep Generation
50 // (Detlefs-Printezis refinement of
51 // Boehm-Demers-Schenker)
52 //
53 // The system configurations currently allowed are:
54 //
55 // DefNewGeneration + TenuredGeneration
56 //
57 // ParNewGeneration + ConcurrentMarkSweepGeneration
58 //
59
60 class DefNewGeneration;
61 class GenerationSpec;
62 class CompactibleSpace;
63 class ContiguousSpace;
64 class CompactPoint;
65 class OopsInGenClosure;
66 class OopClosure;
67 class ScanClosure;
68 class FastScanClosure;
69 class GenCollectedHeap;
70 class GenRemSet;
71 class GCStats;
72
73 // A "ScratchBlock" represents a block of memory in one generation usable by
74 // another. It represents "num_words" free words, starting at and including
75 // the address of "this".
76 struct ScratchBlock {
|