< prev index next >

src/hotspot/share/classfile/systemDictionaryShared.hpp

Print this page
*** 32,10 ***
--- 32,11 ---
  #include "classfile/classLoaderData.hpp"
  #include "classfile/packageEntry.hpp"
  #include "classfile/systemDictionary.hpp"
  #include "oops/klass.hpp"
  #include "oops/oopHandle.hpp"
+ #include "oops/trainingData.hpp"
  
  
  /*===============================================================================
  
      Handling of the classes in the AppCDS archive

*** 163,27 ***
                                   Handle class_loader,
                                   Handle protection_domain,
                                   const ClassFileStream* cfs,
                                   TRAPS);
  
-   // Guaranteed to return non-null value for non-shared classes.
-   // k must not be a shared class.
-   static DumpTimeClassInfo* get_info(InstanceKlass* k);
-   static DumpTimeClassInfo* get_info_locked(InstanceKlass* k);
  
    static void write_dictionary(RunTimeSharedDictionary* dictionary,
                                 bool is_builtin);
-   static bool is_jfr_event_class(InstanceKlass *k);
    static bool check_for_exclusion_impl(InstanceKlass* k);
    static void remove_dumptime_info(InstanceKlass* k) NOT_CDS_RETURN;
-   static bool has_been_redefined(InstanceKlass* k);
    DEBUG_ONLY(static bool _class_loading_may_happen;)
  
    static void copy_verification_constraints_from_preimage(InstanceKlass* klass);
    static void copy_linking_constraints_from_preimage(InstanceKlass* klass);
  
  public:
    static bool is_early_klass(InstanceKlass* k);   // Was k loaded while JvmtiExport::is_early_phase()==true
    static bool has_archived_enum_objs(InstanceKlass* ik);
    static void set_has_archived_enum_objs(InstanceKlass* ik);
  
    static InstanceKlass* find_builtin_class(Symbol* class_name);
--- 164,31 ---
                                   Handle class_loader,
                                   Handle protection_domain,
                                   const ClassFileStream* cfs,
                                   TRAPS);
  
  
    static void write_dictionary(RunTimeSharedDictionary* dictionary,
                                 bool is_builtin);
    static bool check_for_exclusion_impl(InstanceKlass* k);
    static void remove_dumptime_info(InstanceKlass* k) NOT_CDS_RETURN;
    DEBUG_ONLY(static bool _class_loading_may_happen;)
  
    static void copy_verification_constraints_from_preimage(InstanceKlass* klass);
    static void copy_linking_constraints_from_preimage(InstanceKlass* klass);
  
  public:
+   // Guaranteed to return non-null value for non-shared classes.
+   // k must not be a shared class.
+   static DumpTimeClassInfo* get_info(InstanceKlass* k);
+   static DumpTimeClassInfo* get_info_locked(InstanceKlass* k);
+   static DumpTimeSharedClassTable* dumptime_table() { return _dumptime_table; }
+ 
+   static bool should_hidden_class_be_archived(InstanceKlass* k);
+   static void mark_required_hidden_class(InstanceKlass* k);
+   static bool has_been_redefined(InstanceKlass* k);
+   static bool is_jfr_event_class(InstanceKlass *k);
    static bool is_early_klass(InstanceKlass* k);   // Was k loaded while JvmtiExport::is_early_phase()==true
    static bool has_archived_enum_objs(InstanceKlass* ik);
    static void set_has_archived_enum_objs(InstanceKlass* ik);
  
    static InstanceKlass* find_builtin_class(Symbol* class_name);

*** 210,10 ***
--- 215,14 ---
    static void initialize() NOT_CDS_RETURN;
    static void init_dumptime_info(InstanceKlass* k) NOT_CDS_RETURN;
    static void init_dumptime_info_from_preimage(InstanceKlass* k) NOT_CDS_RETURN;
    static void handle_class_unloading(InstanceKlass* k) NOT_CDS_RETURN;
  
+   static bool can_be_preinited(InstanceKlass* ik);
+   static bool can_be_preinited_locked(InstanceKlass* ik);
+   static void reset_preinit_check();
+ 
    static Dictionary* boot_loader_dictionary() {
      return ClassLoaderData::the_null_class_loader_data()->dictionary();
    }
  
    static void update_shared_entry(InstanceKlass* klass, int id);

*** 249,11 ***
    }
    static bool add_unregistered_class(Thread* current, InstanceKlass* k);
    static void copy_unregistered_class_size_and_crc32(InstanceKlass* klass);
  
    static void finish_exclusion_checks();
-   static DumpTimeSharedClassTable* dumptime_table() { return _dumptime_table; }
  
    static bool should_be_excluded(Klass* k);
    static bool check_for_exclusion(InstanceKlass* k, DumpTimeClassInfo* info);
    static void validate_before_archiving(InstanceKlass* k);
    static bool is_excluded_class(InstanceKlass* k);
--- 258,10 ---

*** 296,8 ***
--- 304,9 ---
      uintx offset = uintx(ptr) - uintx(SharedBaseAddress);
      return primitive_hash<uintx>(offset);
    }
  
    static unsigned int hash_for_shared_dictionary(address ptr);
+   static void create_loader_positive_lookup_cache(TRAPS);
  };
  
  #endif // SHARE_CLASSFILE_SYSTEMDICTIONARYSHARED_HPP
< prev index next >