diff --git a/src/java.base/share/classes/java/lang/foreign/Linker.java b/src/java.base/share/classes/java/lang/foreign/Linker.java
index f597e4ee52e..61f85cf463a 100644
--- a/src/java.base/share/classes/java/lang/foreign/Linker.java
+++ b/src/java.base/share/classes/java/lang/foreign/Linker.java
@@ -551,8 +551,7 @@ import java.util.function.Consumer;
* upcall is typically executed in the context of a downcall method handle invocation.
*
* @implSpec
- * Implementations of this interface are immutable, thread-safe and
- * value-based.
+ * Implementations of this interface are immutable, thread-safe.
*
* @since 22
*/
diff --git a/src/java.base/share/classes/jdk/internal/foreign/FunctionDescriptorImpl.java b/src/java.base/share/classes/jdk/internal/foreign/FunctionDescriptorImpl.java
index da1727285bf..f3111d22118 100644
--- a/src/java.base/share/classes/jdk/internal/foreign/FunctionDescriptorImpl.java
+++ b/src/java.base/share/classes/jdk/internal/foreign/FunctionDescriptorImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2020, 2026, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -24,6 +24,8 @@
*/
package jdk.internal.foreign;
+import jdk.internal.ValueBased;
+
import java.lang.foreign.FunctionDescriptor;
import java.lang.foreign.GroupLayout;
import java.lang.foreign.MemoryLayout;
@@ -43,6 +45,7 @@ import static java.util.Objects.requireNonNull;
/**
* @implSpec This class and its subclasses are immutable, thread-safe and value-based.
*/
+@ValueBased
public final class FunctionDescriptorImpl implements FunctionDescriptor {
private final MemoryLayout resLayout; // Nullable