< prev index next >

src/share/vm/jfr/leakprofiler/chains/rootSetClosure.hpp

Print this page
rev 9055 : 8214542: JFR: Old Object Sample event slow on a deep heap in debug builds
Reviewed-by: egahlin, rwestberg

*** 24,45 **** #ifndef SHARE_VM_JFR_LEAKPROFILER_CHAINS_ROOTSETCLOSURE_HPP #define SHARE_VM_JFR_LEAKPROFILER_CHAINS_ROOTSETCLOSURE_HPP #include "memory/iterator.hpp" - #include "oops/oop.hpp" - - class EdgeQueue; class RootSetClosure: public ExtendedOopClosure { // BasicOopIterateClosure private: ! RootSetClosure(EdgeQueue* edge_queue); ! EdgeQueue* _edge_queue; ! void closure_impl(const oop* reference, const oop pointee); public: ! static void add_to_queue(EdgeQueue* edge_queue); ! static void process_roots(OopClosure* closure); virtual void do_oop(oop* reference); virtual void do_oop(narrowOop* reference); }; --- 24,41 ---- #ifndef SHARE_VM_JFR_LEAKPROFILER_CHAINS_ROOTSETCLOSURE_HPP #define SHARE_VM_JFR_LEAKPROFILER_CHAINS_ROOTSETCLOSURE_HPP #include "memory/iterator.hpp" + template <typename Delegate> class RootSetClosure: public ExtendedOopClosure { // BasicOopIterateClosure private: ! Delegate* const _delegate; public: ! RootSetClosure(Delegate* delegate); ! void process(); virtual void do_oop(oop* reference); virtual void do_oop(narrowOop* reference); };
< prev index next >