[foreign-memaccess+abi] RFR: 8302346: Lift upcall sharing mechanism to AbstractLinker [v2]
Jorn Vernee
jvernee at openjdk.org
Fri Feb 17 20:54:29 UTC 2023
> Lift the upcall sharing mechanism to AbstractLinker, where it can live next to the similar mechanism for down calls. This also allows the fallback linker to use this mechanism.
>
> Instead of an upcall stub, AbstractLinker::arrangeDowncall now return an UpcallStubFactory, which is a callback accepting a target MethodHandle and Arena, which are then used to construct the actual upcall stub.
>
> Perhaps the trickiest part of this patch is that we have to simulate the effects of `SharedUtils::adaptUpcallForIMR` on the target method type. I've added a new method in SharedUtils, called `computeUpcallIMRType` for that, which mimics the shape of the `adaptUpcallForIMR` method.
>
> Since the shape of most of the arrangeUpcall methods was very similar, I factored them out into a helper method in SharedUtils as well.
Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision:
use fake MH for adaptation
-------------
Changes:
- all: https://git.openjdk.org/panama-foreign/pull/791/files
- new: https://git.openjdk.org/panama-foreign/pull/791/files/864839af..6bd745f8
Webrevs:
- full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=791&range=01
- incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=791&range=00-01
Stats: 29 lines in 1 file changed: 2 ins; 26 del; 1 mod
Patch: https://git.openjdk.org/panama-foreign/pull/791.diff
Fetch: git fetch https://git.openjdk.org/panama-foreign pull/791/head:pull/791
PR: https://git.openjdk.org/panama-foreign/pull/791
More information about the panama-dev
mailing list