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

Thomas Schatzl tschatzl at openjdk.org
Wed Sep 13 08:15:05 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

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

Commit messages:
 - 8030815 code roots not accounted

Changes: https://git.openjdk.org/jdk/pull/15632/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=15632&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8030815
  Stats: 93 lines in 6 files changed: 66 ins; 0 del; 27 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