On Wed, 13 May 2026 13:17:30 GMT, Yasumasa Suenaga <[email protected]> wrote:
>> On the review for [JDK-8380955](https://bugs.openjdk.org/browse/JDK-8380955) >> (#30443), `Linker` and `FunctionDescriptor` do not need to be value based >> class because they would not be treated as "value". >> `Linker` is defined as providing a way to look up the canonical layouts >> associated with the data types used by the ABI. `FunctionDescriptor` >> represents the signature of a foreign function. They are not "value". >> >> Actually they and their child (final) classes do not have `@ValueBased`, >> thus `javac` and `-XX:DiagnoseSyncOnValueBasedClasses` cannot identify if >> they are used in anti-pattern of value based class. Thus this change does >> not change behavior, just documentation updates. >> >> --------- >> - [x] I confirm that I make this contribution in accordance with the >> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). > > Yasumasa Suenaga has updated the pull request incrementally with two > additional commits since the last revision: > > - Add @ValueBased to FunctionDescriptorImpl > - Revert the change in FunctionDescriptor src/java.base/share/classes/java/lang/foreign/FunctionDescriptor.java line 46: > 44: * @implSpec > 45: * Implementing classes are immutable, thread-safe and > 46: * <a > href="{@docRoot}/java.base/java/lang/doc-files/ValueBased.html">value-based</a>. Shouldn't this use the `@ValueBased` anno instead? ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/30481#discussion_r3240299515
