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