RFR: 8376174: [IR Framework] Refactor Test VM socket communication

Christian Hagedorn chagedorn at openjdk.org
Mon Jan 26 17:32:52 UTC 2026


This is the next patch in the series to replace the hotspot-pid-file-based IR dumps with socket communication (see [JDK-8375271](https://bugs.openjdk.org/browse/JDK-8375271)).

This patch cleans up the current socket communication implementation without changing the semantics. We still process the messages in the same way but I refactored the logic into separate classes instead of having everything in the `TestFrameworkSocket` class.

This patch addresses the following (also see GitHub code comments):
- Changes to `TestFrameworkSocket`:
  - Split logic to send messages from Test VM into separate `TestVmSocket` class.
  - Move message tags from `TestFrameworkSocket` to new `MessageTag` class.
  - Introduce new `JavaMessages` class to wrap the sent messages. This will later be further expanded. Note that I choose the name "Java" to later distinguish between messages sent by C2.
  - Introduce new `TestVmMessageReader` to parse the received messages. This will later be further expanded.
- Introduce new `TestVMData` class to hold all interesting information received from the Test VM. This class will also be further expanded later.

Thanks,
Christian

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

Commit messages:
 - update comment
 - 8376174: [IR Framework] Refactor Test VM socket communication

Changes: https://git.openjdk.org/jdk/pull/29426/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=29426&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8376174
  Stats: 585 lines in 14 files changed: 380 ins; 142 del; 63 mod
  Patch: https://git.openjdk.org/jdk/pull/29426.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/29426/head:pull/29426

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


More information about the hotspot-compiler-dev mailing list