RFR: 8356455: ZGC: Replace ZIntrusiveRBTree with IntrusiveRBTree [v4]
Axel Boldt-Christmas
aboldtch at openjdk.org
Tue May 20 06:51:37 UTC 2025
> [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
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/25112/files
- new: https://git.openjdk.org/jdk/pull/25112/files/0f406adf..a14736db
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=25112&range=03
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=25112&range=02-03
Stats: 41426 lines in 1351 files changed: 19072 ins; 15706 del; 6648 mod
Patch: https://git.openjdk.org/jdk/pull/25112.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/25112/head:pull/25112
PR: https://git.openjdk.org/jdk/pull/25112
More information about the hotspot-gc-dev
mailing list