--- a/src/hotspot/share/jfr/leakprofiler/chains/rootSetClosure.hpp Fri Aug 23 18:47:55 2019 +0200
+++ b/src/hotspot/share/jfr/leakprofiler/chains/rootSetClosure.hpp Sat Aug 24 14:30:27 2019 +0200
@@ -26,18 +26,14 @@
#define SHARE_JFR_LEAKPROFILER_CHAINS_ROOTSETCLOSURE_HPP
#include "memory/iterator.hpp"
-#include "oops/oop.hpp"
-class EdgeQueue;
-
+template <typename Delegate>
class RootSetClosure: public BasicOopIterateClosure {
private:
- RootSetClosure(EdgeQueue* edge_queue);
- EdgeQueue* _edge_queue;
- void closure_impl(const oop* reference, const oop pointee);
+ Delegate* const _delegate;
public:
- static void add_to_queue(EdgeQueue* edge_queue);
- static void process_roots(OopClosure* closure);
+ RootSetClosure(Delegate* delegate);
+ void process();
virtual void do_oop(oop* reference);
virtual void do_oop(narrowOop* reference);