RFR: 8356455: ZGC: Replace ZIntrusiveRBTree with IntrusiveRBTree [v4]

Stefan Karlsson stefank at openjdk.org
Tue May 20 12:30:55 UTC 2025


On Tue, 20 May 2025 06:51:37 GMT, Axel Boldt-Christmas <aboldtch at openjdk.org> wrote:

>> [JDK-8350441](https://bugs.openjdk.org/browse/JDK-8350441) was implemented before IntrusiveRBTree was introduced, and as such implemented its own intrusive red-black tree. Now that a shared data structure implementation is available, use that instead.
>> 
>> The switch is straight forward, and the O(1) left and right most node lookup which ZIntrusiveRBTree implements that IntrusiveRBTree does not is trivial to implement on top of the tree.
>> 
>> Initial performance evaluation shows no difference between the two implementations. And the functional testing passes.
>> 
>> Tested Oracle Supported platforms, Oracle tier1-8 ZGC testing tasks.
>
> Axel Boldt-Christmas 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 seven additional commits since the last revision:
> 
>  - Merge remote-tracking branch 'upstream_jdk/master' into JDK-8356455
>  - Use atomic load of tree size in print_on
>  - cache_replace comments
>  - Sort order
>  - Use private inheritance
>  - Separate tree logic to own class
>  - 8356455: ZGC: Replace ZIntrusiveRBTree with IntrusiveRBTree

Marked as reviewed by stefank (Reviewer).

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

PR Review: https://git.openjdk.org/jdk/pull/25112#pullrequestreview-2853979533


More information about the hotspot-gc-dev mailing list