RFR: 8302709: Remove explicit remembered set verification in G1 [v2]

Thomas Schatzl tschatzl at openjdk.org
Mon Feb 20 10:32:02 UTC 2023


> Hi all,
> 
>   can I have reviews for this imo trivial removal of unnecessary functionality?
> 
> So G1 allows explicit remembered set verification via -XX:+VerifyRememberedSets without verifying anything else.
> 
> This functionality can be dropped because
> - verification via VerifyBefore/During/AfterGC does the same verification as well
> - the far longest part of VerifyBefore/During/AfterGC is remembered set/object verification (you can't really do remembered set verification without object verification)
> - since you can't really do remembered set verification without object verification, this is just duplicate work (and code)
> - for VerifyBefore/During/AfterGC we have quite extensive ways to do that verification only in certain situations, so this extra remembered set verification is mostly just in the way
> - explicit remembered set verification is single threaded, while others is multi-threaded, so much slower then the latter too
> - the split between remembered set/object verification forces some awkward code sharing that makes the verification code somewhat confusing
> 
> Given all that I suggest to remove the explicit remembered set verification there. 
> 
> Note that this change does not clean up the mentioned code sharing, I'll do this in a follow up.
> 
> This change depends on PR#12511.
> 
> Testing: local compilation, gha

Thomas Schatzl 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.

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/12611/files
  - new: https://git.openjdk.org/jdk/pull/12611/files/3f331f04..3f331f04

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

  Stats: 0 lines in 0 files changed: 0 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/12611.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/12611/head:pull/12611

PR: https://git.openjdk.org/jdk/pull/12611


More information about the hotspot-gc-dev mailing list