< prev index next >

src/hotspot/share/cds/cdsConfig.hpp

Print this page
*** 27,20 ***
--- 27,24 ---
  
  #include "memory/allStatic.hpp"
  #include "utilities/globalDefinitions.hpp"
  #include "utilities/macros.hpp"
  
+ class InstanceKlass;
+ 
  class CDSConfig : public AllStatic {
  #if INCLUDE_CDS
    static bool _is_dumping_static_archive;
    static bool _is_dumping_dynamic_archive;
    static bool _dumping_full_module_graph_disabled;
    static bool _loading_full_module_graph_disabled;
+   static bool _has_preloaded_classes;
  
    static char*  _default_archive_path;
    static char*  _static_archive_path;
    static char*  _dynamic_archive_path;
+   static bool _is_loading_invokedynamic;
  #endif
  
    static void extract_shared_archive_paths(const char* archive_path,
                                             char** base_archive_path,
                                             char** top_archive_path);

*** 54,15 ***
    static void check_unsupported_dumping_properties() NOT_CDS_RETURN;
    static bool check_vm_args_consistency(bool patch_mod_javabase,  bool mode_flag_cmd_line) NOT_CDS_RETURN_(true);
  
    // Basic CDS features
    static bool      is_dumping_archive()                      { return is_dumping_static_archive() || is_dumping_dynamic_archive(); }
!   static bool      is_dumping_static_archive()               { return CDS_ONLY(_is_dumping_static_archive) NOT_CDS(false); }
    static void  enable_dumping_static_archive()               { CDS_ONLY(_is_dumping_static_archive = true); }
    static bool      is_dumping_dynamic_archive()              { return CDS_ONLY(_is_dumping_dynamic_archive) NOT_CDS(false); }
    static void  enable_dumping_dynamic_archive()              { CDS_ONLY(_is_dumping_dynamic_archive = true); }
    static void disable_dumping_dynamic_archive()              { CDS_ONLY(_is_dumping_dynamic_archive = false); }
  
    // Archive paths
    // Points to the classes.jsa in $JAVA_HOME
    static char* default_archive_path()                         NOT_CDS_RETURN_(nullptr);
    // The actual static archive  (if any) selected at runtime
--- 58,26 ---
    static void check_unsupported_dumping_properties() NOT_CDS_RETURN;
    static bool check_vm_args_consistency(bool patch_mod_javabase,  bool mode_flag_cmd_line) NOT_CDS_RETURN_(true);
  
    // Basic CDS features
    static bool      is_dumping_archive()                      { return is_dumping_static_archive() || is_dumping_dynamic_archive(); }
!   static bool      is_dumping_static_archive()               { return (CDS_ONLY(_is_dumping_static_archive) NOT_CDS(false))
+                                                                     || is_dumping_final_static_archive(); }
    static void  enable_dumping_static_archive()               { CDS_ONLY(_is_dumping_static_archive = true); }
+   static bool      is_dumping_classic_static_archive()       NOT_CDS_RETURN_(false); // -Xshare:dump
+   static bool      is_dumping_preimage_static_archive()      NOT_CDS_RETURN_(false); // 1st phase of -XX:CacheDataStore dumping
+   static bool      is_dumping_final_static_archive()         NOT_CDS_RETURN_(false); // 2nd phase of -XX:CacheDataStore dumping
    static bool      is_dumping_dynamic_archive()              { return CDS_ONLY(_is_dumping_dynamic_archive) NOT_CDS(false); }
    static void  enable_dumping_dynamic_archive()              { CDS_ONLY(_is_dumping_dynamic_archive = true); }
    static void disable_dumping_dynamic_archive()              { CDS_ONLY(_is_dumping_dynamic_archive = false); }
+   static bool      has_preloaded_classes()                   { CDS_ONLY(return _has_preloaded_classes); NOT_CDS(return false); }
+   static void      set_has_preloaded_classes()               { CDS_ONLY(_has_preloaded_classes = true); }
+   static bool      is_dumping_regenerated_lambdaform_invokers() NOT_CDS_RETURN_(false);
+   static bool      is_tracing_dynamic_proxy()                NOT_CDS_RETURN_(false);
+ 
+   // Misc CDS features
+   static bool      preserve_all_dumptime_verification_states(const InstanceKlass* ik);
  
    // Archive paths
    // Points to the classes.jsa in $JAVA_HOME
    static char* default_archive_path()                         NOT_CDS_RETURN_(nullptr);
    // The actual static archive  (if any) selected at runtime

*** 73,13 ***
--- 88,23 ---
    static int num_archives(const char* archive_path)          NOT_CDS_RETURN_(0);
  
  
    // CDS archived heap
    static bool      is_dumping_heap()                         NOT_CDS_JAVA_HEAP_RETURN_(false);
+   static bool      is_loading_heap()                         NOT_CDS_JAVA_HEAP_RETURN_(false);
    static void disable_dumping_full_module_graph(const char* reason = nullptr) NOT_CDS_JAVA_HEAP_RETURN;
    static bool      is_dumping_full_module_graph()            NOT_CDS_JAVA_HEAP_RETURN_(false);
    static void disable_loading_full_module_graph(const char* reason = nullptr) NOT_CDS_JAVA_HEAP_RETURN;
    static bool      is_loading_full_module_graph()            NOT_CDS_JAVA_HEAP_RETURN_(false);
+   static bool      is_dumping_invokedynamic()                NOT_CDS_JAVA_HEAP_RETURN_(false);
+   static bool      is_loading_invokedynamic()                NOT_CDS_JAVA_HEAP_RETURN_(false);
+   static void  set_is_loading_invokedynamic()                { CDS_JAVA_HEAP_ONLY(_is_loading_invokedynamic = true); }
+   static bool      is_dumping_dynamic_proxy()                NOT_CDS_JAVA_HEAP_RETURN_(false);
+   static bool      is_initing_classes_at_dump_time()         NOT_CDS_JAVA_HEAP_RETURN_(false);
  
+   // AOT compiler
+   static bool      is_dumping_cached_code()                  NOT_CDS_RETURN_(false);
+   static void disable_dumping_cached_code()                  NOT_CDS_RETURN;
+   static void  enable_dumping_cached_code()                  NOT_CDS_RETURN;
  };
  
  #endif // SHARE_CDS_CDSCONFIG_HPP
< prev index next >