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

Per Minborg pminborg at openjdk.org
Tue May 6 12:02:15 UTC 2025


On Mon, 5 May 2025 16:44:02 GMT, Chen Liang <liach at openjdk.org> wrote:

>> 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:
> 
>   Review remarks

src/java.base/share/classes/jdk/internal/util/OperatingSystem.java line 88:

> 86: 
> 87:     // The current OperatingSystem
> 88:     private static @Stable OperatingSystem CURRENT_OS;

Could this be a `StableValue.supplier()`?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/25025#discussion_r2075313499


More information about the core-libs-dev mailing list