< prev index next >

src/hotspot/share/classfile/systemDictionary.hpp

Print this page
*** 73,11 ***
--- 73,14 ---
  class PackageEntry;
  class GCTimer;
  class EventClassLoad;
  class Symbol;
  
+ template <class E> class GrowableArray;
+ 
  class SystemDictionary : AllStatic {
+   friend class AOTLinkedClassBulkLoader;
    friend class BootstrapInfo;
    friend class vmClasses;
    friend class VMStructs;
  
   public:

*** 237,10 ***
--- 240,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,

*** 291,10 ***
--- 297,19 ---
    // 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 add_to_initiating_loader(JavaThread* current, InstanceKlass* k,
+                                        ClassLoaderData* loader_data) NOT_CDS_RETURN;
+ protected:
+   static InstanceKlass* _well_known_klasses[];
+ 
+ private:
+   // table of box klasses (int_klass, etc.)
+   static InstanceKlass* _box_klasses[T_VOID+1];
+ 
    static OopHandle  _java_system_loader;
    static OopHandle  _java_platform_loader;
  
  private:
    // Basic loading operations

*** 327,16 ***
    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;
  
  protected:
    // Used by SystemDictionaryShared
  
    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,
--- 342,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);
!   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 >