< prev index next >

src/hotspot/share/classfile/systemDictionary.hpp

Print this page




 632   static bool is_shared_class_visible(Symbol* class_name, InstanceKlass* ik,
 633                                       Handle class_loader, TRAPS);
 634   static InstanceKlass* load_shared_class(InstanceKlass* ik,
 635                                           Handle class_loader,
 636                                           Handle protection_domain,
 637                                           TRAPS);
 638   static InstanceKlass* load_instance_class(Symbol* class_name, Handle class_loader, TRAPS);
 639   static Handle compute_loader_lock_object(Handle class_loader, TRAPS);
 640   static void check_loader_lock_contention(Handle loader_lock, TRAPS);
 641   static bool is_parallelCapable(Handle class_loader);
 642   static bool is_parallelDefine(Handle class_loader);
 643 
 644 public:
 645   static InstanceKlass* load_shared_class(Symbol* class_name,
 646                                           Handle class_loader,
 647                                           TRAPS);
 648   static bool is_system_class_loader(oop class_loader);
 649   static bool is_platform_class_loader(oop class_loader);
 650   static void clear_invoke_method_table();
 651 






 652 protected:
 653   static InstanceKlass* find_shared_class(Symbol* class_name);
 654 
 655   // Setup link to hierarchy
 656   static void add_to_hierarchy(InstanceKlass* k, TRAPS);
 657 
 658   // Basic find on loaded classes
 659   static InstanceKlass* find_class(unsigned int hash,
 660                                    Symbol* name, Dictionary* dictionary);
 661   static InstanceKlass* find_class(Symbol* class_name, ClassLoaderData* loader_data);
 662 
 663   // Basic find on classes in the midst of being loaded
 664   static Symbol* find_placeholder(Symbol* name, ClassLoaderData* loader_data);
 665 
 666   // Add a placeholder for a class being loaded
 667   static void add_placeholder(int index,
 668                               Symbol* class_name,
 669                               ClassLoaderData* loader_data);
 670   static void remove_placeholder(int index,
 671                                  Symbol* class_name,




 632   static bool is_shared_class_visible(Symbol* class_name, InstanceKlass* ik,
 633                                       Handle class_loader, TRAPS);
 634   static InstanceKlass* load_shared_class(InstanceKlass* ik,
 635                                           Handle class_loader,
 636                                           Handle protection_domain,
 637                                           TRAPS);
 638   static InstanceKlass* load_instance_class(Symbol* class_name, Handle class_loader, TRAPS);
 639   static Handle compute_loader_lock_object(Handle class_loader, TRAPS);
 640   static void check_loader_lock_contention(Handle loader_lock, TRAPS);
 641   static bool is_parallelCapable(Handle class_loader);
 642   static bool is_parallelDefine(Handle class_loader);
 643 
 644 public:
 645   static InstanceKlass* load_shared_class(Symbol* class_name,
 646                                           Handle class_loader,
 647                                           TRAPS);
 648   static bool is_system_class_loader(oop class_loader);
 649   static bool is_platform_class_loader(oop class_loader);
 650   static void clear_invoke_method_table();
 651 
 652   // Returns TRUE if the method is a non-public member of class java.lang.Object.
 653   static bool is_nonpublic_Object_method(Method* m) {
 654     assert(m != NULL, "Unexpected NULL Method*");
 655     return !m->is_public() && m->method_holder() == SystemDictionary::Object_klass();
 656   }
 657 
 658 protected:
 659   static InstanceKlass* find_shared_class(Symbol* class_name);
 660 
 661   // Setup link to hierarchy
 662   static void add_to_hierarchy(InstanceKlass* k, TRAPS);
 663 
 664   // Basic find on loaded classes
 665   static InstanceKlass* find_class(unsigned int hash,
 666                                    Symbol* name, Dictionary* dictionary);
 667   static InstanceKlass* find_class(Symbol* class_name, ClassLoaderData* loader_data);
 668 
 669   // Basic find on classes in the midst of being loaded
 670   static Symbol* find_placeholder(Symbol* name, ClassLoaderData* loader_data);
 671 
 672   // Add a placeholder for a class being loaded
 673   static void add_placeholder(int index,
 674                               Symbol* class_name,
 675                               ClassLoaderData* loader_data);
 676   static void remove_placeholder(int index,
 677                                  Symbol* class_name,


< prev index next >