< prev index next >
src/hotspot/share/gc/g1/g1FullGCOopClosures.hpp
Print this page
*** 53,90 ****
virtual void do_oop(oop* p);
virtual void do_oop(narrowOop* p);
};
! class G1MarkAndPushClosure : public ExtendedOopClosure {
G1FullGCMarker* _marker;
uint _worker_id;
public:
G1MarkAndPushClosure(uint worker, G1FullGCMarker* marker, ReferenceDiscoverer* ref) :
_marker(marker),
_worker_id(worker),
! ExtendedOopClosure(ref) { }
! template <class T> inline void do_oop_nv(T* p);
virtual void do_oop(oop* p);
virtual void do_oop(narrowOop* p);
virtual bool do_metadata();
- bool do_metadata_nv();
-
virtual void do_klass(Klass* k);
- void do_klass_nv(Klass* k);
-
virtual void do_cld(ClassLoaderData* cld);
- void do_cld_nv(ClassLoaderData* cld);
};
! class G1AdjustClosure : public ExtendedOopClosure {
template <class T> static inline void adjust_pointer(T* p);
public:
! template <class T> void do_oop_nv(T* p) { adjust_pointer(p); }
virtual void do_oop(oop* p);
virtual void do_oop(narrowOop* p);
virtual ReferenceIterationMode reference_iteration_mode() { return DO_FIELDS; }
};
--- 53,85 ----
virtual void do_oop(oop* p);
virtual void do_oop(narrowOop* p);
};
! class G1MarkAndPushClosure : public OopIterateClosure {
G1FullGCMarker* _marker;
uint _worker_id;
public:
G1MarkAndPushClosure(uint worker, G1FullGCMarker* marker, ReferenceDiscoverer* ref) :
_marker(marker),
_worker_id(worker),
! OopIterateClosure(ref) { }
! template <class T> inline void do_oop_work(T* p);
virtual void do_oop(oop* p);
virtual void do_oop(narrowOop* p);
virtual bool do_metadata();
virtual void do_klass(Klass* k);
virtual void do_cld(ClassLoaderData* cld);
};
! class G1AdjustClosure : public BasicOopIterateClosure {
template <class T> static inline void adjust_pointer(T* p);
public:
! template <class T> void do_oop_work(T* p) { adjust_pointer(p); }
virtual void do_oop(oop* p);
virtual void do_oop(narrowOop* p);
virtual ReferenceIterationMode reference_iteration_mode() { return DO_FIELDS; }
};
*** 105,118 ****
}
bool failures() { return _failures; }
void print_object(outputStream* out, oop obj);
! template <class T> void do_oop_nv(T* p);
! void do_oop(oop* p) { do_oop_nv(p); }
! void do_oop(narrowOop* p) { do_oop_nv(p); }
};
class G1FollowStackClosure: public VoidClosure {
G1FullGCMarker* _marker;
--- 100,113 ----
}
bool failures() { return _failures; }
void print_object(outputStream* out, oop obj);
! template <class T> void do_oop_work(T* p);
! void do_oop(oop* p) { do_oop_work(p); }
! void do_oop(narrowOop* p) { do_oop_work(p); }
};
class G1FollowStackClosure: public VoidClosure {
G1FullGCMarker* _marker;
< prev index next >