< prev index next >

src/hotspot/share/classfile/systemDictionary.hpp

Print this page




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




 630   static bool check_shared_class_super_type(InstanceKlass* child, InstanceKlass* super,
 631                                             Handle class_loader,  Handle protection_domain,
 632                                             bool is_superclass, TRAPS);
 633   static bool check_shared_class_super_types(InstanceKlass* ik, Handle class_loader,
 634                                                Handle protection_domain, TRAPS);
 635   static InstanceKlass* load_shared_class(InstanceKlass* ik,
 636                                           Handle class_loader,
 637                                           Handle protection_domain,
 638                                           const ClassFileStream *cfs,
 639                                           PackageEntry* pkg_entry,
 640                                           TRAPS);
 641   // Second part of load_shared_class
 642   static void load_shared_class_misc(InstanceKlass* ik, ClassLoaderData* loader_data, TRAPS) NOT_CDS_RETURN;
 643   static InstanceKlass* load_shared_boot_class(Symbol* class_name,
 644                                                PackageEntry* pkg_entry,
 645                                                TRAPS);
 646   static InstanceKlass* load_instance_class(Symbol* class_name, Handle class_loader, TRAPS);
 647   static Handle compute_loader_lock_object(Handle class_loader, TRAPS);
 648   static void check_loader_lock_contention(Handle loader_lock, TRAPS);
 649   static bool is_parallelCapable(Handle class_loader);




 610   // Basic loading operations
 611   static InstanceKlass* resolve_instance_class_or_null_helper(Symbol* name,
 612                                                               Handle class_loader,
 613                                                               Handle protection_domain,
 614                                                               TRAPS);
 615   static InstanceKlass* resolve_instance_class_or_null(Symbol* class_name, Handle class_loader, Handle protection_domain, TRAPS);
 616   static Klass* resolve_array_class_or_null(Symbol* class_name, Handle class_loader, Handle protection_domain, TRAPS);
 617   static InstanceKlass* handle_parallel_super_load(Symbol* class_name, Symbol* supername, Handle class_loader, Handle protection_domain, Handle lockObject, TRAPS);
 618   // Wait on SystemDictionary_lock; unlocks lockObject before
 619   // waiting; relocks lockObject with correct recursion count
 620   // after waiting, but before reentering SystemDictionary_lock
 621   // to preserve lock order semantics.
 622   static void double_lock_wait(Handle lockObject, TRAPS);
 623   static void define_instance_class(InstanceKlass* k, TRAPS);
 624   static InstanceKlass* find_or_define_instance_class(Symbol* class_name,
 625                                                 Handle class_loader,
 626                                                 InstanceKlass* k, TRAPS);
 627   static bool is_shared_class_visible(Symbol* class_name, InstanceKlass* ik,
 628                                       PackageEntry* pkg_entry,
 629                                       Handle class_loader, TRAPS);
 630   static bool is_shared_class_visible_impl(Symbol* class_name,
 631                                            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);


< prev index next >