src/hotspot/share/classfile/moduleEntry.hpp
changeset 53471 525f212f1bda
parent 53244 9807daeb47c4
equal deleted inserted replaced
53470:9459533ef916 53471:525f212f1bda
   234 
   234 
   235   ModuleEntry* bucket(int i) {
   235   ModuleEntry* bucket(int i) {
   236     return (ModuleEntry*)Hashtable<Symbol*, mtModule>::bucket(i);
   236     return (ModuleEntry*)Hashtable<Symbol*, mtModule>::bucket(i);
   237   }
   237   }
   238 
   238 
   239   // Create module in loader's module entry table, if already exists then
   239   // Create module in loader's module entry table.  Assume Module_lock
   240   // return null.  Assume Module_lock has been locked by caller.
   240   // has been locked by caller.
   241   ModuleEntry* locked_create_entry_or_null(Handle module_handle,
   241   ModuleEntry* locked_create_entry(Handle module_handle,
   242                                            bool is_open,
   242                                    bool is_open,
   243                                            Symbol* module_name,
   243                                    Symbol* module_name,
   244                                            Symbol* module_version,
   244                                    Symbol* module_version,
   245                                            Symbol* module_location,
   245                                    Symbol* module_location,
   246                                            ClassLoaderData* loader_data);
   246                                    ClassLoaderData* loader_data);
   247 
   247 
   248   // Only lookup module within loader's module entry table.  The table read is lock-free.
   248   // Only lookup module within loader's module entry table.  The table read is lock-free.
   249   ModuleEntry* lookup_only(Symbol* name);
   249   ModuleEntry* lookup_only(Symbol* name);
   250 
   250 
   251   // purge dead weak references out of reads list
   251   // purge dead weak references out of reads list
   252   void purge_all_module_reads();
   252   void purge_all_module_reads();
   253 
   253 
   254   // Special handling for java.base
   254   // Special handling for java.base
   255   static ModuleEntry* javabase_moduleEntry()                   { return _javabase_module; }
   255   static ModuleEntry* javabase_moduleEntry()                   { return _javabase_module; }
   256   static void set_javabase_moduleEntry(ModuleEntry* java_base) { _javabase_module = java_base; }
   256   static void set_javabase_moduleEntry(ModuleEntry* java_base) {
       
   257     assert(_javabase_module == NULL, "_javabase_module is already defined");
       
   258     _javabase_module = java_base;
       
   259   }
   257 
   260 
   258   static bool javabase_defined() { return ((_javabase_module != NULL) &&
   261   static bool javabase_defined() { return ((_javabase_module != NULL) &&
   259                                            (_javabase_module->module() != NULL)); }
   262                                            (_javabase_module->module() != NULL)); }
   260   static void finalize_javabase(Handle module_handle, Symbol* version, Symbol* location);
   263   static void finalize_javabase(Handle module_handle, Symbol* version, Symbol* location);
   261   static void patch_javabase_entries(Handle module_handle);
   264   static void patch_javabase_entries(Handle module_handle);