This PR guards usage of FileForce, SocketRead, and SocketWrite events with `jfrTracing` to prevent those classes from being loaded when JFR is not in use. This is the same technique as what's currently used with exception events and FileRead/FileWrite events.
I used NMT and a simple test app that exercises file force and socket IO paths to check for a difference in memory usage. **NMT Before:** Classes=1188, Metadata used=966064 B, Class space used=93008 B **NMT After:** Classes=1182, Metadata used=943728 B, Class space used=89456 B Note that the difference in amount used doesn't actually change amount committed because the backing memory is pre-allocated in chunks with larger granularity. Testing: - new test test/jdk/jdk/jfr/event/io/TestEventsNotLoadedWithoutJfr.java to check the guards work properly - tier 1 --------- - [x] I confirm that I make this contribution in accordance with the [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). ------------- Commit messages: - Guard file ansocket events. Tests Changes: https://git.openjdk.org/jdk/pull/30948/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=30948&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8331996 Stats: 242 lines in 10 files changed: 229 ins; 0 del; 13 mod Patch: https://git.openjdk.org/jdk/pull/30948.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/30948/head:pull/30948 PR: https://git.openjdk.org/jdk/pull/30948
