< prev index next >

src/hotspot/share/classfile/systemDictionary.hpp

Print this page
@@ -73,12 +73,16 @@
  class PackageEntry;
  class GCTimer;
  class EventClassLoad;
  class Symbol;
  
+ template <class E> class GrowableArray;
+ 
  class SystemDictionary : AllStatic {
    friend class BootstrapInfo;
+   friend class ClassPrelinker;
+   friend class ClassPreloader;
    friend class vmClasses;
    friend class VMStructs;
  
   public:
  

@@ -229,10 +233,13 @@
    // (does not ask Java, since this is a low-level intrinsic defined by the JVM)
    static Method* find_method_handle_intrinsic(vmIntrinsicID iid,
                                                Symbol* signature,
                                                TRAPS);
  
+   static void get_all_method_handle_intrinsics(GrowableArray<Method*>* methods) NOT_CDS_RETURN;
+   static void restore_archived_method_handle_intrinsics() NOT_CDS_RETURN;
+ 
    // compute java_mirror (java.lang.Class instance) for a type ("I", "[[B", "LFoo;", etc.)
    // Either the accessing_klass or the CL/PD can be non-null, but not both.
    static Handle    find_java_mirror_for_type(Symbol* signature,
                                               Klass* accessing_klass,
                                               Handle class_loader,

@@ -283,10 +290,12 @@
    // Record a nest host resolution/validation error
    static void add_nest_host_error(const constantPoolHandle& pool, int which,
                                    const char* message);
    static const char* find_nest_host_error(const constantPoolHandle& pool, int which);
  
+   static void preload_class(JavaThread* current,  InstanceKlass* k,
+                             ClassLoaderData* loader_data) NOT_CDS_RETURN;
  protected:
    static InstanceKlass* _well_known_klasses[];
  
  private:
    // table of box klasses (int_klass, etc.)

@@ -326,16 +335,18 @@
    static bool check_shared_class_super_type(InstanceKlass* klass, InstanceKlass* super,
                                              Handle class_loader,  Handle protection_domain,
                                              bool is_superclass, TRAPS);
    static bool check_shared_class_super_types(InstanceKlass* ik, Handle class_loader,
                                                 Handle protection_domain, TRAPS);
-   // Second part of load_shared_class
-   static void load_shared_class_misc(InstanceKlass* ik, ClassLoaderData* loader_data) NOT_CDS_RETURN;
+   static void restore_archived_method_handle_intrinsics_impl(TRAPS);
  
  protected:
    // Used by SystemDictionaryShared
  
+   // Second part of load_shared_class
+   static void load_shared_class_misc(InstanceKlass* ik, ClassLoaderData* loader_data) NOT_CDS_RETURN;
+ 
    static bool add_loader_constraint(Symbol* name, Klass* klass_being_linked,  Handle loader1,
                                      Handle loader2);
    static void post_class_load_event(EventClassLoad* event, const InstanceKlass* k, const ClassLoaderData* init_cld);
    static InstanceKlass* load_shared_lambda_proxy_class(InstanceKlass* ik,
                                                         Handle class_loader,
< prev index next >