hotspot/src/share/vm/gc_implementation/shared/markSweep.hpp
changeset 30150 d9c940aa42ef
parent 29792 8c6fa07f0869
child 30262 04d3680cd029
equal deleted inserted replaced
30149:c0f930abe5ed 30150:d9c940aa42ef
    58    public:
    58    public:
    59     virtual void do_oop(oop* p);
    59     virtual void do_oop(oop* p);
    60     virtual void do_oop(narrowOop* p);
    60     virtual void do_oop(narrowOop* p);
    61   };
    61   };
    62 
    62 
    63   class MarkAndPushClosure: public OopClosure {
    63   class MarkAndPushClosure: public ExtendedOopClosure {
    64    public:
    64    public:
       
    65     template <typename T> void do_oop_nv(T* p);
    65     virtual void do_oop(oop* p);
    66     virtual void do_oop(oop* p);
    66     virtual void do_oop(narrowOop* p);
    67     virtual void do_oop(narrowOop* p);
    67   };
    68   };
    68 
    69 
    69   class FollowStackClosure: public VoidClosure {
    70   class FollowStackClosure: public VoidClosure {
    71     virtual void do_void();
    72     virtual void do_void();
    72   };
    73   };
    73 
    74 
    74   class AdjustPointerClosure: public OopsInGenClosure {
    75   class AdjustPointerClosure: public OopsInGenClosure {
    75    public:
    76    public:
    76     virtual void do_oop(oop* p);
    77     template <typename T> void do_oop_nv(T* p);
    77     virtual void do_oop(narrowOop* p);
    78     virtual void do_oop(oop* p);
       
    79     virtual void do_oop(narrowOop* p);
       
    80 
       
    81     // This closure provides its own oop verification code.
       
    82     debug_only(virtual bool should_verify_oops() { return false; })
    78   };
    83   };
    79 
    84 
    80   // Used for java/lang/ref handling
    85   // Used for java/lang/ref handling
    81   class IsAliveClosure: public BoolObjectClosure {
    86   class IsAliveClosure: public BoolObjectClosure {
    82    public:
    87    public: