< prev index next >

src/share/vm/jfr/leakprofiler/chains/dfsClosure.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,42 **** #ifndef SHARE_VM_JFR_LEAKPROFILER_CHAINS_DFSCLOSURE_HPP #define SHARE_VM_JFR_LEAKPROFILER_CHAINS_DFSCLOSURE_HPP #include "memory/iterator.hpp" - #include "oops/oop.hpp" class BitSet; class Edge; class EdgeStore; class EdgeQueue; // Class responsible for iterating the heap depth-first ! class DFSClosure: public ExtendedOopClosure { // XXX BasicOopIterateClosure private: static EdgeStore* _edge_store; static BitSet* _mark_bits; static const Edge*_start_edge; static size_t _max_depth; --- 24,41 ---- #ifndef SHARE_VM_JFR_LEAKPROFILER_CHAINS_DFSCLOSURE_HPP #define SHARE_VM_JFR_LEAKPROFILER_CHAINS_DFSCLOSURE_HPP #include "memory/iterator.hpp" class BitSet; class Edge; class EdgeStore; class EdgeQueue; // Class responsible for iterating the heap depth-first ! class DFSClosure : public ExtendedOopClosure { // XXX BasicOopIterateClosure private: static EdgeStore* _edge_store; static BitSet* _mark_bits; static const Edge*_start_edge; static size_t _max_depth;
*** 55,64 **** --- 54,64 ---- DFSClosure(); public: static void find_leaks_from_edge(EdgeStore* edge_store, BitSet* mark_bits, const Edge* start_edge); static void find_leaks_from_root_set(EdgeStore* edge_store, BitSet* mark_bits); + void do_root(const oop* ref); virtual void do_oop(oop* ref); virtual void do_oop(narrowOop* ref); };
< prev index next >