[foreign-memaccess+abi] RFR: 8255902: Enable stack arguments for native invokers & optimized upcall stubs

Jorn Vernee jvernee at openjdk.java.net
Mon Oct 18 10:33:39 UTC 2021


Hi,

This patch implements stack argument support in native invokers & optimized upcalls stubs.

The main changes needed are:
- allow passing a stack offset 'bias' to shuffling code in macro assembler, so that it can account for shadow space (only needed on x86_64 for now).
- implement missing stack to reg & reg to stack moves for float and double on AArch64
- add TestDowncallStack & TestUpcallStack, which are basically the same as TestDowncall & TestUpcall, but with 8 `long long` and 8 `double` prefix arguments which saturate the argument registers and makes the arguments that are being tested passed on the stack instead.

Thanks,
Jorn

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

Commit messages:
 - Change assert message
 - Fix tests after rebase
 - Use shuffle regs
 - AArch64 changes
 - Fixup copyright headers
 - Add missing test files
 - Turn on upcall stack args on x64
 - Turn on downcall stack args on x64

Changes: https://git.openjdk.java.net/panama-foreign/pull/600/files
 Webrev: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=600&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8255902
  Stats: 24658 lines in 16 files changed: 24583 ins; 8 del; 67 mod
  Patch: https://git.openjdk.java.net/panama-foreign/pull/600.diff
  Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/600/head:pull/600

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


More information about the panama-dev mailing list