121 virtual void gc_prologue(bool full);
122 virtual void gc_epilogue(bool full);
123
124 virtual void initialize_serviceability();
125
126 // Accessor for memory state verification support
127 NOT_PRODUCT(
128 virtual size_t skip_header_HeapWords() { return CMSCollector::skip_header_HeapWords(); }
129 )
130
131 // Returns success or failure.
132 bool create_cms_collector();
133
134 // In support of ExplicitGCInvokesConcurrent functionality
135 bool should_do_concurrent_full_gc(GCCause::Cause cause);
136
137 void collect_mostly_concurrent(GCCause::Cause cause);
138
139 // CMS forwards some non-heap value into the mark oop to reserve oops during
140 // promotion, so we can't assert about obj alignment or that the forwardee is in heap
141 virtual void check_oop_location(void* addr) const {}
142 };
143
144 #endif // SHARE_GC_CMS_CMSHEAP_HPP
|
121 virtual void gc_prologue(bool full);
122 virtual void gc_epilogue(bool full);
123
124 virtual void initialize_serviceability();
125
126 // Accessor for memory state verification support
127 NOT_PRODUCT(
128 virtual size_t skip_header_HeapWords() { return CMSCollector::skip_header_HeapWords(); }
129 )
130
131 // Returns success or failure.
132 bool create_cms_collector();
133
134 // In support of ExplicitGCInvokesConcurrent functionality
135 bool should_do_concurrent_full_gc(GCCause::Cause cause);
136
137 void collect_mostly_concurrent(GCCause::Cause cause);
138
139 // CMS forwards some non-heap value into the mark oop to reserve oops during
140 // promotion, so we can't assert about obj alignment or that the forwardee is in heap
141 virtual bool is_oop_location(void* addr) const { return true; }
142 };
143
144 #endif // SHARE_GC_CMS_CMSHEAP_HPP
|