equal
deleted
inserted
replaced
231 } |
231 } |
232 |
232 |
233 size_t missed_count() { return _missed_count; } |
233 size_t missed_count() { return _missed_count; } |
234 }; |
234 }; |
235 |
235 |
236 void HeapInspection::heap_inspection(outputStream* st) { |
236 void HeapInspection::heap_inspection(outputStream* st, bool need_prologue) { |
237 ResourceMark rm; |
237 ResourceMark rm; |
238 HeapWord* ref; |
238 HeapWord* ref; |
239 |
239 |
240 CollectedHeap* heap = Universe::heap(); |
240 CollectedHeap* heap = Universe::heap(); |
241 bool is_shared_heap = false; |
241 bool is_shared_heap = false; |
242 switch (heap->kind()) { |
242 switch (heap->kind()) { |
243 case CollectedHeap::G1CollectedHeap: |
243 case CollectedHeap::G1CollectedHeap: |
244 case CollectedHeap::GenCollectedHeap: { |
244 case CollectedHeap::GenCollectedHeap: { |
245 is_shared_heap = true; |
245 is_shared_heap = true; |
246 SharedHeap* sh = (SharedHeap*)heap; |
246 SharedHeap* sh = (SharedHeap*)heap; |
247 sh->gc_prologue(false /* !full */); // get any necessary locks, etc. |
247 if (need_prologue) { |
|
248 sh->gc_prologue(false /* !full */); // get any necessary locks, etc. |
|
249 } |
248 ref = sh->perm_gen()->used_region().start(); |
250 ref = sh->perm_gen()->used_region().start(); |
249 break; |
251 break; |
250 } |
252 } |
251 #ifndef SERIALGC |
253 #ifndef SERIALGC |
252 case CollectedHeap::ParallelScavengeHeap: { |
254 case CollectedHeap::ParallelScavengeHeap: { |
288 } else { |
290 } else { |
289 st->print_cr("WARNING: Ran out of C-heap; histogram not generated"); |
291 st->print_cr("WARNING: Ran out of C-heap; histogram not generated"); |
290 } |
292 } |
291 st->flush(); |
293 st->flush(); |
292 |
294 |
293 if (is_shared_heap) { |
295 if (need_prologue && is_shared_heap) { |
294 SharedHeap* sh = (SharedHeap*)heap; |
296 SharedHeap* sh = (SharedHeap*)heap; |
295 sh->gc_epilogue(false /* !full */); // release all acquired locks, etc. |
297 sh->gc_epilogue(false /* !full */); // release all acquired locks, etc. |
296 } |
298 } |
297 } |
299 } |
298 |
300 |