RFR (S) 8211239: Build fails without JFR: empty JFR events signatures mismatch

Aleksey Shipilev shade at redhat.com
Fri Sep 28 17:24:48 UTC 2018


Bug:
  https://bugs.openjdk.java.net/browse/JDK-8211239

Fix:
  http://cr.openjdk.java.net/~shade/8211239/webrev.02/

Anything that disables JFR as JVM feature would break the build. It started to happen with Zero,
AIX, Sparc64 builds after recent G1+JFR improvement. The underlying reason for this breakage is that
JFR events generator produces two versions for each event: "full" and "empty", and the version is
then selected by INCLUDE_JFR macro during build time. When those two versions have different
signatures, jfr-enabled build may pass, and jfr-disabled build may fail.

The way out is to rewire events generator to produce consistent signatures for events. This should
be more future-proof than just fixing the printers for empty events. The downside is that
autogenerated events look a bit uglier with empty bodies, but that seems to be a fair price to pay
for automatic consistency.

Testing: Linux/x86_64 +jfr/-jfr build, Linux/x86_64 run-test jdk/jfr

Thanks,
-Aleksey



More information about the hotspot-dev mailing list