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 |