[foreign-jextract] RFR: 8249810: Jextract should generate parameter types with Addressable type
Henry Jen
henryjen at openjdk.java.net
Tue Jul 21 18:08:31 UTC 2020
On Tue, 21 Jul 2020 16:48:47 GMT, Maurizio Cimadamore <mcimadamore at openjdk.org> wrote:
> This patch tweaks jextract so that all foreign functions wrappers use the new Addressable carrier type, as opposed to
> the more specific MemoryAddress type. This is useful, as now clients can call such functions with either an address or
> a segment, w/o any need to call `MemorySegment::address`. The bulk of the changes are in the TypeTranslator visitor,
> which now has a parameter which says as to whether an addressable should be used. There are also some changes in the
> HeaderBuilder class, as we now need to call `Addressable::address' on any incoming addressable parameter (since the
> method handle generated by the linker expects a `MemoryAddress`).
Looks fine to me. I like that you keep it flexible on TypeTranslator.
With code generation, I think that we can simply patch all MemoryAddress into Addressable in the static function
wrapper to avoid conflict of choices.
-------------
PR: https://git.openjdk.java.net/panama-foreign/pull/257
More information about the panama-dev
mailing list