[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