RFR: JDK-8292561: Make "ReplayCompiles" a diagnostic product switch

Thomas Stuefe stuefe at openjdk.org
Fri Aug 19 08:21:09 UTC 2022


See discussion: https://mail.openjdk.org/pipermail/hotspot-compiler-dev/2022-August/057988.html

Making ReplayCompiles a (diagnostic) runtime switch can help when facing problems with shipped release VMs:
- Investigate the effects of compiler errors in shipped VMs to estimate the bug impact
- Investigate if a given build is affected by a compiler bug

Making the option product increases libjvm.so text size by 54kb (Linux x64). No measurable runtime overhead.

Tests: Almost all tests in compiler/ciReplay generate replay files by inducing a crash with `-XX:CICrashAt`. That won't work in release builds. I added a simple test that checks that invalid replay files are correctly refused, and that test can also be done on a release VM. So we at least have a test for release that checks argument parsing.

(Note: I have https://github.com/openjdk/jdk/pull/9891 open, which could in the future serve as an alternative to CICrashAt by limiting the compiler arena).

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

Commit messages:
 - Provide basic test for release
 - make ReplayCompilers available in release

Changes: https://git.openjdk.org/jdk/pull/9935/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=9935&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8292561
  Stats: 92 lines in 10 files changed: 72 ins; 17 del; 3 mod
  Patch: https://git.openjdk.org/jdk/pull/9935.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/9935/head:pull/9935

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


More information about the hotspot-compiler-dev mailing list