< prev index next >

src/share/vm/classfile/moduleEntry.hpp

Print this page

        

@@ -106,11 +106,11 @@
   Symbol*          location() const                    { return _location; }
   void             set_location(Symbol* location);
   bool             is_non_jdk_module();
 
   bool             can_read(ModuleEntry* m) const;
-  bool             has_reads() const;
+  bool             has_reads() const; // Whether the module has a non-empty reads list
   void             add_read(ModuleEntry* m);
   void             set_read_walk_required(ClassLoaderData* m_loader_data);
 
   bool             is_named() const                    { return (name() != NULL); }
 

@@ -156,10 +156,15 @@
 
   // Purge dead weak references out of reads list when any given class loader is unloaded.
   void purge_reads();
   void delete_reads();
 
+  // Special handling for unnamed module, one per class loader
+  static ModuleEntry* create_unnamed_module(ClassLoaderData* cld);
+  static ModuleEntry* create_boot_unnamed_module(ClassLoaderData* cld);
+  static ModuleEntry* new_unnamed_module_entry(Handle module_handle, ClassLoaderData* cld);
+
   void print(outputStream* st = tty);
   void verify();
 };
 
 // Iterator interface

@@ -189,11 +194,10 @@
     _moduletable_entry_size  = 109 // number of entries in module entry table
   };
 
 private:
   static ModuleEntry* _javabase_module;
-  ModuleEntry* _unnamed_module;
 
   ModuleEntry* new_entry(unsigned int hash, Handle module_handle, Symbol* name, Symbol* version,
                          Symbol* location, ClassLoaderData* loader_data);
   void add_entry(int index, ModuleEntry* new_entry);
 

@@ -226,14 +230,10 @@
   ModuleEntry* lookup_only(Symbol* name);
 
   // purge dead weak references out of reads list
   void purge_all_module_reads();
 
-  // Special handling for unnamed module, one per class loader's ModuleEntryTable
-  void create_unnamed_module(ClassLoaderData* loader_data);
-  ModuleEntry* unnamed_module()                                { return _unnamed_module; }
-
   // Special handling for java.base
   static ModuleEntry* javabase_moduleEntry()                   { return _javabase_module; }
   static void set_javabase_moduleEntry(ModuleEntry* java_base) { _javabase_module = java_base; }
   static bool javabase_defined()                               { return ((_javabase_module != NULL) &&
                                                                          (_javabase_module->module() != NULL)); }
< prev index next >