< 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 >