equal
deleted
inserted
replaced
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, |