< prev index next >

src/hotspot/share/jfr/leakprofiler/chains/bfsClosure.hpp

Print this page
*** 23,24 ***
   */
  
  #ifndef SHARE_JFR_LEAKPROFILER_CHAINS_BFSCLOSURE_HPP
  #define SHARE_JFR_LEAKPROFILER_CHAINS_BFSCLOSURE_HPP
  
  #include "jfr/leakprofiler/utilities/unifiedOopRef.hpp"
  #include "memory/iterator.hpp"
  
- class BitSet;
  class Edge;
  class EdgeStore;
  class EdgeQueue;
  
  // Class responsible for iterating the heap breadth-first
  class BFSClosure : public BasicOopIterateClosure {
   private:
    EdgeQueue* _edge_queue;
    EdgeStore* _edge_store;
!   BitSet* _mark_bits;
    const Edge* _current_parent;
    mutable size_t _current_frontier_level;
    mutable size_t _next_frontier_idx;
    mutable size_t _prev_frontier_idx;
    size_t _dfs_fallback_idx;
--- 23,24 ---
   */
  
  #ifndef SHARE_JFR_LEAKPROFILER_CHAINS_BFSCLOSURE_HPP
  #define SHARE_JFR_LEAKPROFILER_CHAINS_BFSCLOSURE_HPP
  
+ #include "jfr/leakprofiler/chains/jfrbitset.hpp"
  #include "jfr/leakprofiler/utilities/unifiedOopRef.hpp"
  #include "memory/iterator.hpp"
  
  class Edge;
  class EdgeStore;
  class EdgeQueue;
  
  // Class responsible for iterating the heap breadth-first
  class BFSClosure : public BasicOopIterateClosure {
   private:
    EdgeQueue* _edge_queue;
    EdgeStore* _edge_store;
!   JFRBitSet* _mark_bits;
    const Edge* _current_parent;
    mutable size_t _current_frontier_level;
    mutable size_t _next_frontier_idx;
    mutable size_t _prev_frontier_idx;
    size_t _dfs_fallback_idx;

*** 63,11 ***
    void process_queue();
  
   public:
    virtual ReferenceIterationMode reference_iteration_mode() { return DO_FIELDS_EXCEPT_REFERENT; }
  
!   BFSClosure(EdgeQueue* edge_queue, EdgeStore* edge_store, BitSet* mark_bits);
    void process();
    void do_root(UnifiedOopRef ref);
  
    virtual void do_oop(oop* ref);
    virtual void do_oop(narrowOop* ref);
--- 63,11 ---
    void process_queue();
  
   public:
    virtual ReferenceIterationMode reference_iteration_mode() { return DO_FIELDS_EXCEPT_REFERENT; }
  
!   BFSClosure(EdgeQueue* edge_queue, EdgeStore* edge_store, JFRBitSet* mark_bits);
    void process();
    void do_root(UnifiedOopRef ref);
  
    virtual void do_oop(oop* ref);
    virtual void do_oop(narrowOop* ref);
< prev index next >