On Wed, 24 Dec 2025 19:21:39 GMT, Doug Lea <[email protected]> wrote:
>> Changes signal filtering to avoid possible starvation
>
> Doug Lea has updated the pull request with a new target base due to a merge
> or a rebase. The incremental webrev excludes the unrelated changes brought in
> by the merge/rebase. The pull request contains 21 additional commits since
> the last revision:
>
> - Merge branch 'openjdk:master' into JDK-8373118
> - recheck avoiding cross-class offsets
> - Merge branch 'openjdk:master' into JDK-8373118
> - Merge branch 'openjdk:master' into JDK-8373118
> - Check reworked ordering control
> - Merge branch 'openjdk:master' into JDK-8373118
> - Merge branch 'openjdk:master' into JDK-8373118
> - Check diagnosis
> - Avoid double-filtering
> - Merge branch 'openjdk:master' into JDK-8373118
> - ... and 11 more: https://git.openjdk.org/jdk/compare/67e1f04f...228ec84d
src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java line 1981:
> 1979: if (src != qid)
> 1980: w.source = src = qid;
> 1981: w.topLevelExec(t, fifo);
Given that topLevelExec is tiny, and only called from this line, it might be
better to just inline it here, since we know that `t` is originally not-null
here, we can defer the initial null-check to only apply to subsequent tasks:
do {
t.doExec();
} while ((t = w.nextLocalTask(fifo)) != null);
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/28797#discussion_r2649830703