< prev index next >

src/hotspot/share/gc/shared/genCollectedHeap.cpp

Print this page




  30 #include "classfile/systemDictionary.hpp"
  31 #include "classfile/vmSymbols.hpp"
  32 #include "code/codeCache.hpp"
  33 #include "code/icBuffer.hpp"
  34 #include "gc/serial/defNewGeneration.hpp"
  35 #include "gc/shared/adaptiveSizePolicy.hpp"
  36 #include "gc/shared/cardTableBarrierSet.hpp"
  37 #include "gc/shared/cardTableRS.hpp"
  38 #include "gc/shared/collectedHeap.inline.hpp"
  39 #include "gc/shared/collectorCounters.hpp"
  40 #include "gc/shared/gcId.hpp"
  41 #include "gc/shared/gcLocker.hpp"
  42 #include "gc/shared/gcPolicyCounters.hpp"
  43 #include "gc/shared/gcTrace.hpp"
  44 #include "gc/shared/gcTraceTime.inline.hpp"
  45 #include "gc/shared/genArguments.hpp"
  46 #include "gc/shared/gcVMOperations.hpp"
  47 #include "gc/shared/genCollectedHeap.hpp"
  48 #include "gc/shared/genOopClosures.inline.hpp"
  49 #include "gc/shared/generationSpec.hpp"

  50 #include "gc/shared/locationPrinter.inline.hpp"
  51 #include "gc/shared/oopStorageParState.inline.hpp"
  52 #include "gc/shared/scavengableNMethods.hpp"
  53 #include "gc/shared/space.hpp"
  54 #include "gc/shared/strongRootsScope.hpp"
  55 #include "gc/shared/weakProcessor.hpp"
  56 #include "gc/shared/workgroup.hpp"
  57 #include "memory/filemap.hpp"
  58 #include "memory/iterator.hpp"
  59 #include "memory/metaspaceCounters.hpp"
  60 #include "memory/resourceArea.hpp"
  61 #include "memory/universe.hpp"
  62 #include "oops/oop.inline.hpp"
  63 #include "runtime/biasedLocking.hpp"
  64 #include "runtime/flags/flagSetting.hpp"
  65 #include "runtime/handles.hpp"
  66 #include "runtime/handles.inline.hpp"
  67 #include "runtime/java.hpp"
  68 #include "runtime/vmThread.hpp"
  69 #include "services/management.hpp"


 112     vm_shutdown_during_initialization(
 113       "Could not reserve enough space for object heap");
 114     return JNI_ENOMEM;
 115   }
 116 
 117   initialize_reserved_region(heap_rs);
 118 
 119   _rem_set = create_rem_set(heap_rs.region());
 120   _rem_set->initialize();
 121   CardTableBarrierSet *bs = new CardTableBarrierSet(_rem_set);
 122   bs->initialize();
 123   BarrierSet::set_barrier_set(bs);
 124 
 125   ReservedSpace young_rs = heap_rs.first_part(_young_gen_spec->max_size());
 126   _young_gen = _young_gen_spec->init(young_rs, rem_set());
 127   ReservedSpace old_rs = heap_rs.last_part(_young_gen_spec->max_size());
 128 
 129   old_rs = old_rs.first_part(_old_gen_spec->max_size());
 130   _old_gen = _old_gen_spec->init(old_rs, rem_set());
 131   clear_incremental_collection_failed();


 132 
 133   return JNI_OK;
 134 }
 135 
 136 CardTableRS* GenCollectedHeap::create_rem_set(const MemRegion& reserved_region) {
 137   return new CardTableRS(reserved_region, false /* scan_concurrently */);
 138 }
 139 
 140 void GenCollectedHeap::initialize_size_policy(size_t init_eden_size,
 141                                               size_t init_promo_size,
 142                                               size_t init_survivor_size) {
 143   const double max_gc_pause_sec = ((double) MaxGCPauseMillis) / 1000.0;
 144   _size_policy = new AdaptiveSizePolicy(init_eden_size,
 145                                         init_promo_size,
 146                                         init_survivor_size,
 147                                         max_gc_pause_sec,
 148                                         GCTimeRatio);
 149 }
 150 
 151 ReservedHeapSpace GenCollectedHeap::allocate(size_t alignment) {




  30 #include "classfile/systemDictionary.hpp"
  31 #include "classfile/vmSymbols.hpp"
  32 #include "code/codeCache.hpp"
  33 #include "code/icBuffer.hpp"
  34 #include "gc/serial/defNewGeneration.hpp"
  35 #include "gc/shared/adaptiveSizePolicy.hpp"
  36 #include "gc/shared/cardTableBarrierSet.hpp"
  37 #include "gc/shared/cardTableRS.hpp"
  38 #include "gc/shared/collectedHeap.inline.hpp"
  39 #include "gc/shared/collectorCounters.hpp"
  40 #include "gc/shared/gcId.hpp"
  41 #include "gc/shared/gcLocker.hpp"
  42 #include "gc/shared/gcPolicyCounters.hpp"
  43 #include "gc/shared/gcTrace.hpp"
  44 #include "gc/shared/gcTraceTime.inline.hpp"
  45 #include "gc/shared/genArguments.hpp"
  46 #include "gc/shared/gcVMOperations.hpp"
  47 #include "gc/shared/genCollectedHeap.hpp"
  48 #include "gc/shared/genOopClosures.inline.hpp"
  49 #include "gc/shared/generationSpec.hpp"
  50 #include "gc/shared/gcInitLogger.hpp"
  51 #include "gc/shared/locationPrinter.inline.hpp"
  52 #include "gc/shared/oopStorageParState.inline.hpp"
  53 #include "gc/shared/scavengableNMethods.hpp"
  54 #include "gc/shared/space.hpp"
  55 #include "gc/shared/strongRootsScope.hpp"
  56 #include "gc/shared/weakProcessor.hpp"
  57 #include "gc/shared/workgroup.hpp"
  58 #include "memory/filemap.hpp"
  59 #include "memory/iterator.hpp"
  60 #include "memory/metaspaceCounters.hpp"
  61 #include "memory/resourceArea.hpp"
  62 #include "memory/universe.hpp"
  63 #include "oops/oop.inline.hpp"
  64 #include "runtime/biasedLocking.hpp"
  65 #include "runtime/flags/flagSetting.hpp"
  66 #include "runtime/handles.hpp"
  67 #include "runtime/handles.inline.hpp"
  68 #include "runtime/java.hpp"
  69 #include "runtime/vmThread.hpp"
  70 #include "services/management.hpp"


 113     vm_shutdown_during_initialization(
 114       "Could not reserve enough space for object heap");
 115     return JNI_ENOMEM;
 116   }
 117 
 118   initialize_reserved_region(heap_rs);
 119 
 120   _rem_set = create_rem_set(heap_rs.region());
 121   _rem_set->initialize();
 122   CardTableBarrierSet *bs = new CardTableBarrierSet(_rem_set);
 123   bs->initialize();
 124   BarrierSet::set_barrier_set(bs);
 125 
 126   ReservedSpace young_rs = heap_rs.first_part(_young_gen_spec->max_size());
 127   _young_gen = _young_gen_spec->init(young_rs, rem_set());
 128   ReservedSpace old_rs = heap_rs.last_part(_young_gen_spec->max_size());
 129 
 130   old_rs = old_rs.first_part(_old_gen_spec->max_size());
 131   _old_gen = _old_gen_spec->init(old_rs, rem_set());
 132   clear_incremental_collection_failed();
 133 
 134   GCInitLogger::print();
 135 
 136   return JNI_OK;
 137 }
 138 
 139 CardTableRS* GenCollectedHeap::create_rem_set(const MemRegion& reserved_region) {
 140   return new CardTableRS(reserved_region, false /* scan_concurrently */);
 141 }
 142 
 143 void GenCollectedHeap::initialize_size_policy(size_t init_eden_size,
 144                                               size_t init_promo_size,
 145                                               size_t init_survivor_size) {
 146   const double max_gc_pause_sec = ((double) MaxGCPauseMillis) / 1000.0;
 147   _size_policy = new AdaptiveSizePolicy(init_eden_size,
 148                                         init_promo_size,
 149                                         init_survivor_size,
 150                                         max_gc_pause_sec,
 151                                         GCTimeRatio);
 152 }
 153 
 154 ReservedHeapSpace GenCollectedHeap::allocate(size_t alignment) {


< prev index next >