< prev index next >
src/hotspot/share/classfile/stringTable.cpp
Print this page
rev 50787 : 8205583: Crash in ConcurrentHashTable do_bulk_delete_locked_for
Reviewed-by:
rev 50788 : [mq]: 8205583_gerard
*** 497,523 ****
return;
}
StringTableDeleteCheck stdc;
StringTableDoDelete stdd;
- bool interrupted = false;
{
TraceTime timer("Clean", TRACETIME_LOG(Debug, stringtable, perf));
while(bdt.do_task(jt, stdc, stdd)) {
bdt.pause(jt);
{
ThreadBlockInVM tbivm(jt);
}
! if (!bdt.cont(jt)) {
! interrupted = true;
! break;
}
- }
- }
- if (interrupted) {
- _has_work = true;
- } else {
bdt.done(jt);
}
log_debug(stringtable)("Cleaned %ld of %ld", stdc._count, stdc._item);
}
--- 497,515 ----
return;
}
StringTableDeleteCheck stdc;
StringTableDoDelete stdd;
{
TraceTime timer("Clean", TRACETIME_LOG(Debug, stringtable, perf));
while(bdt.do_task(jt, stdc, stdd)) {
bdt.pause(jt);
{
ThreadBlockInVM tbivm(jt);
}
! bdt.cont(jt);
}
bdt.done(jt);
}
log_debug(stringtable)("Cleaned %ld of %ld", stdc._count, stdc._item);
}
< prev index next >