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