183
184 virtual void do_cld(ClassLoaderData* cld);
185 void do_cld_nv(ClassLoaderData* cld);
186
187 void set_ref_processor(ReferenceProcessor* rp) {
188 set_ref_processor_internal(rp);
189 }
190 };
191
192 class AdjustPointerClosure: public OopsInGenClosure {
193 public:
194 template <typename T> void do_oop_nv(T* p);
195 virtual void do_oop(oop* p);
196 virtual void do_oop(narrowOop* p);
197 virtual ReferenceIterationMode reference_iteration_mode() { return DO_FIELDS; }
198
199 // This closure provides its own oop verification code.
200 debug_only(virtual bool should_verify_oops() { return false; })
201 };
202
203 class PreservedMark VALUE_OBJ_CLASS_SPEC {
204 private:
205 oop _obj;
206 markOop _mark;
207
208 public:
209 void init(oop obj, markOop mark) {
210 _obj = obj;
211 _mark = mark;
212 }
213
214 void adjust_pointer();
215 void restore();
216 };
217
218 #endif // SHARE_VM_GC_SERIAL_MARKSWEEP_HPP
|
183
184 virtual void do_cld(ClassLoaderData* cld);
185 void do_cld_nv(ClassLoaderData* cld);
186
187 void set_ref_processor(ReferenceProcessor* rp) {
188 set_ref_processor_internal(rp);
189 }
190 };
191
192 class AdjustPointerClosure: public OopsInGenClosure {
193 public:
194 template <typename T> void do_oop_nv(T* p);
195 virtual void do_oop(oop* p);
196 virtual void do_oop(narrowOop* p);
197 virtual ReferenceIterationMode reference_iteration_mode() { return DO_FIELDS; }
198
199 // This closure provides its own oop verification code.
200 debug_only(virtual bool should_verify_oops() { return false; })
201 };
202
203 class PreservedMark {
204 private:
205 oop _obj;
206 markOop _mark;
207
208 public:
209 void init(oop obj, markOop mark) {
210 _obj = obj;
211 _mark = mark;
212 }
213
214 void adjust_pointer();
215 void restore();
216 };
217
218 #endif // SHARE_VM_GC_SERIAL_MARKSWEEP_HPP
|