< prev index next >
src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
Print this page
rev 55398 : 8225573: Shenandoah: Enhance ShenandoahVerifier to ensure roots to-space invariant
rev 55400 : 8225813: Shenandoah: Obsolete ShenandoahSuspendibleWorkers flag, as suspendible workers are required
@@ -947,11 +947,11 @@
{}
void work(uint worker_id) {
if (_concurrent) {
ShenandoahConcurrentWorkerSession worker_session(worker_id);
- ShenandoahSuspendibleThreadSetJoiner stsj(ShenandoahSuspendibleWorkers);
+ ShenandoahSuspendibleThreadSetJoiner stsj;
ShenandoahEvacOOMScope oom_evac_scope;
do_work();
} else {
ShenandoahParallelWorkerSession worker_session(worker_id);
ShenandoahEvacOOMScope oom_evac_scope;
@@ -1870,11 +1870,10 @@
bool ShenandoahHeap::try_cancel_gc() {
while (true) {
jbyte prev = _cancelled_gc.cmpxchg(CANCELLED, CANCELLABLE);
if (prev == CANCELLABLE) return true;
else if (prev == CANCELLED) return false;
- assert(ShenandoahSuspendibleWorkers, "should not get here when not using suspendible workers");
assert(prev == NOT_CANCELLED, "must be NOT_CANCELLED");
{
// We need to provide a safepoint here, otherwise we might
// spin forever if a SP is pending.
ThreadBlockInVM sp(JavaThread::current());
@@ -2084,11 +2083,11 @@
}
void work(uint worker_id) {
if (_concurrent) {
ShenandoahConcurrentWorkerSession worker_session(worker_id);
- ShenandoahSuspendibleThreadSetJoiner stsj(ShenandoahSuspendibleWorkers);
+ ShenandoahSuspendibleThreadSetJoiner stsj;
do_work();
} else {
ShenandoahParallelWorkerSession worker_session(worker_id);
do_work();
}
@@ -2284,19 +2283,15 @@
}
return true;
}
void ShenandoahHeap::safepoint_synchronize_begin() {
- if (ShenandoahSuspendibleWorkers || UseStringDeduplication) {
SuspendibleThreadSet::synchronize();
- }
}
void ShenandoahHeap::safepoint_synchronize_end() {
- if (ShenandoahSuspendibleWorkers || UseStringDeduplication) {
SuspendibleThreadSet::desynchronize();
- }
}
void ShenandoahHeap::vmop_entry_init_mark() {
TraceCollectorStats tcs(monitoring_support()->stw_collection_counters());
ShenandoahGCPhase total(ShenandoahPhaseTimings::total_pause_gross);
< prev index next >