47 private:
48 static PSYoungGen* _young_gen;
49 static PSOldGen* _old_gen;
50
51 // Sizing policy for entire heap
52 static PSAdaptiveSizePolicy* _size_policy;
53 static PSGCAdaptivePolicyCounters* _gc_policy_counters;
54
55 static ParallelScavengeHeap* _psh;
56
57 GenerationSizer* _collector_policy;
58
59 // Collection of generations that are adjacent in the
60 // space reserved for the heap.
61 AdjoiningGenerations* _gens;
62 unsigned int _death_march_count;
63
64 // The task manager
65 static GCTaskManager* _gc_task_manager;
66
67 void trace_heap(GCWhen::Type when, GCTracer* tracer);
68
69 protected:
70 static inline size_t total_invocations();
71 HeapWord* allocate_new_tlab(size_t size);
72
73 inline bool should_alloc_in_eden(size_t size) const;
74 inline void death_march_check(HeapWord* const result, size_t size);
75 HeapWord* mem_allocate_old_gen(size_t size);
76
77 public:
78 ParallelScavengeHeap() : CollectedHeap(), _death_march_count(0) { }
79
80 // For use by VM operations
81 enum CollectionType {
82 Scavenge,
83 MarkSweep
84 };
85
86 ParallelScavengeHeap::Name kind() const {
87 return CollectedHeap::ParallelScavengeHeap;
|
47 private:
48 static PSYoungGen* _young_gen;
49 static PSOldGen* _old_gen;
50
51 // Sizing policy for entire heap
52 static PSAdaptiveSizePolicy* _size_policy;
53 static PSGCAdaptivePolicyCounters* _gc_policy_counters;
54
55 static ParallelScavengeHeap* _psh;
56
57 GenerationSizer* _collector_policy;
58
59 // Collection of generations that are adjacent in the
60 // space reserved for the heap.
61 AdjoiningGenerations* _gens;
62 unsigned int _death_march_count;
63
64 // The task manager
65 static GCTaskManager* _gc_task_manager;
66
67 void trace_heap(GCWhen::Type when, const GCTracer* tracer);
68
69 protected:
70 static inline size_t total_invocations();
71 HeapWord* allocate_new_tlab(size_t size);
72
73 inline bool should_alloc_in_eden(size_t size) const;
74 inline void death_march_check(HeapWord* const result, size_t size);
75 HeapWord* mem_allocate_old_gen(size_t size);
76
77 public:
78 ParallelScavengeHeap() : CollectedHeap(), _death_march_count(0) { }
79
80 // For use by VM operations
81 enum CollectionType {
82 Scavenge,
83 MarkSweep
84 };
85
86 ParallelScavengeHeap::Name kind() const {
87 return CollectedHeap::ParallelScavengeHeap;
|