25 #ifndef SHARE_JFR_RECORDER_CHECKPOINT_TYPES_JFRTYPESET_HPP |
25 #ifndef SHARE_JFR_RECORDER_CHECKPOINT_TYPES_JFRTYPESET_HPP |
26 #define SHARE_JFR_RECORDER_CHECKPOINT_TYPES_JFRTYPESET_HPP |
26 #define SHARE_JFR_RECORDER_CHECKPOINT_TYPES_JFRTYPESET_HPP |
27 |
27 |
28 #include "jfr/utilities/jfrAllocation.hpp" |
28 #include "jfr/utilities/jfrAllocation.hpp" |
29 |
29 |
30 class ClassLoaderData; |
|
31 class JfrArtifactClosure; |
|
32 class JfrArtifactSet; |
|
33 class JfrCheckpointWriter; |
30 class JfrCheckpointWriter; |
34 class Klass; |
|
35 |
|
36 class ModuleEntry; |
|
37 class PackageEntry; |
|
38 |
31 |
39 class JfrTypeSet : AllStatic { |
32 class JfrTypeSet : AllStatic { |
40 friend class CLDCallback; |
33 public: |
41 friend class JfrTypeManager; |
34 static size_t serialize(JfrCheckpointWriter* writer, JfrCheckpointWriter* leakp_writer, bool class_unload); |
42 friend class TypeSetSerialization; |
|
43 private: |
|
44 static JfrArtifactSet* _artifacts; |
|
45 static JfrArtifactClosure* _subsystem_callback; |
|
46 static bool _class_unload; |
|
47 |
|
48 static void do_klass(Klass* k); |
|
49 static void do_unloaded_klass(Klass* k); |
|
50 static void do_klasses(); |
|
51 |
|
52 static void do_package(PackageEntry* entry); |
|
53 static void do_unloaded_package(PackageEntry* entry); |
|
54 static void do_packages(); |
|
55 |
|
56 static void do_module(ModuleEntry* entry); |
|
57 static void do_unloaded_module(ModuleEntry* entry); |
|
58 static void do_modules(); |
|
59 |
|
60 static void do_class_loader_data(ClassLoaderData* cld); |
|
61 static void do_unloaded_class_loader_data(ClassLoaderData* cld); |
|
62 static void do_class_loaders(); |
|
63 |
|
64 static void write_klass_constants(JfrCheckpointWriter* writer, JfrCheckpointWriter* leakp_writer); |
|
65 static void write_package_constants(JfrCheckpointWriter* writer, JfrCheckpointWriter* leakp_writer); |
|
66 static void write_module_constants(JfrCheckpointWriter* writer, JfrCheckpointWriter* leakp_writer); |
|
67 static void write_class_loader_constants(JfrCheckpointWriter* writer, JfrCheckpointWriter* leakp_writer); |
|
68 static void write_method_constants(JfrCheckpointWriter* writer, JfrCheckpointWriter* leakp_writer); |
|
69 static void write_symbol_constants(JfrCheckpointWriter* writer, JfrCheckpointWriter* leakp_writer); |
|
70 static void serialize(JfrCheckpointWriter* writer, JfrCheckpointWriter* leakp_writer, bool class_unload); |
|
71 }; |
35 }; |
72 |
36 |
73 #endif // SHARE_JFR_RECORDER_CHECKPOINT_TYPES_JFRTYPESET_HPP |
37 #endif // SHARE_JFR_RECORDER_CHECKPOINT_TYPES_JFRTYPESET_HPP |