[foreign-memaccess+abi] RFR: 8292037: Consider moving Linker::methodType as FunctionDescriptor::toMethodType [v3]

Maurizio Cimadamore mcimadamore at openjdk.org
Tue Sep 13 15:38:59 UTC 2022


On Tue, 13 Sep 2022 15:28:13 GMT, Jorn Vernee <jvernee at openjdk.org> wrote:

>> This patch moves `Linker::methodType` to `FunctionDescriptor` as `carrierMethodType`.
>> 
>> I went with the name `carrierMethodType` instead of `toMethodType` (as suggested by the JBS issue) since I think it's a bit more descriptive. Please let me know your thoughts.
>> 
>> This issue also suggest adding support for `SequenceLayout` in the linker implementation. I think adding support in FunctionDescriptor could be a good idea, but since passing arrays by value is not supported in C, I feel like we should reject it in the linker implementations we have (which are all C as well). Of course, we could make it work any way by interpreting such cases as a pointer layout instead, but it's a case of being able to do the same thing in multiple ways (which I think can be confusing), and might actually be surprising if someone passes the wrong layout to the linker by accident, but it doesn't get "caught".
>> 
>> I've added support for `SequenceLayout` to `FunctionDescriptor`, but it is still rejected in the type classification logic.
>
> Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Review comments

src/java.base/share/classes/java/lang/foreign/FunctionDescriptor.java line 110:

> 108:      * @return the method type consisting of the carrier types of the layouts in this function descriptor
> 109:      * @throws IllegalArgumentException if one or more layouts in the function descriptor can not be mapped to carrier
> 110:      *                                  types (e.g. if they are sequence layouts or padding layouts).

Suggestion:

     *                                  types (e.g. if they are padding layouts).

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

PR: https://git.openjdk.org/panama-foreign/pull/717


More information about the panama-dev mailing list