8222664: runtime/appcds/sharedStrings/SharedStringsStress.java assert GC active during NoGCVerifier
Reviewed-by: iklam, stefank
This commit is contained in:
parent
131bdfdff3
commit
72491e961c
@ -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
|
// 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
|
// added to the string deduplication table before deduplication occurs. That is
|
||||||
// done in the begining of the StringDedupThread (see StringDedupThread::do_deduplication()).
|
// done in the beginning of the StringDedupThread (see StringDedupThread::do_deduplication()).
|
||||||
void StringDedupThread::deduplicate_shared_strings(StringDedupStat* stat) {
|
void StringDedupThread::deduplicate_shared_strings(StringDedupStat* stat) {
|
||||||
StringDedupSharedClosure sharedStringDedup(stat);
|
StringDedupSharedClosure sharedStringDedup(stat);
|
||||||
StringTable::shared_oops_do(&sharedStringDedup);
|
StringTable::shared_oops_do(&sharedStringDedup);
|
||||||
|
@ -33,7 +33,11 @@ template <typename S>
|
|||||||
void StringDedupThreadImpl<S>::do_deduplication() {
|
void StringDedupThreadImpl<S>::do_deduplication() {
|
||||||
S total_stat;
|
S total_stat;
|
||||||
|
|
||||||
deduplicate_shared_strings(&total_stat);
|
{
|
||||||
|
// Block safepoints while deduplicating shared strings
|
||||||
|
SuspendibleThreadSetJoiner sts_join;
|
||||||
|
deduplicate_shared_strings(&total_stat);
|
||||||
|
}
|
||||||
|
|
||||||
// Main loop
|
// Main loop
|
||||||
for (;;) {
|
for (;;) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user