RFR: 8282420: JFR: Remove event handlers

Erik Gahlin egahlin at openjdk.java.net
Wed May 4 21:02:31 UTC 2022


Hi,

Could I have a review of a fix that removes event handler classes for JFR. Bytecode for event instrumentation is now only added to the event class. Benefits are:

- No class memory leak in the boot class loader.
- Reduce overhead from class loading during startup, which is important with additional JDK events that are coming (VirtualThreadStart etc.)
- One less frame to traverse when recording a Java stack trace.

Future benefits are:

- Simplify creating instrumentation at build step. See https://bugs.openjdk.java.net/browse/JDK-8279354
- Simplify implementation of Event Metrics. See https://bugs.openjdk.java.net/browse/JDK-8224749

When the Security Manager is removed, much of the code being added for security reasons can be deleted.

There are few JFR hooks when code is being linked. Plan is to also use these for other events later. 

Testing: tier 1-4, jdk/jdk/jfr

Thanks
Erik

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

Commit messages:
 - Test cleanup
 - Test fixes
 - Fix whitespaces
 - Use EventWriterFactory
 - Initial

Changes: https://git.openjdk.java.net/jdk/pull/8383/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=8383&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8282420
  Stats: 4016 lines in 79 files changed: 2412 ins; 1010 del; 594 mod
  Patch: https://git.openjdk.java.net/jdk/pull/8383.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/8383/head:pull/8383

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


More information about the hotspot-jfr-dev mailing list