8213574: Deadlock in string table expansion when dumping lots of CDS classes

Reviewed-by: jiangli, iklam, dholmes
This commit is contained in:
Robbin Ehn 2018-11-14 07:50:37 +01:00
parent 61082e6b25
commit 9a79d90cc6
4 changed files with 56 additions and 3 deletions

View file

@ -277,7 +277,7 @@ public:
void SymbolTable::metaspace_pointers_do(MetaspaceClosure* it) {
assert(DumpSharedSpaces, "called only during dump time");
MetaspacePointersDo mpd(it);
SymbolTable::the_table()->_local_table->do_scan(Thread::current(), mpd);
SymbolTable::the_table()->_local_table->do_safepoint_scan(mpd);
}
Symbol* SymbolTable::lookup_dynamic(const char* name,
@ -640,7 +640,7 @@ struct CopyToArchive : StackObj {
void SymbolTable::copy_shared_symbol_table(CompactHashtableWriter* writer) {
CopyToArchive copy(writer);
SymbolTable::the_table()->_local_table->do_scan(Thread::current(), copy);
SymbolTable::the_table()->_local_table->do_safepoint_scan(copy);
}
void SymbolTable::write_to_archive() {