< prev index next >

src/hotspot/share/classfile/systemDictionary.hpp

Print this page




 263   // Version with null loader and protection domain
 264   static Klass* resolve_or_null(Symbol* class_name, TRAPS);
 265 
 266   // Resolve a superclass or superinterface. Called from ClassFileParser,
 267   // parse_interfaces, resolve_instance_class_or_null, load_shared_class
 268   // "child_name" is the class whose super class or interface is being resolved.
 269   static InstanceKlass* resolve_super_or_fail(Symbol* child_name,
 270                                               Symbol* class_name,
 271                                               Handle class_loader,
 272                                               Handle protection_domain,
 273                                               bool is_superclass,
 274                                               TRAPS);
 275 
 276   // Parse new stream. This won't update the dictionary or
 277   // class hierarchy, simply parse the stream. Used by JVMTI RedefineClasses.
 278   // Also used by Unsafe_DefineAnonymousClass
 279   static InstanceKlass* parse_stream(Symbol* class_name,
 280                                      Handle class_loader,
 281                                      Handle protection_domain,
 282                                      ClassFileStream* st,

 283                                      TRAPS) {
 284     return parse_stream(class_name,
 285                         class_loader,
 286                         protection_domain,
 287                         st,
 288                         NULL, // unsafe_anonymous_host
 289                         NULL, // cp_patches





 290                         THREAD);
 291   }
 292   static InstanceKlass* parse_stream(Symbol* class_name,
 293                                      Handle class_loader,
 294                                      Handle protection_domain,
 295                                      ClassFileStream* st,
 296                                      const InstanceKlass* unsafe_anonymous_host,
 297                                      GrowableArray<Handle>* cp_patches,





 298                                      TRAPS);
 299 
 300   // Resolve from stream (called by jni_DefineClass and JVM_DefineClass)
 301   static InstanceKlass* resolve_from_stream(Symbol* class_name,
 302                                             Handle class_loader,
 303                                             Handle protection_domain,
 304                                             ClassFileStream* st,

 305                                             TRAPS);
 306 
 307   // Lookup an already loaded class. If not found NULL is returned.
 308   static Klass* find(Symbol* class_name, Handle class_loader, Handle protection_domain, TRAPS);
 309 
 310   // Lookup an already loaded instance or array class.
 311   // Do not make any queries to class loaders; consult only the cache.
 312   // If not found NULL is returned.
 313   static Klass* find_instance_or_array_klass(Symbol* class_name,
 314                                                Handle class_loader,
 315                                                Handle protection_domain,
 316                                                TRAPS);
 317 
 318   // Lookup an instance or array class that has already been loaded
 319   // either into the given class loader, or else into another class
 320   // loader that is constrained (via loader constraints) to produce
 321   // a consistent class.  Do not take protection domains into account.
 322   // Do not make any queries to class loaders; consult only the cache.
 323   // Return NULL if the class is not found.
 324   //




 263   // Version with null loader and protection domain
 264   static Klass* resolve_or_null(Symbol* class_name, TRAPS);
 265 
 266   // Resolve a superclass or superinterface. Called from ClassFileParser,
 267   // parse_interfaces, resolve_instance_class_or_null, load_shared_class
 268   // "child_name" is the class whose super class or interface is being resolved.
 269   static InstanceKlass* resolve_super_or_fail(Symbol* child_name,
 270                                               Symbol* class_name,
 271                                               Handle class_loader,
 272                                               Handle protection_domain,
 273                                               bool is_superclass,
 274                                               TRAPS);
 275 
 276   // Parse new stream. This won't update the dictionary or
 277   // class hierarchy, simply parse the stream. Used by JVMTI RedefineClasses.
 278   // Also used by Unsafe_DefineAnonymousClass
 279   static InstanceKlass* parse_stream(Symbol* class_name,
 280                                      Handle class_loader,
 281                                      Handle protection_domain,
 282                                      ClassFileStream* st,
 283                                      InstanceKlass* dynamic_nest_host,
 284                                      TRAPS) {
 285     return parse_stream(class_name,
 286                         class_loader,
 287                         protection_domain,
 288                         st,
 289                         NULL,  // unsafe_anonymous_host
 290                         NULL,  // cp_patches
 291                         false, // is_nonfindable
 292                         false, // is_weaknonfindable
 293                         false, // can_access_vm_annotations
 294                         dynamic_nest_host,
 295                         Handle(),  // classData
 296                         THREAD);
 297   }
 298   static InstanceKlass* parse_stream(Symbol* class_name,
 299                                      Handle class_loader,
 300                                      Handle protection_domain,
 301                                      ClassFileStream* st,
 302                                      const InstanceKlass* unsafe_anonymous_host,
 303                                      GrowableArray<Handle>* cp_patches,
 304                                      const bool is_nonfindable,
 305                                      const bool is_weaknonfindable,
 306                                      const bool can_access_vm_annotations,
 307                                      InstanceKlass* dynamic_nest_host,
 308                                      Handle classData,
 309                                      TRAPS);
 310 
 311   // Resolve from stream (called by jni_DefineClass and JVM_DefineClass)
 312   static InstanceKlass* resolve_from_stream(Symbol* class_name,
 313                                             Handle class_loader,
 314                                             Handle protection_domain,
 315                                             ClassFileStream* st,
 316                                             InstanceKlass* dynamic_nest_host,
 317                                             TRAPS);
 318 
 319   // Lookup an already loaded class. If not found NULL is returned.
 320   static Klass* find(Symbol* class_name, Handle class_loader, Handle protection_domain, TRAPS);
 321 
 322   // Lookup an already loaded instance or array class.
 323   // Do not make any queries to class loaders; consult only the cache.
 324   // If not found NULL is returned.
 325   static Klass* find_instance_or_array_klass(Symbol* class_name,
 326                                                Handle class_loader,
 327                                                Handle protection_domain,
 328                                                TRAPS);
 329 
 330   // Lookup an instance or array class that has already been loaded
 331   // either into the given class loader, or else into another class
 332   // loader that is constrained (via loader constraints) to produce
 333   // a consistent class.  Do not take protection domains into account.
 334   // Do not make any queries to class loaders; consult only the cache.
 335   // Return NULL if the class is not found.
 336   //


< prev index next >