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

Axel Boldt-Christmas aboldtch at openjdk.org
Thu May 8 13:01:07 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 incrementally with two additional commits since the last revision:

 - Use private inheritance
 - Separate tree logic to own class

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/25112/files
  - new: https://git.openjdk.org/jdk/pull/25112/files/4bc5cf09..3c3e22bf

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=25112&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=25112&range=00-01

  Stats: 253 lines in 2 files changed: 122 ins; 93 del; 38 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