On Tue, 5 Jul 2022 11:13:15 GMT, Maurizio Cimadamore <mcimadam...@openjdk.org> 
wrote:

>> This patch changes all VaList implementations to throw 
>> `NoSuchElementException` when out of bounds reads occur on a VaList that is 
>> created using the Java builder API. The docs are updated accordingly.
>> 
>> For VaLists that are created from native addresses, we don't know their 
>> bounds, so we can not throw exceptions in that case.
>> 
>> Testing: `jdk_foreign` test suite on all platforms that implement VaList.
>
> src/java.base/share/classes/java/lang/foreign/VaList.java line 99:
> 
>> 97:      * @throws WrongThreadException if this method is called from a 
>> thread other than the thread owning
>> 98:      * the {@linkplain #session() session} associated with this variable 
>> argument list.
>> 99:      * @throws NoSuchElementException if an out-of-bounds read is 
>> detected.
> 
> I'd insert a link to the safety section, where the link text is 
> "out-of-bounds".

Good idea, I'll add links

> src/java.base/share/classes/jdk/internal/foreign/abi/x64/sysv/SysVVaList.java 
> line 291:
> 
>> 289:     }
>> 290: 
>> 291:     private void checkRegAreaElement(MemoryLayout layout, TypeClass 
>> typeClass) {
> 
> should this be `checkRegSaveAreaElement` ?

Okay, I can rename it.

-------------

PR: https://git.openjdk.org/jdk19/pull/91

Reply via email to