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

Axel Boldt-Christmas aboldtch at openjdk.org
Wed May 14 08:33:35 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 three additional commits since the last revision:

 - Use atomic load of tree size in print_on
 - cache_replace comments
 - Sort order

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

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

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

  Stats: 14 lines in 2 files changed: 8 ins; 1 del; 5 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