RFR: Various fixed for system header

Maurizio Cimadamore maurizio.cimadamore at oracle.com
Fri Aug 3 10:06:18 UTC 2018


Hit Send too fast...

In StructImplGenerator we have this:

LayoutPath path = findAccessor(method, accessorKind);
             if (path != null) {
                 generateFieldAccessor(cw, method, accessorKind, path);
             }


So, in that case we swallow caes where we do not have layout for a given 
struct accessor. We should consider throwing in this case too.

Example:

NativeStruct("[ i32(get=bar) ](A)")
interface A extends Struct<A> {
     int foo(); //name mismatch
}

Maurizio

On 03/08/18 11:03, Maurizio Cimadamore wrote:
> Binder and macro parser changes look good. For jextract changes, I 
> defer to Sundar who's also busy in a related area.
>
> Maurizio
>
>
> On 03/08/18 06:20, Henry Jen wrote:
>> Hi,
>>
>> Please review a webrev[1] that
>>
>> 1. Enable generate code for system header files with an —system switch.
>> 2. Instead of throwing exception at binding time for not existing 
>> symbol in a native library, allow binder to pass and generate 
>> NoSuchMethodException on invocation of the method.
>> 3. A minor fix for MacroParser that failed if a macro definition has 
>> $ character.
>>
>> These are minor tweaks but I think worth some discussion on how we 
>> deal with system header files and non-matched symbols.
>>
>> [1] 
>> http://cr.openjdk.java.net/~henryjen/panama/foreign/notExistSymbol/webrev/
>>
>> Cheers,
>> Henry
>



More information about the panama-dev mailing list