RFR: 8351996: Behavioral updates for ClassValue::remove [v10]
Chen Liang
liach at openjdk.org
Wed Apr 30 12:04:52 UTC 2025
On Wed, 30 Apr 2025 09:14:20 GMT, Viktor Klang <vklang at openjdk.org> wrote:
>> 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 17 additional commits since the last revision:
>>
>> - Rewrite impl to follow the new simplified spec
>> - Merge branch 'master' of https://github.com/openjdk/jdk into fix/classvalue-compute-remove
>> - Try to simplify the model - use the finish of computeValue
>>
>> - Test updates - remove repetition, test case for no stale installation
>> - Fix incorrect promise removal when unnecessary and add regression test
>> - Cannot test for recursion eagerly - add test case
>> - More spec, eager exception, finish with existing, thanks John
>> - Merge branch 'master' of https://github.com/openjdk/jdk into fix/classvalue-compute-remove
>> - docs
>> - Remove the throwing behavior due to shallow reentrancy
>> - ... and 7 more: https://git.openjdk.org/jdk/compare/200c663e...221d51e7
>
> src/java.base/share/classes/java/lang/ClassValue.java line 89:
>
>> 87: * not attempt to associate a value, and may terminate either by returning
>> 88: * an observed associated value, if it exists, or by propagating that
>> 89: * exception.
>
> Does this mean that exceptions may be swallowed?
Yes, if a value is discovered to be associated when an exception from computeValue was trying to be thrown.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/24043#discussion_r2068522904
More information about the core-libs-dev
mailing list