< prev index next >

src/hotspot/share/gc/parallel/psParallelCompact.cpp

Print this page
rev 48034 : 8191564: Refactor GC related servicability code into GC specific subclasses
Reviewed-by: ehelin, eosterlund


1755   PreGCValues pre_gc_values(heap);
1756 
1757   // Get the compaction manager reserved for the VM thread.
1758   ParCompactionManager* const vmthread_cm =
1759     ParCompactionManager::manager_array(gc_task_manager()->workers());
1760 
1761   {
1762     ResourceMark rm;
1763     HandleMark hm;
1764 
1765     // Set the number of GC threads to be used in this collection
1766     gc_task_manager()->set_active_gang();
1767     gc_task_manager()->task_idle_workers();
1768 
1769     GCTraceCPUTime tcpu;
1770     GCTraceTime(Info, gc) tm("Pause Full", NULL, gc_cause, true);
1771 
1772     heap->pre_full_gc_dump(&_gc_timer);
1773 
1774     TraceCollectorStats tcs(counters());
1775     TraceMemoryManagerStats tms(true /* Full GC */,gc_cause);
1776 
1777     if (log_is_enabled(Debug, gc, heap, exit)) {
1778       accumulated_time()->start();
1779     }
1780 
1781     // Let the size policy know we're starting
1782     size_policy->major_collection_begin();
1783 
1784     CodeCache::gc_prologue();
1785 
1786 #if COMPILER2_OR_JVMCI
1787     DerivedPointerTable::clear();
1788 #endif
1789 
1790     ref_processor()->enable_discovery();
1791     ref_processor()->setup_policy(maximum_heap_compaction);
1792 
1793     bool marked_for_unloading = false;
1794 
1795     marking_start.update();




1755   PreGCValues pre_gc_values(heap);
1756 
1757   // Get the compaction manager reserved for the VM thread.
1758   ParCompactionManager* const vmthread_cm =
1759     ParCompactionManager::manager_array(gc_task_manager()->workers());
1760 
1761   {
1762     ResourceMark rm;
1763     HandleMark hm;
1764 
1765     // Set the number of GC threads to be used in this collection
1766     gc_task_manager()->set_active_gang();
1767     gc_task_manager()->task_idle_workers();
1768 
1769     GCTraceCPUTime tcpu;
1770     GCTraceTime(Info, gc) tm("Pause Full", NULL, gc_cause, true);
1771 
1772     heap->pre_full_gc_dump(&_gc_timer);
1773 
1774     TraceCollectorStats tcs(counters());
1775     TraceMemoryManagerStats tms(heap->old_gc_manager(), gc_cause);
1776 
1777     if (log_is_enabled(Debug, gc, heap, exit)) {
1778       accumulated_time()->start();
1779     }
1780 
1781     // Let the size policy know we're starting
1782     size_policy->major_collection_begin();
1783 
1784     CodeCache::gc_prologue();
1785 
1786 #if COMPILER2_OR_JVMCI
1787     DerivedPointerTable::clear();
1788 #endif
1789 
1790     ref_processor()->enable_discovery();
1791     ref_processor()->setup_policy(maximum_heap_compaction);
1792 
1793     bool marked_for_unloading = false;
1794 
1795     marking_start.update();


< prev index next >