RFR: 8273626: G1: Factor out concurrent segmented array from G1CardSetAllocator [v3]

Hamlin Li mli at openjdk.java.net
Fri Sep 24 08:37:30 UTC 2021


> To finish https://bugs.openjdk.java.net/browse/JDK-8254739, we need a segmented array to store a growing regions index array, in the initial version of that patch, a newly home made segmented array was used, but the memory efficiency is not as good as expected, G1CardSetAllocator is a potential candidate to fullfill the requirement, but need some enhancement.
> 
> This is a try to enhance G1CardSetAllocator(and G1CardSetBuffer, G1CardSetBufferList) to support element size less pointer size, and strip this basic function as a more generic segmented array (G1SegmentedArray).

Hamlin Li 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 five additional commits since the last revision:

 - Merge branch 'openjdk:master' into generalize-g1CardSetBuffer-and-Allocator
 - Rename Xxx to G1Xxx
 - Clean code
 - Fix wrong length() in SegmentedArrayBuffer, cause it might grow more than _elem_nums
 - Initial commit

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/5478/files
  - new: https://git.openjdk.java.net/jdk/pull/5478/files/8e5f5943..0088b53f

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=5478&range=02
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=5478&range=01-02

  Stats: 42032 lines in 1393 files changed: 28400 ins; 6968 del; 6664 mod
  Patch: https://git.openjdk.java.net/jdk/pull/5478.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/5478/head:pull/5478

PR: https://git.openjdk.java.net/jdk/pull/5478



More information about the hotspot-gc-dev mailing list