< prev index next >

src/hotspot/share/gc/parallel/psCompactionManager.hpp

8224665: Parallel GC: Use WorkGang (7: remove task manager)

25 #define SHARE_GC_PARALLEL_PSCOMPACTIONMANAGER_HPP                                                                          
26 
27 #include "gc/shared/taskqueue.hpp"                                                                                         
28 #include "memory/allocation.hpp"                                                                                           
29 #include "utilities/stack.hpp"                                                                                             
30 
31 class MutableSpace;                                                                                                        
32 class PSOldGen;                                                                                                            
33 class ParCompactionManager;                                                                                                
34 class ObjectStartArray;                                                                                                    
35 class ParallelCompactData;                                                                                                 
36 class ParMarkBitMap;                                                                                                       
37 
38 class ParCompactionManager : public CHeapObj<mtGC> {                                                                       
39   friend class ParallelTaskTerminator;                                                                                     
40   friend class ParMarkBitMap;                                                                                              
41   friend class PSParallelCompact;                                                                                          
42   friend class CompactionWithStealingTask;                                                                                 
43   friend class UpdateAndFillClosure;                                                                                       
44   friend class RefProcTaskExecutor;                                                                                        
45   friend class IdleGCTask;                                                                                                 
46   friend class PCRefProcTask;                                                                                              
47   friend class MarkFromRootsTask;                                                                                          
48   friend class UpdateDensePrefixAndCompactionTask;                                                                         
49 
50  public:                                                                                                                   
51 
52 // ------------------------  Don't putback if not needed                                                                   
53   // Actions that the compaction manager should take.                                                                      
54   enum Action {                                                                                                            
55     Update,                                                                                                                
56     Copy,                                                                                                                  
57     UpdateAndCopy,                                                                                                         
58     CopyAndUpdate,                                                                                                         
59     NotValid                                                                                                               
60   };                                                                                                                       
61 // ------------------------  End don't putback if not needed                                                               
62 
63  private:                                                                                                                  
64   // 32-bit:  4K * 8 = 32KiB; 64-bit:  8K * 16 = 128KiB                                                                    

25 #define SHARE_GC_PARALLEL_PSCOMPACTIONMANAGER_HPP
26 
27 #include "gc/shared/taskqueue.hpp"
28 #include "memory/allocation.hpp"
29 #include "utilities/stack.hpp"
30 
31 class MutableSpace;
32 class PSOldGen;
33 class ParCompactionManager;
34 class ObjectStartArray;
35 class ParallelCompactData;
36 class ParMarkBitMap;
37 
38 class ParCompactionManager : public CHeapObj<mtGC> {
39   friend class ParallelTaskTerminator;
40   friend class ParMarkBitMap;
41   friend class PSParallelCompact;
42   friend class CompactionWithStealingTask;
43   friend class UpdateAndFillClosure;
44   friend class RefProcTaskExecutor;

45   friend class PCRefProcTask;
46   friend class MarkFromRootsTask;
47   friend class UpdateDensePrefixAndCompactionTask;
48 
49  public:
50 
51 // ------------------------  Don't putback if not needed
52   // Actions that the compaction manager should take.
53   enum Action {
54     Update,
55     Copy,
56     UpdateAndCopy,
57     CopyAndUpdate,
58     NotValid
59   };
60 // ------------------------  End don't putback if not needed
61 
62  private:
63   // 32-bit:  4K * 8 = 32KiB; 64-bit:  8K * 16 = 128KiB
< prev index next >