RFR: 8356126: Duplication handling and optimization of CaptureCallState [v7]

Chen Liang liach at openjdk.org
Tue May 6 15:51: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.

Chen Liang has updated the pull request incrementally with one additional commit since the last revision:

  Update src/java.base/share/classes/jdk/internal/foreign/abi/CapturableState.java
  
  Co-authored-by: Shaojin Wen <shaojin.wensj at alibaba-inc.com>

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/25025/files
  - new: https://git.openjdk.org/jdk/pull/25025/files/2ead9d6d..450ea115

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=25025&range=06
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=25025&range=05-06

  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 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