src/share/vm/gc_interface/collectedHeap.cpp

Print this page
rev 6084 : 8036703: Add trace event with statistics for the metaspace chunk free lists
rev 6085 : 8036703: incremental: webrev.03 -> webrev.04

*** 95,105 **** const MetaspaceSizes class_space( MetaspaceAux::allocated_capacity_bytes(Metaspace::ClassType), MetaspaceAux::allocated_used_bytes(Metaspace::ClassType), MetaspaceAux::reserved_bytes(Metaspace::ClassType)); ! return MetaspaceSummary(MetaspaceGC::capacity_until_GC(), meta_space, data_space, class_space); } void CollectedHeap::print_heap_before_gc() { if (PrintHeapAtGC) { Universe::print_heap_before_gc(); --- 95,111 ---- const MetaspaceSizes class_space( MetaspaceAux::allocated_capacity_bytes(Metaspace::ClassType), MetaspaceAux::allocated_used_bytes(Metaspace::ClassType), MetaspaceAux::reserved_bytes(Metaspace::ClassType)); ! const MetaspaceChunkFreeListSummary& ms_chunk_free_list_summary = ! MetaspaceAux::chunk_free_list_summary(Metaspace::NonClassType); ! const MetaspaceChunkFreeListSummary& class_chunk_free_list_summary = ! MetaspaceAux::chunk_free_list_summary(Metaspace::ClassType); ! ! return MetaspaceSummary(MetaspaceGC::capacity_until_GC(), meta_space, data_space, class_space, ! ms_chunk_free_list_summary, class_chunk_free_list_summary); } void CollectedHeap::print_heap_before_gc() { if (PrintHeapAtGC) { Universe::print_heap_before_gc();
*** 126,137 **** assert_locked_or_safepoint(CodeCache_lock); } void CollectedHeap::trace_heap(GCWhen::Type when, GCTracer* gc_tracer) { const GCHeapSummary& heap_summary = create_heap_summary(); const MetaspaceSummary& metaspace_summary = create_metaspace_summary(); ! gc_tracer->report_gc_heap_summary(when, heap_summary, metaspace_summary); } void CollectedHeap::trace_heap_before_gc(GCTracer* gc_tracer) { trace_heap(GCWhen::BeforeGC, gc_tracer); } --- 132,145 ---- assert_locked_or_safepoint(CodeCache_lock); } void CollectedHeap::trace_heap(GCWhen::Type when, GCTracer* gc_tracer) { const GCHeapSummary& heap_summary = create_heap_summary(); + gc_tracer->report_gc_heap_summary(when, heap_summary); + const MetaspaceSummary& metaspace_summary = create_metaspace_summary(); ! gc_tracer->report_metaspace_summary(when, metaspace_summary); } void CollectedHeap::trace_heap_before_gc(GCTracer* gc_tracer) { trace_heap(GCWhen::BeforeGC, gc_tracer); }