RFR: 8259036: Failed JfrVersionSystem invariant when VM built with -fno-elide-constructors

Markus Grönlund mgronlun at openjdk.java.net
Thu Jan 14 17:51:09 UTC 2021


Greetings,

please review this changeset to let JFR work in situations where the VM is built with -fno-elide-constructors.

The original means to interface with the JfrVersionSystem employed handles, but to work correctly, the handles relied on Return Value Optimization (RVO), which was a lazy assumption on my part.

The handles will now employ copy-and-swap for reference counting. 

Testing: jdk_jfr with (and without) build option -fno-elide-constructors

Thanks to Kim Barrett for filing this issue.

Thank you
Markus

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

Commit messages:
 - 8259036: Failed JfrVersionSystem invariant when VM built with -fno-elide-constructors

Changes: https://git.openjdk.java.net/jdk/pull/2083/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2083&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8259036
  Stats: 215 lines in 5 files changed: 74 ins; 98 del; 43 mod
  Patch: https://git.openjdk.java.net/jdk/pull/2083.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/2083/head:pull/2083

PR: https://git.openjdk.java.net/jdk/pull/2083


More information about the hotspot-jfr-dev mailing list