RFR: 8373118: Test java/lang/Thread/virtual/Starvation.java timed out [v16]

Viktor Klang vklang at openjdk.org
Sun Dec 28 17:38:58 UTC 2025


On Wed, 24 Dec 2025 19:21:39 GMT, Doug Lea <dl at openjdk.org> 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


More information about the core-libs-dev mailing list