< 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 >