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

Thomas Schatzl tschatzl at openjdk.org
Mon Feb 20 11:07:10 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 pull request now contains seven commits:

 - Merge branch 'master' into 8302709-remove-explicit-verifyrememberedset
 - initial version
 - Minor removal of unnecessary code
 - Improve G1MaxVerifyFailures bounds
 - kbarrett review, indentation
 - Fix compile error with G1MaxVerifyFailures
 - initial attempts, nothing done
   
   further cleanup
   
   more cleanup
   
   factor out changes that move the verifylivenessclosure
   
   fix compilation

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

Changes: https://git.openjdk.org/jdk/pull/12611/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=12611&range=02
  Stats: 62 lines in 3 files changed: 0 ins; 62 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