hotspot/src/share/vm/classfile/moduleEntry.cpp
changeset 38733 2b65f4db449e
parent 38014 8731fa11f766
child 39290 0cc9f5028562
equal deleted inserted replaced
38732:bb77e0dcc7e5 38733:2b65f4db449e
   111   if (m == NULL) {
   111   if (m == NULL) {
   112     set_can_read_all_unnamed();
   112     set_can_read_all_unnamed();
   113   } else {
   113   } else {
   114     if (_reads == NULL) {
   114     if (_reads == NULL) {
   115       // Lazily create a module's reads list
   115       // Lazily create a module's reads list
   116       _reads = new (ResourceObj::C_HEAP, mtClass)GrowableArray<ModuleEntry*>(MODULE_READS_SIZE, true);
   116       _reads = new (ResourceObj::C_HEAP, mtModule)GrowableArray<ModuleEntry*>(MODULE_READS_SIZE, true);
   117     }
   117     }
   118     _reads->append_if_missing(m);
   118     _reads->append_if_missing(m);
   119   }
   119   }
   120 }
   120 }
   121 
   121 
   157   delete _reads;
   157   delete _reads;
   158   _reads = NULL;
   158   _reads = NULL;
   159 }
   159 }
   160 
   160 
   161 ModuleEntryTable::ModuleEntryTable(int table_size)
   161 ModuleEntryTable::ModuleEntryTable(int table_size)
   162   : Hashtable<Symbol*, mtClass>(table_size, sizeof(ModuleEntry)), _unnamed_module(NULL)
   162   : Hashtable<Symbol*, mtModule>(table_size, sizeof(ModuleEntry)), _unnamed_module(NULL)
   163 {
   163 {
   164 }
   164 }
   165 
   165 
   166 ModuleEntryTable::~ModuleEntryTable() {
   166 ModuleEntryTable::~ModuleEntryTable() {
   167   assert_locked_or_safepoint(Module_lock);
   167   assert_locked_or_safepoint(Module_lock);
   226 
   226 
   227 ModuleEntry* ModuleEntryTable::new_entry(unsigned int hash, Handle module_handle, Symbol* name,
   227 ModuleEntry* ModuleEntryTable::new_entry(unsigned int hash, Handle module_handle, Symbol* name,
   228                                          Symbol* version, Symbol* location,
   228                                          Symbol* version, Symbol* location,
   229                                          ClassLoaderData* loader_data) {
   229                                          ClassLoaderData* loader_data) {
   230   assert_locked_or_safepoint(Module_lock);
   230   assert_locked_or_safepoint(Module_lock);
   231   ModuleEntry* entry = (ModuleEntry*) NEW_C_HEAP_ARRAY(char, entry_size(), mtClass);
   231   ModuleEntry* entry = (ModuleEntry*) NEW_C_HEAP_ARRAY(char, entry_size(), mtModule);
   232 
   232 
   233   // Initialize everything BasicHashtable would
   233   // Initialize everything BasicHashtable would
   234   entry->set_next(NULL);
   234   entry->set_next(NULL);
   235   entry->set_hash(hash);
   235   entry->set_hash(hash);
   236   entry->set_literal(name);
   236   entry->set_literal(name);
   257   return entry;
   257   return entry;
   258 }
   258 }
   259 
   259 
   260 void ModuleEntryTable::add_entry(int index, ModuleEntry* new_entry) {
   260 void ModuleEntryTable::add_entry(int index, ModuleEntry* new_entry) {
   261   assert_locked_or_safepoint(Module_lock);
   261   assert_locked_or_safepoint(Module_lock);
   262   Hashtable<Symbol*, mtClass>::add_entry(index, (HashtableEntry<Symbol*, mtClass>*)new_entry);
   262   Hashtable<Symbol*, mtModule>::add_entry(index, (HashtableEntry<Symbol*, mtModule>*)new_entry);
   263 }
   263 }
   264 
   264 
   265 ModuleEntry* ModuleEntryTable::locked_create_entry_or_null(Handle module_handle,
   265 ModuleEntry* ModuleEntryTable::locked_create_entry_or_null(Handle module_handle,
   266                                                            Symbol* module_name,
   266                                                            Symbol* module_name,
   267                                                            Symbol* module_version,
   267                                                            Symbol* module_version,