src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointManager.hpp
changeset 58863 c16ac7a2eba4
parent 58132 caa25ab47aca
equal deleted inserted replaced
58861:2c3cc4b01880 58863:c16ac7a2eba4
    66   void register_full(Buffer* t, Thread* thread);
    66   void register_full(Buffer* t, Thread* thread);
    67   void lock();
    67   void lock();
    68   void unlock();
    68   void unlock();
    69   DEBUG_ONLY(bool is_locked() const;)
    69   DEBUG_ONLY(bool is_locked() const;)
    70 
    70 
       
    71   JfrCheckpointMspace* lookup(Buffer* old) const;
       
    72   bool use_epoch_transition_mspace(const Thread* t) const;
       
    73   size_t write_epoch_transition_mspace();
       
    74 
    71   static Buffer* lease_buffer(Thread* t, size_t size = 0);
    75   static Buffer* lease_buffer(Thread* t, size_t size = 0);
       
    76   static Buffer* lease_buffer(Buffer* old, Thread* t, size_t size = 0);
    72   static Buffer* flush(Buffer* old, size_t used, size_t requested, Thread* t);
    77   static Buffer* flush(Buffer* old, size_t used, size_t requested, Thread* t);
    73 
    78 
    74   size_t clear();
    79   size_t clear();
    75   size_t write();
    80   size_t write();
    76   size_t write_epoch_transition_mspace();
    81   size_t flush();
    77   size_t write_types();
    82 
    78   size_t write_safepoint_types();
    83   bool is_static_type_set_required();
       
    84   size_t write_static_type_set();
       
    85   size_t write_threads();
       
    86   size_t write_static_type_set_and_threads();
       
    87   bool is_type_set_required();
    79   void write_type_set();
    88   void write_type_set();
       
    89   static void write_type_set_for_unloaded_classes();
       
    90 
    80   void shift_epoch();
    91   void shift_epoch();
    81   void synchronize_epoch();
    92   void synchronize_epoch();
    82   bool use_epoch_transition_mspace(const Thread* t) const;
    93   void notify_threads();
    83 
    94 
    84   JfrCheckpointManager(JfrChunkWriter& cw);
    95   JfrCheckpointManager(JfrChunkWriter& cw);
    85   ~JfrCheckpointManager();
    96   ~JfrCheckpointManager();
    86 
    97 
    87   static JfrCheckpointManager& instance();
    98   static JfrCheckpointManager& instance();
    88   static JfrCheckpointManager* create(JfrChunkWriter& cw);
    99   static JfrCheckpointManager* create(JfrChunkWriter& cw);
    89   bool initialize();
   100   bool initialize();
       
   101   void on_rotation();
    90   static void destroy();
   102   static void destroy();
    91 
   103 
    92  public:
   104  public:
       
   105   size_t flush_type_set();
       
   106   void flush_static_type_set();
       
   107   static void create_thread_blob(Thread* t);
       
   108   static void write_thread_checkpoint(Thread* t);
    93   void register_service_thread(const Thread* t);
   109   void register_service_thread(const Thread* t);
    94   static void write_type_set_for_unloaded_classes();
       
    95   static void create_thread_blob(JavaThread* jt);
       
    96   static void write_thread_checkpoint(JavaThread* jt);
       
    97 
   110 
       
   111   friend class Jfr;
    98   friend class JfrRecorder;
   112   friend class JfrRecorder;
    99   friend class JfrRecorderService;
   113   friend class JfrRecorderService;
   100   friend class JfrCheckpointFlush;
   114   friend class JfrCheckpointFlush;
   101   friend class JfrCheckpointWriter;
   115   friend class JfrCheckpointWriter;
   102   friend class JfrSerializer;
   116   friend class JfrSerializer;