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_mgr(), 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();
|