8222664: runtime/appcds/sharedStrings/SharedStringsStress.java assert GC active during NoGCVerifier

Reviewed-by: iklam, stefank
This commit is contained in:
Per Lidén 2019-04-25 08:55:49 +02:00
parent 131bdfdff3
commit 72491e961c
2 changed files with 8 additions and 4 deletions

View File

@ -66,10 +66,10 @@ class StringDedupSharedClosure: public OopClosure {
}
};
// The CDS archive does not include the string dedupication table. Only the string
// The CDS archive does not include the string deduplication table. Only the string
// table is saved in the archive. The shared strings from CDS archive need to be
// added to the string dedupication table before deduplication occurs. That is
// done in the begining of the StringDedupThread (see StringDedupThread::do_deduplication()).
// added to the string deduplication table before deduplication occurs. That is
// done in the beginning of the StringDedupThread (see StringDedupThread::do_deduplication()).
void StringDedupThread::deduplicate_shared_strings(StringDedupStat* stat) {
StringDedupSharedClosure sharedStringDedup(stat);
StringTable::shared_oops_do(&sharedStringDedup);

View File

@ -33,7 +33,11 @@ template <typename S>
void StringDedupThreadImpl<S>::do_deduplication() {
S total_stat;
deduplicate_shared_strings(&total_stat);
{
// Block safepoints while deduplicating shared strings
SuspendibleThreadSetJoiner sts_join;
deduplicate_shared_strings(&total_stat);
}
// Main loop
for (;;) {