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

Jorn Vernee jvernee at openjdk.java.net
Tue Jun 16 19:43:43 UTC 2020


> 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

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

Changes:
  - all: https://git.openjdk.java.net/panama-foreign/pull/208/files
  - new: https://git.openjdk.java.net/panama-foreign/pull/208/files/c34cebc8..eb80703c

Webrevs:
 - full: https://webrevs.openjdk.java.net/panama-foreign/208/webrev.01
 - incr: https://webrevs.openjdk.java.net/panama-foreign/208/webrev.00-01

  Stats: 8 lines in 2 files changed: 5 ins; 1 del; 2 mod
  Patch: https://git.openjdk.java.net/panama-foreign/pull/208.diff
  Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/208/head:pull/208

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


More information about the panama-dev mailing list