81
82 void stop();
83 void safepoint_synchronize_begin();
84 void safepoint_synchronize_end();
85
86 virtual GrowableArray<GCMemoryManager*> memory_managers();
87 virtual GrowableArray<MemoryPool*> memory_pools();
88
89 // If "young_gen_as_roots" is false, younger generations are
90 // not scanned as roots; in this case, the caller must be arranging to
91 // scan the younger generations itself. (For example, a generation might
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_mgr() const { return _old_mgr; }
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);
|
81
82 void stop();
83 void safepoint_synchronize_begin();
84 void safepoint_synchronize_end();
85
86 virtual GrowableArray<GCMemoryManager*> memory_managers();
87 virtual GrowableArray<MemoryPool*> memory_pools();
88
89 // If "young_gen_as_roots" is false, younger generations are
90 // not scanned as roots; in this case, the caller must be arranging to
91 // scan the younger generations itself. (For example, a generation might
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);
|