< prev index next >

src/share/vm/gc/parallel/parallelScavengeHeap.cpp

Print this page




  43 #include "oops/oop.inline.hpp"
  44 #include "runtime/handles.inline.hpp"
  45 #include "runtime/java.hpp"
  46 #include "runtime/vmThread.hpp"
  47 #include "services/memTracker.hpp"
  48 #include "utilities/vmError.hpp"
  49 
  50 PSYoungGen*  ParallelScavengeHeap::_young_gen = NULL;
  51 PSOldGen*    ParallelScavengeHeap::_old_gen = NULL;
  52 PSAdaptiveSizePolicy* ParallelScavengeHeap::_size_policy = NULL;
  53 PSGCAdaptivePolicyCounters* ParallelScavengeHeap::_gc_policy_counters = NULL;
  54 GCTaskManager* ParallelScavengeHeap::_gc_task_manager = NULL;
  55 
  56 jint ParallelScavengeHeap::initialize() {
  57   CollectedHeap::pre_initialize();
  58 
  59   const size_t heap_size = _collector_policy->max_heap_byte_size();
  60 
  61   ReservedSpace heap_rs = Universe::reserve_heap(heap_size, _collector_policy->heap_alignment());
  62 
  63   os::trace_page_sizes("ps main", _collector_policy->min_heap_byte_size(),
  64                        heap_size, generation_alignment(),
  65                        heap_rs.base(),
  66                        heap_rs.size());
  67 
  68   initialize_reserved_region((HeapWord*)heap_rs.base(), (HeapWord*)(heap_rs.base() + heap_rs.size()));
  69 
  70   CardTableExtension* const barrier_set = new CardTableExtension(reserved_region());
  71   barrier_set->initialize();
  72   set_barrier_set(barrier_set);
  73 
  74   // Make up the generations
  75   // Calculate the maximum size that a generation can grow.  This
  76   // includes growth into the other generation.  Note that the
  77   // parameter _max_gen_size is kept as the maximum
  78   // size of the generation as the boundaries currently stand.
  79   // _max_gen_size is still used as that value.
  80   double max_gc_pause_sec = ((double) MaxGCPauseMillis)/1000.0;
  81   double max_gc_minor_pause_sec = ((double) MaxGCMinorPauseMillis)/1000.0;
  82 
  83   _gens = new AdjoiningGenerations(heap_rs, _collector_policy, generation_alignment());




  43 #include "oops/oop.inline.hpp"
  44 #include "runtime/handles.inline.hpp"
  45 #include "runtime/java.hpp"
  46 #include "runtime/vmThread.hpp"
  47 #include "services/memTracker.hpp"
  48 #include "utilities/vmError.hpp"
  49 
  50 PSYoungGen*  ParallelScavengeHeap::_young_gen = NULL;
  51 PSOldGen*    ParallelScavengeHeap::_old_gen = NULL;
  52 PSAdaptiveSizePolicy* ParallelScavengeHeap::_size_policy = NULL;
  53 PSGCAdaptivePolicyCounters* ParallelScavengeHeap::_gc_policy_counters = NULL;
  54 GCTaskManager* ParallelScavengeHeap::_gc_task_manager = NULL;
  55 
  56 jint ParallelScavengeHeap::initialize() {
  57   CollectedHeap::pre_initialize();
  58 
  59   const size_t heap_size = _collector_policy->max_heap_byte_size();
  60 
  61   ReservedSpace heap_rs = Universe::reserve_heap(heap_size, _collector_policy->heap_alignment());
  62 
  63   os::trace_page_sizes("Heap", _collector_policy->min_heap_byte_size(),
  64                        heap_size, generation_alignment(),
  65                        heap_rs.base(),
  66                        heap_rs.size());
  67 
  68   initialize_reserved_region((HeapWord*)heap_rs.base(), (HeapWord*)(heap_rs.base() + heap_rs.size()));
  69 
  70   CardTableExtension* const barrier_set = new CardTableExtension(reserved_region());
  71   barrier_set->initialize();
  72   set_barrier_set(barrier_set);
  73 
  74   // Make up the generations
  75   // Calculate the maximum size that a generation can grow.  This
  76   // includes growth into the other generation.  Note that the
  77   // parameter _max_gen_size is kept as the maximum
  78   // size of the generation as the boundaries currently stand.
  79   // _max_gen_size is still used as that value.
  80   double max_gc_pause_sec = ((double) MaxGCPauseMillis)/1000.0;
  81   double max_gc_minor_pause_sec = ((double) MaxGCMinorPauseMillis)/1000.0;
  82 
  83   _gens = new AdjoiningGenerations(heap_rs, _collector_policy, generation_alignment());


< prev index next >