[foreign-abi] RFR: Turn on downcall intrinsics by default [v2]
Jorn Vernee
jvernee at openjdk.java.net
Tue Sep 22 15:02:54 UTC 2020
> Hi,
>
> This PR turns on down call intrinsics by default.
>
> Since the time they were turned off some fixes have been done in the area of GC handling of optimized native calls, and
> no further problems in that area have been found. What currently works is:
> 1. All TestDowncall and TestUpcall tests, where each function is invoked in a 20_000 iteration loop with -Xbatch,
> making sure these calls are intrinsified. 2. TestIntrinsics tests which intrinsifies calls the same way.
> 3. All jextract samples with intrinsics turned on, which from the logs also leads to calls being intrinsified,
> especially on large extraction runs like Windows.h.
> There is one more case that is known to be problematic: TestUpcallHighArity crashes/fails when the call is intrinsified
> (using same method as 1 and 2). This seems to be caused by a known problem with the handling on stack arguments for
> intrinsified calls. So, for now, intrinsification of calls that pass arguments on the stack will be turned off. If
> there are other cases you would like to make sure work, please take the test for a spin.
> Thanks,
> Jorn
Jorn Vernee has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev
excludes the unrelated changes brought in by the merge/rebase. The pull request contains four additional commits since
the last revision:
- Merge branch 'foreign-abi' into Default_Intrinsics
- More stack tests
- Enable intrinsics by default
- Dissable intrinsics for stack arguments
-------------
Changes:
- all: https://git.openjdk.java.net/panama-foreign/pull/354/files
- new: https://git.openjdk.java.net/panama-foreign/pull/354/files/e0486b10..8e6eb011
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=354&range=01
- incr: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=354&range=00-01
Stats: 466 lines in 21 files changed: 223 ins; 85 del; 158 mod
Patch: https://git.openjdk.java.net/panama-foreign/pull/354.diff
Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/354/head:pull/354
PR: https://git.openjdk.java.net/panama-foreign/pull/354
More information about the panama-dev
mailing list