71 };
72 class AdjustKlassClosure : public KlassClosure {
73 public:
74 void do_klass(Klass* klass);
75 };
76
77 class FollowStackClosure: public VoidClosure {
78 public:
79 virtual void do_void();
80 };
81
82 class AdjustPointerClosure: public OopsInGenClosure {
83 public:
84 virtual void do_oop(oop* p);
85 virtual void do_oop(narrowOop* p);
86 };
87
88 // Used for java/lang/ref handling
89 class IsAliveClosure: public BoolObjectClosure {
90 public:
91 virtual void do_object(oop p);
92 virtual bool do_object_b(oop p);
93 };
94
95 class KeepAliveClosure: public OopClosure {
96 protected:
97 template <class T> void do_oop_work(T* p);
98 public:
99 virtual void do_oop(oop* p);
100 virtual void do_oop(narrowOop* p);
101 };
102
103 //
104 // Friend decls
105 //
106 friend class AdjustPointerClosure;
107 friend class KeepAliveClosure;
108 friend class VM_MarkSweep;
109 friend void marksweep_init();
110
111 //
|
71 };
72 class AdjustKlassClosure : public KlassClosure {
73 public:
74 void do_klass(Klass* klass);
75 };
76
77 class FollowStackClosure: public VoidClosure {
78 public:
79 virtual void do_void();
80 };
81
82 class AdjustPointerClosure: public OopsInGenClosure {
83 public:
84 virtual void do_oop(oop* p);
85 virtual void do_oop(narrowOop* p);
86 };
87
88 // Used for java/lang/ref handling
89 class IsAliveClosure: public BoolObjectClosure {
90 public:
91 virtual bool do_object_b(oop p);
92 };
93
94 class KeepAliveClosure: public OopClosure {
95 protected:
96 template <class T> void do_oop_work(T* p);
97 public:
98 virtual void do_oop(oop* p);
99 virtual void do_oop(narrowOop* p);
100 };
101
102 //
103 // Friend decls
104 //
105 friend class AdjustPointerClosure;
106 friend class KeepAliveClosure;
107 friend class VM_MarkSweep;
108 friend void marksweep_init();
109
110 //
|