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