src/hotspot/share/jfr/leakprofiler/chains/edgeUtils.hpp
branchJEP-349-branch
changeset 57870 00860d9caf4d
parent 53244 9807daeb47c4
--- a/src/hotspot/share/jfr/leakprofiler/chains/edgeUtils.hpp	Fri Aug 23 18:47:55 2019 +0200
+++ b/src/hotspot/share/jfr/leakprofiler/chains/edgeUtils.hpp	Sat Aug 24 14:30:27 2019 +0200
@@ -28,15 +28,17 @@
 #include "memory/allocation.hpp"
 
 class Edge;
-class RoutableEdge;
 class Symbol;
 
 class EdgeUtils : public AllStatic {
  public:
-  static bool is_leak_edge(const Edge& edge);
+  static const size_t leak_context = 100;
+  static const size_t root_context = 100;
+  static const size_t max_ref_chain_depth = leak_context + root_context;
 
+  static bool is_leak_edge(const Edge& edge);
   static const Edge* root(const Edge& edge);
-  static bool is_root(const Edge& edge);
+  static const Edge* ancestor(const Edge& edge, size_t distance);
 
   static bool is_array_element(const Edge& edge);
   static int array_index(const Edge& edge);
@@ -44,8 +46,6 @@
 
   static const Symbol* field_name_symbol(const Edge& edge);
   static jshort field_modifiers(const Edge& edge);
-
-  static void collapse_chain(const RoutableEdge& edge);
 };
 
 #endif // SHARE_JFR_LEAKPROFILER_CHAINS_EDGEUTILS_HPP