< 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/mutableSpace.hpp"
 28 #include "gc/parallel/parallelScavengeHeap.hpp"
 29 #include "gc/parallel/psOldGen.hpp"
 30 #include "gc/parallel/psPromotionManager.inline.hpp"
 31 #include "gc/parallel/psScavenge.inline.hpp"
 32 #include "gc/shared/continuationGCSupport.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 = nullptr;
 47 PSPromotionManager::PSScannerTasksQueueSet* PSPromotionManager::_stack_array_depth = nullptr;
 48 PreservedMarksSet*             PSPromotionManager::_preserved_marks_set = nullptr;
 49 PSOldGen*                      PSPromotionManager::_old_gen = nullptr;
 50 MutableSpace*                  PSPromotionManager::_young_space = nullptr;
 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;
 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 == nullptr, "Attempt to initialize twice");
 63   _manager_array = PaddedArray<PSPromotionManager, mtGC>::create_unfreeable(promotion_manager_num);
 64 

 25 #include "precompiled.hpp"
 26 #include "classfile/javaClasses.inline.hpp"
 27 #include "gc/parallel/mutableSpace.hpp"
 28 #include "gc/parallel/parallelScavengeHeap.hpp"
 29 #include "gc/parallel/psOldGen.hpp"
 30 #include "gc/parallel/psPromotionManager.inline.hpp"
 31 #include "gc/parallel/psScavenge.inline.hpp"
 32 #include "gc/shared/continuationGCSupport.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/flatArrayKlass.inline.hpp"
 46 
 47 PaddedEnd<PSPromotionManager>* PSPromotionManager::_manager_array = nullptr;
 48 PSPromotionManager::PSScannerTasksQueueSet* PSPromotionManager::_stack_array_depth = nullptr;
 49 PreservedMarksSet*             PSPromotionManager::_preserved_marks_set = nullptr;
 50 PSOldGen*                      PSPromotionManager::_old_gen = nullptr;
 51 MutableSpace*                  PSPromotionManager::_young_space = nullptr;
 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;
 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 == nullptr, "Attempt to initialize twice");
 64   _manager_array = PaddedArray<PSPromotionManager, mtGC>::create_unfreeable(promotion_manager_num);
 65 
< prev index next >