< prev index next >

src/hotspot/share/classfile/systemDictionary.hpp

Print this page
rev 59477 : [mq]: cds_lambda


 619   static InstanceKlass* resolve_instance_class_or_null(Symbol* class_name, Handle class_loader, Handle protection_domain, TRAPS);
 620   static Klass* resolve_array_class_or_null(Symbol* class_name, Handle class_loader, Handle protection_domain, TRAPS);
 621   static InstanceKlass* handle_parallel_super_load(Symbol* class_name, Symbol* supername, Handle class_loader, Handle protection_domain, Handle lockObject, TRAPS);
 622   // Wait on SystemDictionary_lock; unlocks lockObject before
 623   // waiting; relocks lockObject with correct recursion count
 624   // after waiting, but before reentering SystemDictionary_lock
 625   // to preserve lock order semantics.
 626   static void double_lock_wait(Handle lockObject, TRAPS);
 627   static void define_instance_class(InstanceKlass* k, TRAPS);
 628   static InstanceKlass* find_or_define_instance_class(Symbol* class_name,
 629                                                 Handle class_loader,
 630                                                 InstanceKlass* k, TRAPS);
 631   static bool is_shared_class_visible(Symbol* class_name, InstanceKlass* ik,
 632                                       PackageEntry* pkg_entry,
 633                                       Handle class_loader, TRAPS);
 634   static bool check_shared_class_super_type(InstanceKlass* child, InstanceKlass* super,
 635                                             Handle class_loader,  Handle protection_domain,
 636                                             bool is_superclass, TRAPS);
 637   static bool check_shared_class_super_types(InstanceKlass* ik, Handle class_loader,
 638                                                Handle protection_domain, TRAPS);








 639   static InstanceKlass* load_shared_class(InstanceKlass* ik,
 640                                           Handle class_loader,
 641                                           Handle protection_domain,
 642                                           const ClassFileStream *cfs,
 643                                           PackageEntry* pkg_entry,
 644                                           TRAPS);
 645   // Second part of load_shared_class
 646   static void load_shared_class_misc(InstanceKlass* ik, ClassLoaderData* loader_data, TRAPS) NOT_CDS_RETURN;
 647   static InstanceKlass* load_shared_boot_class(Symbol* class_name,
 648                                                PackageEntry* pkg_entry,
 649                                                TRAPS);
 650   static InstanceKlass* load_instance_class(Symbol* class_name, Handle class_loader, TRAPS);
 651   static Handle compute_loader_lock_object(Handle class_loader, TRAPS);
 652   static void check_loader_lock_contention(Handle loader_lock, TRAPS);
 653   static bool is_parallelCapable(Handle class_loader);
 654   static bool is_parallelDefine(Handle class_loader);
 655 
 656 public:
 657   static bool is_system_class_loader(oop class_loader);
 658   static bool is_platform_class_loader(oop class_loader);




 619   static InstanceKlass* resolve_instance_class_or_null(Symbol* class_name, Handle class_loader, Handle protection_domain, TRAPS);
 620   static Klass* resolve_array_class_or_null(Symbol* class_name, Handle class_loader, Handle protection_domain, TRAPS);
 621   static InstanceKlass* handle_parallel_super_load(Symbol* class_name, Symbol* supername, Handle class_loader, Handle protection_domain, Handle lockObject, TRAPS);
 622   // Wait on SystemDictionary_lock; unlocks lockObject before
 623   // waiting; relocks lockObject with correct recursion count
 624   // after waiting, but before reentering SystemDictionary_lock
 625   // to preserve lock order semantics.
 626   static void double_lock_wait(Handle lockObject, TRAPS);
 627   static void define_instance_class(InstanceKlass* k, TRAPS);
 628   static InstanceKlass* find_or_define_instance_class(Symbol* class_name,
 629                                                 Handle class_loader,
 630                                                 InstanceKlass* k, TRAPS);
 631   static bool is_shared_class_visible(Symbol* class_name, InstanceKlass* ik,
 632                                       PackageEntry* pkg_entry,
 633                                       Handle class_loader, TRAPS);
 634   static bool check_shared_class_super_type(InstanceKlass* child, InstanceKlass* super,
 635                                             Handle class_loader,  Handle protection_domain,
 636                                             bool is_superclass, TRAPS);
 637   static bool check_shared_class_super_types(InstanceKlass* ik, Handle class_loader,
 638                                                Handle protection_domain, TRAPS);
 639   static void set_shared_class_init_state(InstanceKlass* ik, InstanceKlass::ClassState state) {
 640     ik->set_init_state(state);
 641   }
 642   static InstanceKlass* load_shared_lambda_proxy_class(InstanceKlass* ik,
 643                                                        Handle class_loader,
 644                                                        Handle protection_domain,
 645                                                        PackageEntry* pkg_entry,
 646                                                        TRAPS);
 647   static InstanceKlass* load_shared_class(InstanceKlass* ik,
 648                                           Handle class_loader,
 649                                           Handle protection_domain,
 650                                           const ClassFileStream *cfs,
 651                                           PackageEntry* pkg_entry,
 652                                           TRAPS);
 653   // Second part of load_shared_class
 654   static void load_shared_class_misc(InstanceKlass* ik, ClassLoaderData* loader_data, TRAPS) NOT_CDS_RETURN;
 655   static InstanceKlass* load_shared_boot_class(Symbol* class_name,
 656                                                PackageEntry* pkg_entry,
 657                                                TRAPS);
 658   static InstanceKlass* load_instance_class(Symbol* class_name, Handle class_loader, TRAPS);
 659   static Handle compute_loader_lock_object(Handle class_loader, TRAPS);
 660   static void check_loader_lock_contention(Handle loader_lock, TRAPS);
 661   static bool is_parallelCapable(Handle class_loader);
 662   static bool is_parallelDefine(Handle class_loader);
 663 
 664 public:
 665   static bool is_system_class_loader(oop class_loader);
 666   static bool is_platform_class_loader(oop class_loader);


< prev index next >