< prev index next >

src/hotspot/share/gc/g1/g1CollectedHeap.cpp

Print this page

  65 #include "gc/g1/g1Trace.hpp"
  66 #include "gc/g1/g1ServiceThread.hpp"
  67 #include "gc/g1/g1UncommitRegionTask.hpp"
  68 #include "gc/g1/g1VMOperations.hpp"
  69 #include "gc/g1/g1YoungGCPostEvacuateTasks.hpp"
  70 #include "gc/g1/heapRegion.inline.hpp"
  71 #include "gc/g1/heapRegionRemSet.hpp"
  72 #include "gc/g1/heapRegionSet.inline.hpp"
  73 #include "gc/shared/concurrentGCBreakpoints.hpp"
  74 #include "gc/shared/gcBehaviours.hpp"
  75 #include "gc/shared/gcHeapSummary.hpp"
  76 #include "gc/shared/gcId.hpp"
  77 #include "gc/shared/gcLocker.hpp"
  78 #include "gc/shared/gcTimer.hpp"
  79 #include "gc/shared/gcTraceTime.inline.hpp"
  80 #include "gc/shared/generationSpec.hpp"
  81 #include "gc/shared/isGCActiveMark.hpp"
  82 #include "gc/shared/locationPrinter.inline.hpp"
  83 #include "gc/shared/oopStorageParState.hpp"
  84 #include "gc/shared/preservedMarks.inline.hpp"

  85 #include "gc/shared/suspendibleThreadSet.hpp"
  86 #include "gc/shared/referenceProcessor.inline.hpp"
  87 #include "gc/shared/taskTerminator.hpp"
  88 #include "gc/shared/taskqueue.inline.hpp"
  89 #include "gc/shared/tlab_globals.hpp"
  90 #include "gc/shared/weakProcessor.inline.hpp"
  91 #include "gc/shared/workerPolicy.hpp"
  92 #include "logging/log.hpp"
  93 #include "memory/allocation.hpp"
  94 #include "memory/iterator.hpp"
  95 #include "memory/heapInspection.hpp"
  96 #include "memory/metaspaceUtils.hpp"
  97 #include "memory/resourceArea.hpp"
  98 #include "memory/universe.hpp"
  99 #include "oops/access.inline.hpp"
 100 #include "oops/compressedOops.inline.hpp"
 101 #include "oops/oop.inline.hpp"
 102 #include "runtime/atomic.hpp"
 103 #include "runtime/handles.inline.hpp"
 104 #include "runtime/init.hpp"

1757   // BOT updates. So we'll tag the dummy region as eden to avoid that.
1758   dummy_region->set_eden();
1759   // Make sure it's full.
1760   dummy_region->set_top(dummy_region->end());
1761   G1AllocRegion::setup(this, dummy_region);
1762 
1763   _allocator->init_mutator_alloc_regions();
1764 
1765   // Do create of the monitoring and management support so that
1766   // values in the heap have been properly initialized.
1767   _g1mm = new G1MonitoringSupport(this);
1768 
1769   _preserved_marks_set.init(ParallelGCThreads);
1770 
1771   _collection_set.initialize(max_reserved_regions());
1772 
1773   _regions_failed_evacuation = NEW_C_HEAP_ARRAY(volatile bool, max_regions(), mtGC);
1774 
1775   G1InitLogger::print();
1776 


1777   return JNI_OK;
1778 }
1779 
1780 void G1CollectedHeap::stop() {
1781   // Stop all concurrent threads. We do this to make sure these threads
1782   // do not continue to execute and access resources (e.g. logging)
1783   // that are destroyed during shutdown.
1784   _cr->stop();
1785   _service_thread->stop();
1786   _cm_thread->stop();
1787 }
1788 
1789 void G1CollectedHeap::safepoint_synchronize_begin() {
1790   SuspendibleThreadSet::synchronize();
1791 }
1792 
1793 void G1CollectedHeap::safepoint_synchronize_end() {
1794   SuspendibleThreadSet::desynchronize();
1795 }
1796 

  65 #include "gc/g1/g1Trace.hpp"
  66 #include "gc/g1/g1ServiceThread.hpp"
  67 #include "gc/g1/g1UncommitRegionTask.hpp"
  68 #include "gc/g1/g1VMOperations.hpp"
  69 #include "gc/g1/g1YoungGCPostEvacuateTasks.hpp"
  70 #include "gc/g1/heapRegion.inline.hpp"
  71 #include "gc/g1/heapRegionRemSet.hpp"
  72 #include "gc/g1/heapRegionSet.inline.hpp"
  73 #include "gc/shared/concurrentGCBreakpoints.hpp"
  74 #include "gc/shared/gcBehaviours.hpp"
  75 #include "gc/shared/gcHeapSummary.hpp"
  76 #include "gc/shared/gcId.hpp"
  77 #include "gc/shared/gcLocker.hpp"
  78 #include "gc/shared/gcTimer.hpp"
  79 #include "gc/shared/gcTraceTime.inline.hpp"
  80 #include "gc/shared/generationSpec.hpp"
  81 #include "gc/shared/isGCActiveMark.hpp"
  82 #include "gc/shared/locationPrinter.inline.hpp"
  83 #include "gc/shared/oopStorageParState.hpp"
  84 #include "gc/shared/preservedMarks.inline.hpp"
  85 #include "gc/shared/slidingForwarding.hpp"
  86 #include "gc/shared/suspendibleThreadSet.hpp"
  87 #include "gc/shared/referenceProcessor.inline.hpp"
  88 #include "gc/shared/taskTerminator.hpp"
  89 #include "gc/shared/taskqueue.inline.hpp"
  90 #include "gc/shared/tlab_globals.hpp"
  91 #include "gc/shared/weakProcessor.inline.hpp"
  92 #include "gc/shared/workerPolicy.hpp"
  93 #include "logging/log.hpp"
  94 #include "memory/allocation.hpp"
  95 #include "memory/iterator.hpp"
  96 #include "memory/heapInspection.hpp"
  97 #include "memory/metaspaceUtils.hpp"
  98 #include "memory/resourceArea.hpp"
  99 #include "memory/universe.hpp"
 100 #include "oops/access.inline.hpp"
 101 #include "oops/compressedOops.inline.hpp"
 102 #include "oops/oop.inline.hpp"
 103 #include "runtime/atomic.hpp"
 104 #include "runtime/handles.inline.hpp"
 105 #include "runtime/init.hpp"

1758   // BOT updates. So we'll tag the dummy region as eden to avoid that.
1759   dummy_region->set_eden();
1760   // Make sure it's full.
1761   dummy_region->set_top(dummy_region->end());
1762   G1AllocRegion::setup(this, dummy_region);
1763 
1764   _allocator->init_mutator_alloc_regions();
1765 
1766   // Do create of the monitoring and management support so that
1767   // values in the heap have been properly initialized.
1768   _g1mm = new G1MonitoringSupport(this);
1769 
1770   _preserved_marks_set.init(ParallelGCThreads);
1771 
1772   _collection_set.initialize(max_reserved_regions());
1773 
1774   _regions_failed_evacuation = NEW_C_HEAP_ARRAY(volatile bool, max_regions(), mtGC);
1775 
1776   G1InitLogger::print();
1777 
1778   SlidingForwarding::initialize(heap_rs.region(), HeapRegion::GrainWords);
1779 
1780   return JNI_OK;
1781 }
1782 
1783 void G1CollectedHeap::stop() {
1784   // Stop all concurrent threads. We do this to make sure these threads
1785   // do not continue to execute and access resources (e.g. logging)
1786   // that are destroyed during shutdown.
1787   _cr->stop();
1788   _service_thread->stop();
1789   _cm_thread->stop();
1790 }
1791 
1792 void G1CollectedHeap::safepoint_synchronize_begin() {
1793   SuspendibleThreadSet::synchronize();
1794 }
1795 
1796 void G1CollectedHeap::safepoint_synchronize_end() {
1797   SuspendibleThreadSet::desynchronize();
1798 }
1799 
< prev index next >