src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSet.hpp
branchJEP-349-branch
changeset 57870 00860d9caf4d
parent 57360 5d043a159d5c
child 57983 a57907813a83
equal deleted inserted replaced
57862:84ef29ccac56 57870:00860d9caf4d
    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, bool class_unload, bool flushpoint);
    42   friend class TypeSetSerialization;
       
    43  private:
       
    44   static JfrArtifactSet* _artifacts;
       
    45   static JfrArtifactClosure* _subsystem_callback;
       
    46   static bool _class_unload;
       
    47   static bool _flushpoint;
       
    48   static bool is_rotating();
       
    49   static bool is_not_rotating();
       
    50   static bool current_epoch();
       
    51 
       
    52   static void do_klass(Klass* k);
       
    53   static void do_unloaded_klass(Klass* k);
       
    54   static void do_klasses();
       
    55 
       
    56   static void do_package(PackageEntry* entry);
       
    57   static void do_unloaded_package(PackageEntry* entry);
       
    58   static void do_packages();
       
    59 
       
    60   static void do_module(ModuleEntry* entry);
       
    61   static void do_unloaded_module(ModuleEntry* entry);
       
    62   static void do_modules();
       
    63 
       
    64   static void do_class_loader_data(ClassLoaderData* cld);
       
    65   static void do_unloaded_class_loader_data(ClassLoaderData* cld);
       
    66   static void do_class_loaders();
       
    67 
       
    68   static void write_klass_constants(JfrCheckpointWriter* writer, JfrCheckpointWriter* leakp_writer);
       
    69   static void write_package_constants(JfrCheckpointWriter* writer, JfrCheckpointWriter* leakp_writer);
       
    70   static void write_module_constants(JfrCheckpointWriter* writer, JfrCheckpointWriter* leakp_writer);
       
    71   static void write_class_loader_constants(JfrCheckpointWriter* writer, JfrCheckpointWriter* leakp_writer);
       
    72   static void write_method_constants(JfrCheckpointWriter* writer, JfrCheckpointWriter* leakp_writer);
       
    73   static void write_symbol_constants(JfrCheckpointWriter* writer, JfrCheckpointWriter* leakp_writer);
       
    74   static size_t serialize(JfrCheckpointWriter* writer, JfrCheckpointWriter* leakp_writer, bool class_unload, bool flushpoint);
       
    75 };
    35 };
    76 
    36 
    77 #endif // SHARE_JFR_RECORDER_CHECKPOINT_TYPES_JFRTYPESET_HPP
    37 #endif // SHARE_JFR_RECORDER_CHECKPOINT_TYPES_JFRTYPESET_HPP