hotspot/src/share/vm/gc_implementation/g1/concurrentMark.hpp
changeset 7657 a80e571c3d96
parent 7397 5b173b4ca846
child 7923 fc200fcd4e05
equal deleted inserted replaced
7456:e1051d89d137 7657:a80e571c3d96
    31 class G1CollectedHeap;
    31 class G1CollectedHeap;
    32 class CMTask;
    32 class CMTask;
    33 typedef GenericTaskQueue<oop>            CMTaskQueue;
    33 typedef GenericTaskQueue<oop>            CMTaskQueue;
    34 typedef GenericTaskQueueSet<CMTaskQueue> CMTaskQueueSet;
    34 typedef GenericTaskQueueSet<CMTaskQueue> CMTaskQueueSet;
    35 
    35 
       
    36 // Closure used by CM during concurrent reference discovery
       
    37 // and reference processing (during remarking) to determine
       
    38 // if a particular object is alive. It is primarily used
       
    39 // to determine if referents of discovered reference objects
       
    40 // are alive. An instance is also embedded into the
       
    41 // reference processor as the _is_alive_non_header field
       
    42 class G1CMIsAliveClosure: public BoolObjectClosure {
       
    43   G1CollectedHeap* _g1;
       
    44  public:
       
    45   G1CMIsAliveClosure(G1CollectedHeap* g1) :
       
    46     _g1(g1)
       
    47   {}
       
    48 
       
    49   void do_object(oop obj) {
       
    50     ShouldNotCallThis();
       
    51   }
       
    52   bool do_object_b(oop obj);
       
    53 };
       
    54 
    36 // A generic CM bit map.  This is essentially a wrapper around the BitMap
    55 // A generic CM bit map.  This is essentially a wrapper around the BitMap
    37 // class, with one bit per (1<<_shifter) HeapWords.
    56 // class, with one bit per (1<<_shifter) HeapWords.
    38 
    57 
    39 class CMBitMapRO VALUE_OBJ_CLASS_SPEC {
    58 class CMBitMapRO VALUE_OBJ_CLASS_SPEC {
    40  protected:
    59  protected: