hotspot/src/share/vm/gc_implementation/shared/markSweep.hpp
changeset 25492 d27050bdfb04
parent 25491 70fb742e40aa
child 29701 f638fc81a3d0
equal deleted inserted replaced
25491:70fb742e40aa 25492:d27050bdfb04
    61 
    61 
    62   class MarkAndPushClosure: public OopClosure {
    62   class MarkAndPushClosure: public OopClosure {
    63    public:
    63    public:
    64     virtual void do_oop(oop* p);
    64     virtual void do_oop(oop* p);
    65     virtual void do_oop(narrowOop* p);
    65     virtual void do_oop(narrowOop* p);
    66   };
       
    67 
       
    68   // The one and only place to start following the classes.
       
    69   // Should only be applied to the ClassLoaderData klasses list.
       
    70   class FollowKlassClosure : public KlassClosure {
       
    71    public:
       
    72     void do_klass(Klass* klass);
       
    73   };
       
    74   class AdjustKlassClosure : public KlassClosure {
       
    75    public:
       
    76     void do_klass(Klass* klass);
       
    77   };
    66   };
    78 
    67 
    79   class FollowStackClosure: public VoidClosure {
    68   class FollowStackClosure: public VoidClosure {
    80    public:
    69    public:
    81     virtual void do_void();
    70     virtual void do_void();
   142  public:
   131  public:
   143   // Public closures
   132   // Public closures
   144   static IsAliveClosure       is_alive;
   133   static IsAliveClosure       is_alive;
   145   static FollowRootClosure    follow_root_closure;
   134   static FollowRootClosure    follow_root_closure;
   146   static MarkAndPushClosure   mark_and_push_closure;
   135   static MarkAndPushClosure   mark_and_push_closure;
   147   static FollowKlassClosure   follow_klass_closure;
       
   148   static FollowStackClosure   follow_stack_closure;
   136   static FollowStackClosure   follow_stack_closure;
       
   137   static CLDToOopClosure      follow_cld_closure;
   149   static AdjustPointerClosure adjust_pointer_closure;
   138   static AdjustPointerClosure adjust_pointer_closure;
   150   static AdjustKlassClosure   adjust_klass_closure;
   139   static CLDToOopClosure      adjust_cld_closure;
   151 
   140 
   152   // Accessors
   141   // Accessors
   153   static uint total_invocations() { return _total_invocations; }
   142   static uint total_invocations() { return _total_invocations; }
   154 
   143 
   155   // Reference Processing
   144   // Reference Processing