RFR: 8356126: Revisit CaptureCallState

Chen Liang liach at openjdk.org
Sun May 4 22:41:54 UTC 2025


Credit to @lukellmann that the duplication arg handling in #24742 avoided throwing exceptions but produced a wrong option. This patch fixes that and removed stream usages in CaptureCallState to speed up bootstrap.

Also, the previous patch affected the toString display of the option; I added a unit test to ensure the option prints names that is user-friendly.

Another thing I noted is `CapturableState` uses `OperatingSystem`; using `valueOf` brings a performance overhead due to setups with reflection, so I made this lazy. (The enum is thread safe, so we allow racy access to the cache field)

Testing: jdk/lang/foreign, tier 1-3 in progress.

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

Commit messages:
 - Bugid
 - 8356126: Revisit CaptureCallState

Changes: https://git.openjdk.org/jdk/pull/25025/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=25025&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8356126
  Stats: 129 lines in 7 files changed: 48 ins; 42 del; 39 mod
  Patch: https://git.openjdk.org/jdk/pull/25025.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/25025/head:pull/25025

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


More information about the core-libs-dev mailing list