< prev index next >
src/share/vm/classfile/moduleEntry.cpp
Print this page
*** 165,175 ****
}
}
}
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() {
--- 165,174 ----
*** 200,212 ****
}
}
}
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));
}
--- 199,209 ----
*** 223,233 ****
: Hashtable<Symbol*, mtModule>(table_size, sizeof(ModuleEntry)), _unnamed_module(NULL)
{
}
ModuleEntryTable::~ModuleEntryTable() {
! assert_locked_or_safepoint(Module_lock);
// 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;) {
--- 220,230 ----
: Hashtable<Symbol*, mtModule>(table_size, sizeof(ModuleEntry)), _unnamed_module(NULL)
{
}
ModuleEntryTable::~ModuleEntryTable() {
! 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 >