[foreign-abi] [Rev 01] RFR: 8241712: AArch64: TestDowncall fails with IllegalArgumentException: No ABI attribute present

Nick Gasson ngasson at openjdk.java.net
Mon Mar 30 08:15:02 UTC 2020


On Fri, 27 Mar 2020 10:55:25 GMT, Jorn Vernee <jvernee at openjdk.org> wrote:

>>> Looks good to me. Thanks for fixing!
>> 
>> I wonder if we have same problem on Linux...
>
>> 
>> 
>> > Looks good to me. Thanks for fixing!
>> 
>> I wonder if we have same problem on Linux...
> 
> The tests are currently passing, and looking at the code there is one case where trying to look up the ABI type of
> padding could cause an exception, but an exception would be thrown for padding any ways:
> private static List<ArgumentClassImpl> classifyValueType(ValueLayout type) {
>     ArrayList<ArgumentClassImpl> classes = new ArrayList<>();
>     ArgumentClassImpl clazz = SysVx64ABI.argumentClassFor(SystemABI.Type.fromLayout(type));
>     if (clazz == null) {
>         //padding not allowed here
>         throw new IllegalStateException("Unexpected value layout: could not determine ABI class");
>     }
> ...
> So, I think we're good.

I realised there was a mistake with the data types in the callarranger test and it didn't trigger the bug. I just
pushed an extra commit to fix that. Not sure if the PR needs to be approved again?

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

PR: https://git.openjdk.java.net/panama-foreign/pull/70


More information about the panama-dev mailing list