< prev index next >
src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
Print this page
rev 56289 : 8230350: Shenandoah: Assertion failed when GC is cancelled by a worker thread
@@ -1918,11 +1918,11 @@
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");
- {
+ if (Thread::current()->is_Java_thread()) {
// We need to provide a safepoint here, otherwise we might
// spin forever if a SP is pending.
ThreadBlockInVM sp(JavaThread::current());
SpinPause();
}
< prev index next >