src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleCheckpoint.hpp
changeset 55571 49102ba8cf14
parent 53244 9807daeb47c4
child 57644 446dcfc2a925
equal deleted inserted replaced
55570:1e95931e7d8f 55571:49102ba8cf14
    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