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 e3af69954a8..12ba7f6ce5f 100644 --- a/src/java.base/share/classes/java/lang/foreign/Linker.java +++ b/src/java.base/share/classes/java/lang/foreign/Linker.java @@ -303,8 +303,8 @@ public sealed interface Linker permits AbstractLinker { * before it can be overwritten by the Java runtime, or read through conventional means} *
* A downcall method handle linked with this option will feature an additional {@link MemorySegment} - * parameter directly following the target address parameter. This memory segment must be a - * native segment into which the captured state is written. + * parameter directly following the target address, and optional {@link SegmentAllocator} parameters. + * This memory segment must be a native segment into which the captured state is written. * * @param capturedState the names of the values to save. * @see CaptureCallState#supported() @@ -323,6 +323,10 @@ public sealed interface Linker permits AbstractLinker { *
* Execution state is captured by a downcall method handle on invocation, by writing it * to a native segment provided by the user to the downcall method handle. + * For this purpose, a downcall method handle linked with the {@link #captureCallState(String[])} + * option will feature an additional {@link MemorySegment} parameter directly + * following the target address, and optional {@link SegmentAllocator} parameters. + * This parameter represents the native segment into which the captured state is written. *
* The native segment should have the layout {@linkplain CaptureCallState#layout associated} * with the particular {@code CaptureCallState} instance used to link the downcall handle.