RFR: 8315801: [PPC64] JNI code should be more similar to the Panama implementation [v6]
Martin Doerr
mdoerr at openjdk.org
Thu Oct 19 08:53:27 UTC 2023
> This PR removes writing parameters to stack which are passed in registers. (See JBS issue for more details.) This allows us to get rid of the extra parameter for `c_calling_convention`.
>
> We can also remove the extra space for the Parameter Save Area in some ABIv2 cases (ppc64le). Note that JNI and runtime calls don't support VarArgs (except as array object for JNI), so this optimization is valid (unlike in downcalls for Panama).
>
> The offset of floats on stack can be put into a constant and used by interpreter and `c_calling_convention`. Panama handles this in the CallArranger. Added comment which resolves a Panama "todo".
>
> Tests have passed on linux ppc64 and ppc64le and AIX.
Martin Doerr has updated the pull request incrementally with one additional commit since the last revision:
Leave handling of Argument::float_on_stack_offset_in_bytes_c in CallArranger.
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/15599/files
- new: https://git.openjdk.org/jdk/pull/15599/files/a37fd003..1edee2e1
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=15599&range=05
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=15599&range=04-05
Stats: 11 lines in 2 files changed: 8 ins; 0 del; 3 mod
Patch: https://git.openjdk.org/jdk/pull/15599.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/15599/head:pull/15599
PR: https://git.openjdk.org/jdk/pull/15599
More information about the hotspot-compiler-dev
mailing list