24 |
24 |
25 #ifndef SHARE_JFR_LEAKPROFILER_CHECKPOINT_OBJECTSAMPLECHECKPOINT_HPP |
25 #ifndef SHARE_JFR_LEAKPROFILER_CHECKPOINT_OBJECTSAMPLECHECKPOINT_HPP |
26 #define SHARE_JFR_LEAKPROFILER_CHECKPOINT_OBJECTSAMPLECHECKPOINT_HPP |
26 #define SHARE_JFR_LEAKPROFILER_CHECKPOINT_OBJECTSAMPLECHECKPOINT_HPP |
27 |
27 |
28 #include "memory/allocation.hpp" |
28 #include "memory/allocation.hpp" |
29 #include "utilities/exceptions.hpp" |
|
30 |
29 |
31 class EdgeStore; |
30 class EdgeStore; |
|
31 class JfrCheckpointWriter; |
32 class JfrStackTraceRepository; |
32 class JfrStackTraceRepository; |
33 class JfrCheckpointWriter; |
|
34 class ObjectSampleMarker; |
33 class ObjectSampleMarker; |
|
34 class ObjectSampler; |
35 |
35 |
36 class ObjectSampleCheckpoint : AllStatic { |
36 class ObjectSampleCheckpoint : AllStatic { |
37 public: |
37 public: |
38 static void install(JfrCheckpointWriter& writer, bool class_unload, bool resume); |
38 static void install(JfrCheckpointWriter& writer, bool class_unload); |
39 static void write(const EdgeStore* edge_store, bool emit_all, Thread* thread); |
39 static void write(ObjectSampler* sampler, EdgeStore* edge_store, bool emit_all, Thread* thread); |
40 static int mark(ObjectSampleMarker& marker, bool emit_all); |
40 static int mark(ObjectSampler* sampler, ObjectSampleMarker& marker, bool emit_all); |
41 }; |
41 }; |
42 |
42 |
43 class WriteObjectSampleStacktrace : public StackObj { |
43 class WriteObjectSampleStacktrace : public StackObj { |
44 private: |
44 private: |
|
45 ObjectSampler* const _sampler; |
45 JfrStackTraceRepository& _stack_trace_repo; |
46 JfrStackTraceRepository& _stack_trace_repo; |
46 public: |
47 public: |
47 WriteObjectSampleStacktrace(JfrStackTraceRepository& repo); |
48 WriteObjectSampleStacktrace(ObjectSampler* sampler, JfrStackTraceRepository& repo); |
48 bool process(); |
49 bool process(); |
49 }; |
50 }; |
50 |
51 |
51 #endif // SHARE_JFR_LEAKPROFILER_CHECKPOINT_OBJECTSAMPLECHECKPOINT_HPP |
52 #endif // SHARE_JFR_LEAKPROFILER_CHECKPOINT_OBJECTSAMPLECHECKPOINT_HPP |