On Tue, 28 Apr 2026 04:44:03 GMT, Yasumasa Suenaga <[email protected]> wrote:
>> In #30392, we found out some impl classes in FFM are marked as value based >> class, but they do not have `@ValueBased`. >> I grep'ed JDK sources with 'ValueBased.html' which we expect that the word >> in Javadoc on value based class, and I tracked it to final implementation >> class. `final` classes in following list should have `@ValueBased`. >> >> >> >> java.base/share/classes/java/lang/foreign/FunctionDescriptor.java >> public sealed interface FunctionDescriptor permits FunctionDescriptorImpl >> public final class FunctionDescriptorImpl implements FunctionDescriptor >> >> java.base/share/classes/java/lang/foreign/MemoryLayout.java >> public sealed interface MemoryLayout permits SequenceLayout, GroupLayout, >> PaddingLayout, ValueLayout >> public sealed interface SequenceLayout extends MemoryLayout permits >> SequenceLayoutImpl >> public final class SequenceLayoutImpl extends >> AbstractLayout<SequenceLayoutImpl> implements SequenceLayout >> public sealed interface GroupLayout extends MemoryLayout permits >> StructLayout, UnionLayout >> public sealed interface StructLayout extends GroupLayout permits >> StructLayoutImpl >> public final class StructLayoutImpl extends >> AbstractGroupLayout<StructLayoutImpl> implements StructLayout >> public sealed interface UnionLayout extends GroupLayout permits >> UnionLayoutImpl >> public final class UnionLayoutImpl extends >> AbstractGroupLayout<UnionLayoutImpl> implements UnionLayout >> public sealed interface PaddingLayout extends MemoryLayout permits >> PaddingLayoutImpl >> public final class PaddingLayoutImpl extends >> AbstractLayout<PaddingLayoutImpl> implements PaddingLayout >> public sealed interface ValueLayout extends MemoryLayout permits >> ValueLayout.OfBoolean, ValueLayout.OfByte, ValueLayout.OfChar, >> ValueLayout.OfShort, ValueLayout.OfInt, ValueLayout.OfFloat, >> ValueLayout.OfLong, ValueLayout.OfDouble, AddressLayout >> sealed interface OfBoolean extends ValueLayout permits >> ValueLayouts.OfBooleanImpl >> public static final class OfBooleanImpl extends >> AbstractValueLayout<OfBooleanImpl> implements ValueLayout.OfBoolean >> sealed interface OfByte extends ValueLayout permits >> ValueLayouts.OfByteImpl >> public static final class OfByteImpl extends >> AbstractValueLayout<OfByteImpl> implements ValueLayout.OfByte >> sealed interface OfChar extends ValueLayout permits >> ValueLayouts.OfCharImpl >> public static final class OfCharImpl extends >> AbstractValueLayout<OfCharImpl> impl... > > Yasumasa Suenaga 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 three additional > commits since the last revision: > > - Merge remote-tracking branch 'origin/master' into JDK-8380955 > - Revert changes for FunctionDescriptor and Linker > - 8380955: Value-based classes in FFM should have @ValueBased Looks good ------------- Marked as reviewed by mcimadamore (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/30443#pullrequestreview-4186814190
