src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointManager.hpp
changeset 50703 0486d7749b8d
parent 50113 caf115bb98ad
child 53244 9807daeb47c4
equal deleted inserted replaced
50702:2c9e2ec54a11 50703:0486d7749b8d
    26 #define SHARE_VM_JFR_RECORDER_CHECKPOINT_JFRCHECKPOINTMANAGER_HPP
    26 #define SHARE_VM_JFR_RECORDER_CHECKPOINT_JFRCHECKPOINTMANAGER_HPP
    27 
    27 
    28 #include "jfr/recorder/storage/jfrBuffer.hpp"
    28 #include "jfr/recorder/storage/jfrBuffer.hpp"
    29 #include "jfr/recorder/storage/jfrMemorySpace.hpp"
    29 #include "jfr/recorder/storage/jfrMemorySpace.hpp"
    30 #include "jfr/recorder/storage/jfrMemorySpaceRetrieval.hpp"
    30 #include "jfr/recorder/storage/jfrMemorySpaceRetrieval.hpp"
    31 #include "jfr/utilities/jfrTypes.hpp"
       
    32 
    31 
    33 class JfrCheckpointManager;
    32 class JfrCheckpointManager;
    34 class JfrChunkWriter;
    33 class JfrChunkWriter;
    35 class JfrSerializer;
    34 class JfrSerializer;
    36 class JfrTypeManager;
    35 class JfrTypeManager;
    57   typedef JfrCheckpointMspace::Type Buffer;
    56   typedef JfrCheckpointMspace::Type Buffer;
    58  private:
    57  private:
    59   JfrCheckpointMspace* _free_list_mspace;
    58   JfrCheckpointMspace* _free_list_mspace;
    60   JfrCheckpointMspace* _epoch_transition_mspace;
    59   JfrCheckpointMspace* _epoch_transition_mspace;
    61   Mutex* _lock;
    60   Mutex* _lock;
    62   JfrTypeManager* _type_manager;
       
    63   const Thread* _service_thread;
    61   const Thread* _service_thread;
    64   JfrChunkWriter& _chunkwriter;
    62   JfrChunkWriter& _chunkwriter;
    65   bool _checkpoint_epoch_state;
    63   bool _checkpoint_epoch_state;
    66 
    64 
    67   // mspace callback
    65   // mspace callback
    89   static JfrCheckpointManager& instance();
    87   static JfrCheckpointManager& instance();
    90   static JfrCheckpointManager* create(JfrChunkWriter& cw);
    88   static JfrCheckpointManager* create(JfrChunkWriter& cw);
    91   bool initialize();
    89   bool initialize();
    92   static void destroy();
    90   static void destroy();
    93 
    91 
    94   static bool register_serializer(JfrTypeId id, bool require_safepoint, bool permit_cache, JfrSerializer* serializer);
       
    95 
       
    96  public:
    92  public:
    97   void register_service_thread(const Thread* t);
    93   void register_service_thread(const Thread* t);
    98   static void write_type_set_for_unloaded_classes();
    94   static void write_type_set_for_unloaded_classes();
    99   static void create_thread_checkpoint(JavaThread* jt);
    95   static void create_thread_checkpoint(JavaThread* jt);
   100   static void write_thread_checkpoint(JavaThread* jt);
    96   static void write_thread_checkpoint(JavaThread* jt);