< prev index next >

src/hotspot/share/gc/parallel/psPromotionManager.cpp

Print this page




  25 #include "precompiled.hpp"
  26 #include "classfile/javaClasses.inline.hpp"
  27 #include "gc/parallel/gcTaskManager.hpp"
  28 #include "gc/parallel/mutableSpace.hpp"
  29 #include "gc/parallel/parallelScavengeHeap.hpp"
  30 #include "gc/parallel/psOldGen.hpp"
  31 #include "gc/parallel/psPromotionManager.inline.hpp"
  32 #include "gc/parallel/psScavenge.inline.hpp"
  33 #include "gc/shared/gcTrace.hpp"
  34 #include "gc/shared/preservedMarks.inline.hpp"
  35 #include "gc/shared/taskqueue.inline.hpp"
  36 #include "logging/log.hpp"
  37 #include "logging/logStream.hpp"
  38 #include "memory/allocation.inline.hpp"
  39 #include "memory/iterator.inline.hpp"
  40 #include "memory/memRegion.hpp"
  41 #include "memory/padded.inline.hpp"
  42 #include "memory/resourceArea.hpp"
  43 #include "oops/access.inline.hpp"
  44 #include "oops/compressedOops.inline.hpp"

  45 
  46 PaddedEnd<PSPromotionManager>* PSPromotionManager::_manager_array = NULL;
  47 OopStarTaskQueueSet*           PSPromotionManager::_stack_array_depth = NULL;
  48 PreservedMarksSet*             PSPromotionManager::_preserved_marks_set = NULL;
  49 PSOldGen*                      PSPromotionManager::_old_gen = NULL;
  50 MutableSpace*                  PSPromotionManager::_young_space = NULL;
  51 
  52 void PSPromotionManager::initialize() {
  53   ParallelScavengeHeap* heap = ParallelScavengeHeap::heap();
  54 
  55   _old_gen = heap->old_gen();
  56   _young_space = heap->young_gen()->to_space();
  57 
  58   const uint promotion_manager_num = ParallelGCThreads + 1;
  59 
  60   // To prevent false sharing, we pad the PSPromotionManagers
  61   // and make sure that the first instance starts at a cache line.
  62   assert(_manager_array == NULL, "Attempt to initialize twice");
  63   _manager_array = PaddedArray<PSPromotionManager, mtGC>::create_unfreeable(promotion_manager_num);
  64   guarantee(_manager_array != NULL, "Could not initialize promotion manager");




  25 #include "precompiled.hpp"
  26 #include "classfile/javaClasses.inline.hpp"
  27 #include "gc/parallel/gcTaskManager.hpp"
  28 #include "gc/parallel/mutableSpace.hpp"
  29 #include "gc/parallel/parallelScavengeHeap.hpp"
  30 #include "gc/parallel/psOldGen.hpp"
  31 #include "gc/parallel/psPromotionManager.inline.hpp"
  32 #include "gc/parallel/psScavenge.inline.hpp"
  33 #include "gc/shared/gcTrace.hpp"
  34 #include "gc/shared/preservedMarks.inline.hpp"
  35 #include "gc/shared/taskqueue.inline.hpp"
  36 #include "logging/log.hpp"
  37 #include "logging/logStream.hpp"
  38 #include "memory/allocation.inline.hpp"
  39 #include "memory/iterator.inline.hpp"
  40 #include "memory/memRegion.hpp"
  41 #include "memory/padded.inline.hpp"
  42 #include "memory/resourceArea.hpp"
  43 #include "oops/access.inline.hpp"
  44 #include "oops/compressedOops.inline.hpp"
  45 #include "oops/valueArrayKlass.inline.hpp"
  46 
  47 PaddedEnd<PSPromotionManager>* PSPromotionManager::_manager_array = NULL;
  48 OopStarTaskQueueSet*           PSPromotionManager::_stack_array_depth = NULL;
  49 PreservedMarksSet*             PSPromotionManager::_preserved_marks_set = NULL;
  50 PSOldGen*                      PSPromotionManager::_old_gen = NULL;
  51 MutableSpace*                  PSPromotionManager::_young_space = NULL;
  52 
  53 void PSPromotionManager::initialize() {
  54   ParallelScavengeHeap* heap = ParallelScavengeHeap::heap();
  55 
  56   _old_gen = heap->old_gen();
  57   _young_space = heap->young_gen()->to_space();
  58 
  59   const uint promotion_manager_num = ParallelGCThreads + 1;
  60 
  61   // To prevent false sharing, we pad the PSPromotionManagers
  62   // and make sure that the first instance starts at a cache line.
  63   assert(_manager_array == NULL, "Attempt to initialize twice");
  64   _manager_array = PaddedArray<PSPromotionManager, mtGC>::create_unfreeable(promotion_manager_num);
  65   guarantee(_manager_array != NULL, "Could not initialize promotion manager");


< prev index next >