RFR: 8301341: LinkedTransferQueue does not respect timeout for poll() [v9]

Doug Lea dl at openjdk.org
Fri Jul 21 16:32:48 UTC 2023


On Fri, 21 Jul 2023 14:00:06 GMT, Viktor Klang <duke at openjdk.org> wrote:

>> Doug Lea has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Address review comments
>
> src/java.base/share/classes/java/util/concurrent/LinkedTransferQueue.java line 896:
> 
>> 894:             for (DualNode p = (pred == null) ? head : pred.next, c = p;
>> 895:                  p != null; ) {
>> 896:                 boolean isData = p.isData;
> 
> @DougLea Are you finding that manual hoisting of reads to final members has a perf edge? 🤔

Collection-support code from method countOfMode on down was minimally touched from its previous version. This shows up as a style clash into very branchy self-link-coping code. Changing might require more changes to WhiteBox tests that are finicky about node counts and self-links expected in traversals etc.  (These tests are useful but are themselves hard to change to accommodate small implementation differences.)

> src/java.base/share/classes/java/util/concurrent/LinkedTransferQueue.java line 1584:
> 
>> 1582:                 if (isData) {
>> 1583:                     action.accept((E) item);
>> 1584:                     pred = p; p = q; continue;
> 
> @DougLea These three statements deserve their own lines, I'd say. :)

Same answer as above. Left as they were.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/14317#discussion_r1270868924
PR Review Comment: https://git.openjdk.org/jdk/pull/14317#discussion_r1270869931


More information about the core-libs-dev mailing list