> 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 with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains nine additional commits since the last revision: - Merge branch 'master' of https://github.com/openjdk/jdk into fix/ffm-opt-capture-states - Merge branch 'master' of https://github.com/openjdk/jdk into fix/ffm-opt-capture-states - rollback OS - Review remarks - No env to test - Unchecked - Further revamp, remove unnecessary instances on irrelevant platforms - Bugid - 8356126: Revisit CaptureCallState ------------- Changes: - all: https://git.openjdk.org/jdk/pull/25025/files - new: https://git.openjdk.org/jdk/pull/25025/files/d1598afa..2ead9d6d Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=25025&range=05 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=25025&range=04-05 Stats: 2943 lines in 162 files changed: 2315 ins; 163 del; 465 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