RFR 8085978 LinkedTransferQueue<T>.spliterator can report LTQ.Node object, not T
Paul Sandoz
paul.sandoz at oracle.com
Tue Jun 16 09:10:48 UTC 2015
On Jun 15, 2015, at 6:18 PM, Martin Buchholz <martinrb at google.com> wrote:
> This is a fine fix for a jdk8 backport.
>
Thanks, i deliberately kept it simple to make the backport easier.
> In pursuit of even more perfection for jdk9, we might do some more fiddling later.
Ok.
> It bothers me that not all the traversal loops in LTQ work the same. Other traversal loops simply skip over matched request nodes, but the spliterator traversals do not (although the difference may be undetectable).
>
I would guess Iterator traversal is probably complicated by having to support Iterator.remove.
Paul.
> On Mon, Jun 15, 2015 at 2:47 AM, Paul Sandoz <paul.sandoz at oracle.com> wrote:
> Hi,
>
> Please review:
>
> http://cr.openjdk.java.net/~psandoz/jdk9/JDK-8085978-linked-transfer-queue-traverse/webrev/
>
> The LinkedTransferQueue's spliterator can erroneously report internal nodes when traversing.
>
> The fix is cherry picked from the 166 repo (other mostly refactoring-based changes will occur later on with bulk updates). I would also like to backport to 8u60.
>
> Paul.
>
More information about the core-libs-dev
mailing list