< prev index next >

src/hotspot/share/classfile/systemDictionary.hpp

Print this page


 613                                                               Handle class_loader,
 614                                                               Handle protection_domain,
 615                                                               TRAPS);
 616   static InstanceKlass* resolve_instance_class_or_null(Symbol* class_name, Handle class_loader, Handle protection_domain, TRAPS);
 617   static Klass* resolve_array_class_or_null(Symbol* class_name, Handle class_loader, Handle protection_domain, TRAPS);
 618   static InstanceKlass* handle_parallel_super_load(Symbol* class_name, Symbol* supername, Handle class_loader, Handle protection_domain, Handle lockObject, TRAPS);
 619   // Wait on SystemDictionary_lock; unlocks lockObject before
 620   // waiting; relocks lockObject with correct recursion count
 621   // after waiting, but before reentering SystemDictionary_lock
 622   // to preserve lock order semantics.
 623   static void double_lock_wait(Handle lockObject, TRAPS);
 624   static void define_instance_class(InstanceKlass* k, TRAPS);
 625   static InstanceKlass* find_or_define_instance_class(Symbol* class_name,
 626                                                 Handle class_loader,
 627                                                 InstanceKlass* k, TRAPS);
 628   static bool is_shared_class_visible(Symbol* class_name, InstanceKlass* ik,
 629                                       Handle class_loader, TRAPS);
 630   static InstanceKlass* load_shared_class(InstanceKlass* ik,
 631                                           Handle class_loader,
 632                                           Handle protection_domain,

 633                                           TRAPS);
 634   static InstanceKlass* load_shared_boot_class(Symbol* class_name,
 635                                                TRAPS);
 636   static InstanceKlass* load_instance_class(Symbol* class_name, Handle class_loader, TRAPS);
 637   static Handle compute_loader_lock_object(Handle class_loader, TRAPS);
 638   static void check_loader_lock_contention(Handle loader_lock, TRAPS);
 639   static bool is_parallelCapable(Handle class_loader);
 640   static bool is_parallelDefine(Handle class_loader);
 641 
 642 public:
 643   static bool is_system_class_loader(oop class_loader);
 644   static bool is_platform_class_loader(oop class_loader);
 645 
 646   // Returns TRUE if the method is a non-public member of class java.lang.Object.
 647   static bool is_nonpublic_Object_method(Method* m) {
 648     assert(m != NULL, "Unexpected NULL Method*");
 649     return !m->is_public() && m->method_holder() == SystemDictionary::Object_klass();
 650   }
 651 
 652   static void initialize_oop_storage();




 613                                                               Handle class_loader,
 614                                                               Handle protection_domain,
 615                                                               TRAPS);
 616   static InstanceKlass* resolve_instance_class_or_null(Symbol* class_name, Handle class_loader, Handle protection_domain, TRAPS);
 617   static Klass* resolve_array_class_or_null(Symbol* class_name, Handle class_loader, Handle protection_domain, TRAPS);
 618   static InstanceKlass* handle_parallel_super_load(Symbol* class_name, Symbol* supername, Handle class_loader, Handle protection_domain, Handle lockObject, TRAPS);
 619   // Wait on SystemDictionary_lock; unlocks lockObject before
 620   // waiting; relocks lockObject with correct recursion count
 621   // after waiting, but before reentering SystemDictionary_lock
 622   // to preserve lock order semantics.
 623   static void double_lock_wait(Handle lockObject, TRAPS);
 624   static void define_instance_class(InstanceKlass* k, TRAPS);
 625   static InstanceKlass* find_or_define_instance_class(Symbol* class_name,
 626                                                 Handle class_loader,
 627                                                 InstanceKlass* k, TRAPS);
 628   static bool is_shared_class_visible(Symbol* class_name, InstanceKlass* ik,
 629                                       Handle class_loader, TRAPS);
 630   static InstanceKlass* load_shared_class(InstanceKlass* ik,
 631                                           Handle class_loader,
 632                                           Handle protection_domain,
 633                                           const ClassFileStream *cfs,
 634                                           TRAPS);
 635   static InstanceKlass* load_shared_boot_class(Symbol* class_name,
 636                                                TRAPS);
 637   static InstanceKlass* load_instance_class(Symbol* class_name, Handle class_loader, TRAPS);
 638   static Handle compute_loader_lock_object(Handle class_loader, TRAPS);
 639   static void check_loader_lock_contention(Handle loader_lock, TRAPS);
 640   static bool is_parallelCapable(Handle class_loader);
 641   static bool is_parallelDefine(Handle class_loader);
 642 
 643 public:
 644   static bool is_system_class_loader(oop class_loader);
 645   static bool is_platform_class_loader(oop class_loader);
 646 
 647   // Returns TRUE if the method is a non-public member of class java.lang.Object.
 648   static bool is_nonpublic_Object_method(Method* m) {
 649     assert(m != NULL, "Unexpected NULL Method*");
 650     return !m->is_public() && m->method_holder() == SystemDictionary::Object_klass();
 651   }
 652 
 653   static void initialize_oop_storage();


< prev index next >