[foreign-abi] [Rev 01] RFR: 8247678: StdLibTest fails to create an empty VaList on Windows

Maurizio Cimadamore mcimadamore at openjdk.java.net
Tue Jun 16 21:11:07 UTC 2020


On Tue, 16 Jun 2020 19:43:43 GMT, Jorn Vernee <jvernee at openjdk.org> wrote:

>> Hi,
>> 
>> This patch addresses a test failure in StdLibTest, caused by trying to allocate an empty VaList in the Windows
>> implementation.
>> (After some discussion with Maurizio) this is fixed by special casing empty va lists in the implementation.
>> VaList.Builder.build() now returns a special empty va list constant when the VaList is empty. There's also an added
>> VaList.empty() method, to directly create an empty VaList.  To implement this I removed the getSegment methods in the
>> VaList implementation classes, and instead rely on VaList::address for unboxing a VaList. This works better with the
>> spacial case empty VaList. Along with that I moved some of the shared code for handling VaList in the linkers to
>> SharedUtils.  I added tests for the empty() API to verify that the returned VaList is non-closeable, and also updated
>> StdLibTest to close the VaLists it creates (it wasn't doing this yet).  Thanks,
>> Jorn
>
> Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision:
> 
>   - Fix SysVVaList confinement issues when closing the EMPTY VaList
>   - Update VaList benchmark to use the new 'make' factory

Looks good - thanks for fixing the benchmark.

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

Marked as reviewed by mcimadamore (Committer).

PR: https://git.openjdk.java.net/panama-foreign/pull/208


More information about the panama-dev mailing list