> 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> implements ValueLayout.OfChar > sealed interface OfSho...
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 ------------- Changes: - all: https://git.openjdk.org/jdk/pull/30443/files - new: https://git.openjdk.org/jdk/pull/30443/files/c62c41cc..6fa48734 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=30443&range=02 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=30443&range=01-02 Stats: 133976 lines in 2500 files changed: 45229 ins; 75016 del; 13731 mod Patch: https://git.openjdk.org/jdk/pull/30443.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/30443/head:pull/30443 PR: https://git.openjdk.org/jdk/pull/30443
