< prev index next >

src/share/vm/classfile/moduleEntry.cpp

Print this page

        

@@ -165,11 +165,10 @@
     }
   }
 }
 
 bool ModuleEntry::has_reads() const {
-  assert_locked_or_safepoint(Module_lock);
   return ((_reads != NULL) && !_reads->is_empty());
 }
 
 // Purge dead module entries out of reads list.
 void ModuleEntry::purge_reads() {

@@ -200,13 +199,11 @@
     }
   }
 }
 
 void ModuleEntry::module_reads_do(ModuleClosure* const f) {
-  assert_locked_or_safepoint(Module_lock);
   assert(f != NULL, "invariant");
-
   if (has_reads()) {
     int reads_len = _reads->length();
     for (int i = 0; i < reads_len; ++i) {
       f->do_module(_reads->at(i));
     }

@@ -223,11 +220,11 @@
   : Hashtable<Symbol*, mtModule>(table_size, sizeof(ModuleEntry)), _unnamed_module(NULL)
 {
 }
 
 ModuleEntryTable::~ModuleEntryTable() {
-  assert_locked_or_safepoint(Module_lock);
+  assert(SafepointSynchronize::is_at_safepoint(), "must be at safepoint");
 
   // Walk through all buckets and all entries in each bucket,
   // freeing each entry.
   for (int i = 0; i < table_size(); ++i) {
     for (ModuleEntry* m = bucket(i); m != NULL;) {
< prev index next >