< prev index next >

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

Print this page




  30 #include "code/icBuffer.hpp"
  31 #include "gc/g1/g1Allocator.inline.hpp"
  32 #include "gc/g1/g1Arguments.hpp"
  33 #include "gc/g1/g1BarrierSet.hpp"
  34 #include "gc/g1/g1CardTableEntryClosure.hpp"
  35 #include "gc/g1/g1CollectedHeap.inline.hpp"
  36 #include "gc/g1/g1CollectionSet.hpp"
  37 #include "gc/g1/g1CollectorState.hpp"
  38 #include "gc/g1/g1ConcurrentRefine.hpp"
  39 #include "gc/g1/g1ConcurrentRefineThread.hpp"
  40 #include "gc/g1/g1ConcurrentMarkThread.inline.hpp"
  41 #include "gc/g1/g1DirtyCardQueue.hpp"
  42 #include "gc/g1/g1EvacStats.inline.hpp"
  43 #include "gc/g1/g1FullCollector.hpp"
  44 #include "gc/g1/g1GCParPhaseTimesTracker.hpp"
  45 #include "gc/g1/g1GCPhaseTimes.hpp"
  46 #include "gc/g1/g1HeapSizingPolicy.hpp"
  47 #include "gc/g1/g1HeapTransition.hpp"
  48 #include "gc/g1/g1HeapVerifier.hpp"
  49 #include "gc/g1/g1HotCardCache.hpp"

  50 #include "gc/g1/g1MemoryPool.hpp"
  51 #include "gc/g1/g1OopClosures.inline.hpp"
  52 #include "gc/g1/g1ParallelCleaning.hpp"
  53 #include "gc/g1/g1ParScanThreadState.inline.hpp"
  54 #include "gc/g1/g1Policy.hpp"
  55 #include "gc/g1/g1RedirtyCardsQueue.hpp"
  56 #include "gc/g1/g1RegionToSpaceMapper.hpp"
  57 #include "gc/g1/g1RemSet.hpp"
  58 #include "gc/g1/g1RootClosures.hpp"
  59 #include "gc/g1/g1RootProcessor.hpp"
  60 #include "gc/g1/g1SATBMarkQueueSet.hpp"
  61 #include "gc/g1/g1StringDedup.hpp"
  62 #include "gc/g1/g1ThreadLocalData.hpp"
  63 #include "gc/g1/g1Trace.hpp"
  64 #include "gc/g1/g1YCTypes.hpp"
  65 #include "gc/g1/g1YoungRemSetSamplingThread.hpp"
  66 #include "gc/g1/g1VMOperations.hpp"
  67 #include "gc/g1/heapRegion.inline.hpp"
  68 #include "gc/g1/heapRegionRemSet.hpp"
  69 #include "gc/g1/heapRegionSet.inline.hpp"


1806   // We'll re-use the same region whether the alloc region will
1807   // require BOT updates or not and, if it doesn't, then a non-young
1808   // region will complain that it cannot support allocations without
1809   // BOT updates. So we'll tag the dummy region as eden to avoid that.
1810   dummy_region->set_eden();
1811   // Make sure it's full.
1812   dummy_region->set_top(dummy_region->end());
1813   G1AllocRegion::setup(this, dummy_region);
1814 
1815   _allocator->init_mutator_alloc_regions();
1816 
1817   // Do create of the monitoring and management support so that
1818   // values in the heap have been properly initialized.
1819   _g1mm = new G1MonitoringSupport(this);
1820 
1821   G1StringDedup::initialize();
1822 
1823   _preserved_marks_set.init(ParallelGCThreads);
1824 
1825   _collection_set.initialize(max_regions());


1826 
1827   return JNI_OK;
1828 }
1829 
1830 void G1CollectedHeap::stop() {
1831   // Stop all concurrent threads. We do this to make sure these threads
1832   // do not continue to execute and access resources (e.g. logging)
1833   // that are destroyed during shutdown.
1834   _cr->stop();
1835   _young_gen_sampling_thread->stop();
1836   _cm_thread->stop();
1837   if (G1StringDedup::is_enabled()) {
1838     G1StringDedup::stop();
1839   }
1840 }
1841 
1842 void G1CollectedHeap::safepoint_synchronize_begin() {
1843   SuspendibleThreadSet::synchronize();
1844 }
1845 




  30 #include "code/icBuffer.hpp"
  31 #include "gc/g1/g1Allocator.inline.hpp"
  32 #include "gc/g1/g1Arguments.hpp"
  33 #include "gc/g1/g1BarrierSet.hpp"
  34 #include "gc/g1/g1CardTableEntryClosure.hpp"
  35 #include "gc/g1/g1CollectedHeap.inline.hpp"
  36 #include "gc/g1/g1CollectionSet.hpp"
  37 #include "gc/g1/g1CollectorState.hpp"
  38 #include "gc/g1/g1ConcurrentRefine.hpp"
  39 #include "gc/g1/g1ConcurrentRefineThread.hpp"
  40 #include "gc/g1/g1ConcurrentMarkThread.inline.hpp"
  41 #include "gc/g1/g1DirtyCardQueue.hpp"
  42 #include "gc/g1/g1EvacStats.inline.hpp"
  43 #include "gc/g1/g1FullCollector.hpp"
  44 #include "gc/g1/g1GCParPhaseTimesTracker.hpp"
  45 #include "gc/g1/g1GCPhaseTimes.hpp"
  46 #include "gc/g1/g1HeapSizingPolicy.hpp"
  47 #include "gc/g1/g1HeapTransition.hpp"
  48 #include "gc/g1/g1HeapVerifier.hpp"
  49 #include "gc/g1/g1HotCardCache.hpp"
  50 #include "gc/g1/g1InitLogger.hpp"
  51 #include "gc/g1/g1MemoryPool.hpp"
  52 #include "gc/g1/g1OopClosures.inline.hpp"
  53 #include "gc/g1/g1ParallelCleaning.hpp"
  54 #include "gc/g1/g1ParScanThreadState.inline.hpp"
  55 #include "gc/g1/g1Policy.hpp"
  56 #include "gc/g1/g1RedirtyCardsQueue.hpp"
  57 #include "gc/g1/g1RegionToSpaceMapper.hpp"
  58 #include "gc/g1/g1RemSet.hpp"
  59 #include "gc/g1/g1RootClosures.hpp"
  60 #include "gc/g1/g1RootProcessor.hpp"
  61 #include "gc/g1/g1SATBMarkQueueSet.hpp"
  62 #include "gc/g1/g1StringDedup.hpp"
  63 #include "gc/g1/g1ThreadLocalData.hpp"
  64 #include "gc/g1/g1Trace.hpp"
  65 #include "gc/g1/g1YCTypes.hpp"
  66 #include "gc/g1/g1YoungRemSetSamplingThread.hpp"
  67 #include "gc/g1/g1VMOperations.hpp"
  68 #include "gc/g1/heapRegion.inline.hpp"
  69 #include "gc/g1/heapRegionRemSet.hpp"
  70 #include "gc/g1/heapRegionSet.inline.hpp"


1807   // We'll re-use the same region whether the alloc region will
1808   // require BOT updates or not and, if it doesn't, then a non-young
1809   // region will complain that it cannot support allocations without
1810   // BOT updates. So we'll tag the dummy region as eden to avoid that.
1811   dummy_region->set_eden();
1812   // Make sure it's full.
1813   dummy_region->set_top(dummy_region->end());
1814   G1AllocRegion::setup(this, dummy_region);
1815 
1816   _allocator->init_mutator_alloc_regions();
1817 
1818   // Do create of the monitoring and management support so that
1819   // values in the heap have been properly initialized.
1820   _g1mm = new G1MonitoringSupport(this);
1821 
1822   G1StringDedup::initialize();
1823 
1824   _preserved_marks_set.init(ParallelGCThreads);
1825 
1826   _collection_set.initialize(max_regions());
1827 
1828   G1InitLogger::print();
1829 
1830   return JNI_OK;
1831 }
1832 
1833 void G1CollectedHeap::stop() {
1834   // Stop all concurrent threads. We do this to make sure these threads
1835   // do not continue to execute and access resources (e.g. logging)
1836   // that are destroyed during shutdown.
1837   _cr->stop();
1838   _young_gen_sampling_thread->stop();
1839   _cm_thread->stop();
1840   if (G1StringDedup::is_enabled()) {
1841     G1StringDedup::stop();
1842   }
1843 }
1844 
1845 void G1CollectedHeap::safepoint_synchronize_begin() {
1846   SuspendibleThreadSet::synchronize();
1847 }
1848 


< prev index next >