< 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 >