src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.hpp

changeset 3900
d2a62e0f25eb
parent 3298
7913e93dca52
child 4037
da91efe96a93
     1.1 --- a/src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.hpp	Wed Jun 27 15:23:36 2012 +0200
     1.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.hpp	Thu Jun 28 17:03:16 2012 -0400
     1.3 @@ -41,7 +41,7 @@
     1.4  class ParallelCompactData;
     1.5  class ParMarkBitMap;
     1.6  
     1.7 -class ParCompactionManager : public CHeapObj {
     1.8 +class ParCompactionManager : public CHeapObj<mtGC> {
     1.9    friend class ParallelTaskTerminator;
    1.10    friend class ParMarkBitMap;
    1.11    friend class PSParallelCompact;
    1.12 @@ -66,8 +66,8 @@
    1.13   private:
    1.14    // 32-bit:  4K * 8 = 32KiB; 64-bit:  8K * 16 = 128KiB
    1.15    #define QUEUE_SIZE (1 << NOT_LP64(12) LP64_ONLY(13))
    1.16 -  typedef OverflowTaskQueue<ObjArrayTask, QUEUE_SIZE> ObjArrayTaskQueue;
    1.17 -  typedef GenericTaskQueueSet<ObjArrayTaskQueue>      ObjArrayTaskQueueSet;
    1.18 +  typedef OverflowTaskQueue<ObjArrayTask, mtGC, QUEUE_SIZE> ObjArrayTaskQueue;
    1.19 +  typedef GenericTaskQueueSet<ObjArrayTaskQueue, mtGC>      ObjArrayTaskQueueSet;
    1.20    #undef QUEUE_SIZE
    1.21  
    1.22    static ParCompactionManager** _manager_array;
    1.23 @@ -78,7 +78,7 @@
    1.24    static PSOldGen*              _old_gen;
    1.25  
    1.26  private:
    1.27 -  OverflowTaskQueue<oop>        _marking_stack;
    1.28 +  OverflowTaskQueue<oop, mtGC>        _marking_stack;
    1.29    ObjArrayTaskQueue             _objarray_stack;
    1.30  
    1.31    // Is there a way to reuse the _marking_stack for the
    1.32 @@ -110,8 +110,8 @@
    1.33    // popped.  If -1, there has not been any entry popped.
    1.34    static int                      _recycled_bottom;
    1.35  
    1.36 -  Stack<Klass*>                 _revisit_klass_stack;
    1.37 -  Stack<DataLayout*>            _revisit_mdo_stack;
    1.38 +  Stack<Klass*, mtGC>                 _revisit_klass_stack;
    1.39 +  Stack<DataLayout*, mtGC>            _revisit_mdo_stack;
    1.40  
    1.41    static ParMarkBitMap* _mark_bitmap;
    1.42  
    1.43 @@ -126,7 +126,7 @@
    1.44   protected:
    1.45    // Array of tasks.  Needed by the ParallelTaskTerminator.
    1.46    static RegionTaskQueueSet* region_array()      { return _region_array; }
    1.47 -  OverflowTaskQueue<oop>*  marking_stack()       { return &_marking_stack; }
    1.48 +  OverflowTaskQueue<oop, mtGC>*  marking_stack()       { return &_marking_stack; }
    1.49  
    1.50    // Pushes onto the marking stack.  If the marking stack is full,
    1.51    // pushes onto the overflow stack.
    1.52 @@ -175,8 +175,8 @@
    1.53    bool should_update();
    1.54    bool should_copy();
    1.55  
    1.56 -  Stack<Klass*>* revisit_klass_stack() { return &_revisit_klass_stack; }
    1.57 -  Stack<DataLayout*>* revisit_mdo_stack() { return &_revisit_mdo_stack; }
    1.58 +  Stack<Klass*, mtGC>* revisit_klass_stack() { return &_revisit_klass_stack; }
    1.59 +  Stack<DataLayout*, mtGC>* revisit_mdo_stack() { return &_revisit_mdo_stack; }
    1.60  
    1.61    // Save for later processing.  Must not fail.
    1.62    inline void push(oop obj) { _marking_stack.push(obj); }

mercurial