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