From e3f012fcd93dd85b33ad3c5adcb2a3ed42da4b17 Mon Sep 17 00:00:00 2001 From: Doug Lea Date: Sun, 14 Dec 2025 07:23:19 -0500 Subject: [PATCH] Reorder signalWork filter --- .../share/classes/java/util/concurrent/ForkJoinPool.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java b/src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java index e7a2c2f841d..9273ae10851 100644 --- a/src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java +++ b/src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java @@ -1878,9 +1878,7 @@ public class ForkJoinPool extends AbstractExecutorService break; else nc = (v.stackPred & LMASK) | (c & TC_MASK) | ac; - if (q != null && q.base - qbase > 0) - break; - if (c == (c = ctl) && c == (c = compareAndExchangeCtl(c, nc))) { + if (c == (c = compareAndExchangeCtl(c, nc))) { if (v == null) createWorker(); else { @@ -1890,6 +1888,8 @@ public class ForkJoinPool extends AbstractExecutorService } break; } + if (q != null && q.base - qbase > 0) + break; } }