equal
deleted
inserted
replaced
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); |