< prev index next >

src/hotspot/share/classfile/systemDictionary.hpp

Print this page
@@ -66,10 +66,11 @@
  
  class BootstrapInfo;
  class ClassFileStream;
  class ClassLoadInfo;
  class Dictionary;
+ class AllFieldStream;
  class PackageEntry;
  class GCTimer;
  class EventClassLoad;
  class Symbol;
  

@@ -110,11 +111,12 @@
                                                             TRAPS);
  
    // Resolve a superclass or superinterface. Called from ClassFileParser,
    // parse_interfaces, resolve_instance_class_or_null, load_shared_class
    // "class_name" is the class whose super class or interface is being resolved.
-   static InstanceKlass* resolve_super_or_fail(Symbol* class_name, Symbol* super_name,
+   static InstanceKlass* resolve_with_circularity_detection_or_fail(Symbol* class_name,
+                                               Symbol* super_name,
                                                Handle class_loader,
                                                bool is_superclass, TRAPS) {
      return resolve_with_circularity_detection(class_name, super_name, class_loader, is_superclass, THREAD);
    }
  

@@ -137,10 +139,11 @@
  
    static oop get_system_class_loader_impl(TRAPS);
    static oop get_platform_class_loader_impl(TRAPS);
  
   public:
+ 
    // Resolve either a hidden or normal class from a stream of bytes, based on ClassLoadInfo
    static InstanceKlass* resolve_from_stream(ClassFileStream* st,
                                              Symbol* class_name,
                                              Handle class_loader,
                                              const ClassLoadInfo& cl_info,

@@ -329,10 +332,12 @@
    // Used by SystemDictionaryShared and LambdaProxyClassDictionary
  
    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 bool preload_from_null_free_field(InstanceKlass* ik, Handle class_loader, Symbol* sig, int field_index, TRAPS);
+   static void try_preload_from_loadable_descriptors(InstanceKlass* ik, Handle class_loader, Symbol* sig, int field_index, TRAPS);
    static InstanceKlass* load_shared_class(InstanceKlass* ik,
                                            Handle class_loader,
                                            Handle protection_domain,
                                            const ClassFileStream *cfs,
                                            PackageEntry* pkg_entry,
< prev index next >