[foreign-memaccess+abi] RFR: 8261972: CLinker.C_VA_LIST layout does not match platform layout for va_list [v2]

Maurizio Cimadamore mcimadamore at openjdk.java.net
Tue Jul 13 15:12:48 UTC 2021


> This change removes the `CLinker::VA_LIST` layout. This layout was just an alias for a pointer layout, and was not the correct layout of a `VaList` in given platform. In fact, in some platforms a `VaList` is defined as a one-array element, whereas in other platforms it is defined as a pointer. In all cases, a VaList is always passed to a function by reference, so using `C_POINTER` as a layout, and using `VaList::address` is enough to satisfy the downcall/upcall use cases. Storing valists inside struct fields is a different topic, but it's such a rare/corner/odd use case that I don't think we should distort the API because of that.

Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision:

  Remove remaining support for VaList carrier in CLinker

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

Changes:
  - all: https://git.openjdk.java.net/panama-foreign/pull/567/files
  - new: https://git.openjdk.java.net/panama-foreign/pull/567/files/58b57141..3191c8e9

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=567&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=567&range=00-01

  Stats: 78 lines in 6 files changed: 0 ins; 73 del; 5 mod
  Patch: https://git.openjdk.java.net/panama-foreign/pull/567.diff
  Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/567/head:pull/567

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


More information about the panama-dev mailing list