RFR: 8030815: Code roots are not accounted for in region prediction [v2]

Thomas Schatzl tschatzl at openjdk.org
Wed Sep 13 08:21:26 UTC 2023


> Hi all,
> 
>   please review this change that adds accounting of code root scan to G1.
> 
> Previously this has not been done because code root scan has been thought of being negligible in overhead. However some recent investigations showed that it can be of significant importance.
> 
> The general idea of how prediction of code roots works is the same as for the (card-based) remembered set - given statistics of cost per code roots, try to predict costs for n code roots per region.
> 
> With this change there is some reason for confusion in the naming - we use a plain `rs_` prefix for variables containing information about the card set based remembered set, and this adds `code_root_rs` (for code roots) so the meaning of the former may not be completely clear. There is the follow up [JDK-8315848](https://bugs.openjdk.org/browse/JDK-8315848) that fixes that (https://github.com/tschatzl/jdk/tree/submit/8315848-rename-rs-prefix-to-card-rs).
> 
> Testing: gha, performance testing
> 
> Thanks,
>   Thomas

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. The pull request contains two additional commits since the last revision:

 - Merge branch 'master' into 8030815-code-roots-not-accounted-in-prediction
 - 8030815 code roots not accounted

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/15632/files
  - new: https://git.openjdk.org/jdk/pull/15632/files/29fda6b9..04c5e072

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

  Stats: 12833 lines in 947 files changed: 7179 ins; 3964 del; 1690 mod
  Patch: https://git.openjdk.org/jdk/pull/15632.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/15632/head:pull/15632

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


More information about the hotspot-gc-dev mailing list