hotspot/src/share/vm/gc_implementation/shared/markSweep.hpp
changeset 25491 70fb742e40aa
parent 25490 59f226da8d81
child 25492 d27050bdfb04
--- a/hotspot/src/share/vm/gc_implementation/shared/markSweep.hpp	Mon Jul 07 10:12:40 2014 +0200
+++ b/hotspot/src/share/vm/gc_implementation/shared/markSweep.hpp	Mon Jul 07 12:37:11 2014 +0200
@@ -65,6 +65,17 @@
     virtual void do_oop(narrowOop* p);
   };
 
+  // The one and only place to start following the classes.
+  // Should only be applied to the ClassLoaderData klasses list.
+  class FollowKlassClosure : public KlassClosure {
+   public:
+    void do_klass(Klass* klass);
+  };
+  class AdjustKlassClosure : public KlassClosure {
+   public:
+    void do_klass(Klass* klass);
+  };
+
   class FollowStackClosure: public VoidClosure {
    public:
     virtual void do_void();
@@ -133,10 +144,10 @@
   static IsAliveClosure       is_alive;
   static FollowRootClosure    follow_root_closure;
   static MarkAndPushClosure   mark_and_push_closure;
+  static FollowKlassClosure   follow_klass_closure;
   static FollowStackClosure   follow_stack_closure;
-  static CLDToOopClosure      follow_cld_closure;
   static AdjustPointerClosure adjust_pointer_closure;
-  static CLDToOopClosure      adjust_cld_closure;
+  static AdjustKlassClosure   adjust_klass_closure;
 
   // Accessors
   static uint total_invocations() { return _total_invocations; }