92 // explicitly mark reachable objects in younger generations, to avoid
93 // excess storage retention.)
94 void cms_process_roots(StrongRootsScope* scope,
95 bool young_gen_as_roots,
96 ScanningOption so,
97 bool only_strong_roots,
98 OopsInGenClosure* root_closure,
99 CLDClosure* cld_closure);
100
101 GCMemoryManager* old_manager() const { return _old_manager; }
102
103 private:
104 WorkGang* _workers;
105 MemoryPool* _eden_pool;
106 MemoryPool* _survivor_pool;
107 MemoryPool* _old_pool;
108
109 virtual void gc_prologue(bool full);
110 virtual void gc_epilogue(bool full);
111
112 // Accessor for memory state verification support
113 NOT_PRODUCT(
114 virtual size_t skip_header_HeapWords() { return CMSCollector::skip_header_HeapWords(); }
115 )
116
117 // Returns success or failure.
118 bool create_cms_collector();
119
120 // In support of ExplicitGCInvokesConcurrent functionality
121 bool should_do_concurrent_full_gc(GCCause::Cause cause);
122
123 void collect_mostly_concurrent(GCCause::Cause cause);
124 };
125
126 #endif // SHARE_VM_GC_CMS_CMSHEAP_HPP
|
92 // explicitly mark reachable objects in younger generations, to avoid
93 // excess storage retention.)
94 void cms_process_roots(StrongRootsScope* scope,
95 bool young_gen_as_roots,
96 ScanningOption so,
97 bool only_strong_roots,
98 OopsInGenClosure* root_closure,
99 CLDClosure* cld_closure);
100
101 GCMemoryManager* old_manager() const { return _old_manager; }
102
103 private:
104 WorkGang* _workers;
105 MemoryPool* _eden_pool;
106 MemoryPool* _survivor_pool;
107 MemoryPool* _old_pool;
108
109 virtual void gc_prologue(bool full);
110 virtual void gc_epilogue(bool full);
111
112 virtual void initialize_serviceability();
113
114 // Accessor for memory state verification support
115 NOT_PRODUCT(
116 virtual size_t skip_header_HeapWords() { return CMSCollector::skip_header_HeapWords(); }
117 )
118
119 // Returns success or failure.
120 bool create_cms_collector();
121
122 // In support of ExplicitGCInvokesConcurrent functionality
123 bool should_do_concurrent_full_gc(GCCause::Cause cause);
124
125 void collect_mostly_concurrent(GCCause::Cause cause);
126 };
127
128 #endif // SHARE_VM_GC_CMS_CMSHEAP_HPP
|