196 virtual AdaptiveSizePolicy* size_policy() {
197 return _size_policy;
198 }
199
200 // Performance Counter support
201 GCPolicyCounters* counters() { return _gc_policy_counters; }
202
203 // Return the (conservative) maximum heap alignment
204 static size_t conservative_max_heap_alignment() {
205 return Generation::GenGrain;
206 }
207
208 size_t capacity() const;
209 size_t used() const;
210
211 // Save the "used_region" for both generations.
212 void save_used_regions();
213
214 size_t max_capacity() const;
215
216 HeapWord* mem_allocate(size_t size, bool* gc_overhead_limit_was_exceeded);
217
218 // We may support a shared contiguous allocation area, if the youngest
219 // generation does.
220 bool supports_inline_contig_alloc() const;
221 HeapWord* volatile* top_addr() const;
222 HeapWord** end_addr() const;
223
224 // Perform a full collection of the heap; intended for use in implementing
225 // "System.gc". This implies as full a collection as the CollectedHeap
226 // supports. Caller does not hold the Heap_lock on entry.
227 virtual void collect(GCCause::Cause cause);
228
229 // The same as above but assume that the caller holds the Heap_lock.
230 void collect_locked(GCCause::Cause cause);
231
232 // Perform a full collection of generations up to and including max_generation.
233 // Mostly used for testing purposes. Caller does not hold the Heap_lock on entry.
234 void collect(GCCause::Cause cause, GenerationType max_generation);
235
236 // Returns "TRUE" iff "p" points into the committed areas of the heap.
|
196 virtual AdaptiveSizePolicy* size_policy() {
197 return _size_policy;
198 }
199
200 // Performance Counter support
201 GCPolicyCounters* counters() { return _gc_policy_counters; }
202
203 // Return the (conservative) maximum heap alignment
204 static size_t conservative_max_heap_alignment() {
205 return Generation::GenGrain;
206 }
207
208 size_t capacity() const;
209 size_t used() const;
210
211 // Save the "used_region" for both generations.
212 void save_used_regions();
213
214 size_t max_capacity() const;
215
216 HeapWord* mem_allocate(size_t size, Klass* klass, Thread* thread,
217 bool* gc_overhead_limit_was_exceeded);
218
219 // We may support a shared contiguous allocation area, if the youngest
220 // generation does.
221 bool supports_inline_contig_alloc() const;
222 HeapWord* volatile* top_addr() const;
223 HeapWord** end_addr() const;
224
225 // Perform a full collection of the heap; intended for use in implementing
226 // "System.gc". This implies as full a collection as the CollectedHeap
227 // supports. Caller does not hold the Heap_lock on entry.
228 virtual void collect(GCCause::Cause cause);
229
230 // The same as above but assume that the caller holds the Heap_lock.
231 void collect_locked(GCCause::Cause cause);
232
233 // Perform a full collection of generations up to and including max_generation.
234 // Mostly used for testing purposes. Caller does not hold the Heap_lock on entry.
235 void collect(GCCause::Cause cause, GenerationType max_generation);
236
237 // Returns "TRUE" iff "p" points into the committed areas of the heap.
|