On Wed, 30 Nov 2022 18:54:49 GMT, Jorn Vernee <[email protected]> wrote:
>> A small clarification of the VaList spec to say that attempts to access
>> elements through an incorrect memory layout result in undefined behavior.
>
> Jorn Vernee has refreshed the contents of this pull request, and previous
> commits have been removed. The incremental views will show differences
> compared to the previous content of the PR. The pull request contains one new
> commit since the last revision:
>
> Clarify spec
src/java.base/share/classes/java/lang/foreign/VaList.java line 55:
> 53: * and any other type that fits into a {@code long}.
> 54: * <h2 id="safety">Safety considerations</h2>
> 55: * The behavior of any attempts to access a value in the va list, whether
> through one of the {@code nextVarg} overloads
Suggestion:
* The behavior of any attempts to access a value in the variable argument
list, whether through one of the {@code nextVarg} overloads
src/java.base/share/classes/java/lang/foreign/VaList.java line 56:
> 54: * <h2 id="safety">Safety considerations</h2>
> 55: * The behavior of any attempts to access a value in the va list, whether
> through one of the {@code nextVarg} overloads
> 56: * or {@link #skip(MemoryLayout...)}, using a memory layout other than
> the layout of the accessed value, or any subsequent
Not super sure what you mean here by using a layout "other than the layout of
the accessed value". I think you mean the layout of the underlying value that
needs to be accessed? Also, is the behavior undefined even when the VaList is
created safely, from Java code?
src/java.base/share/classes/java/lang/foreign/VaList.java line 57:
> 55: * The behavior of any attempts to access a value in the va list, whether
> through one of the {@code nextVarg} overloads
> 56: * or {@link #skip(MemoryLayout...)}, using a memory layout other than
> the layout of the accessed value, or any subsequent
> 57: * accesses to the same va list, is undefined.
Suggestion:
* accesses to the same variable argument list, is undefined.
-------------
PR: https://git.openjdk.org/jdk/pull/11440