[foreign] RFR: switch to toplevel annotations

Sundararajan Athijegannathan sundararajan.athijegannathan at oracle.com
Fri May 25 09:17:40 UTC 2018


Looks good.

-Sundar

On 24/05/18, 11:41 PM, Maurizio Cimadamore wrote:
> Hi,
> this patch completes the migration towards the annotation model 
> described in [1].
>
> More specifically, @NativeStruct, now contains a full layout 
> description, with layout annotation which point to Java accessors. 
> @NativeHeader contains a set of declarations of the kind 
> 'symbol=descriptor', where 'symbol' is the linker name of the given 
> symbol, whereas descriptor can be either a function descriptor or a 
> layout.
>
> I did some refactoring of the binder code, which I think helped in 
> making it even clearer, I hope.
>
> Note that now the binder doesn't depend on @NativeType, nor @Offset, 
> but I left those in place because we have some jextract tests 
> depending on them (jextract still needs to be fixed to generate the 
> new stuff).
>
> In order to compute offset of fields, I added a new LayoutPaths helper 
> class, which allows the binder to get a layout path given a predicate 
> expression and a layout. This is useful to get a path to a given 
> struct field, which then gives you info about things such as offset 
> (and, maybe in the future, alignment).
>
> Of course, many tests have to be updated; since I touched the dreaded 
> UnixSystem test, it'd be better to give it a try on MacOS.
>
> Webrev:
>
> http://cr.openjdk.java.net/~mcimadamore/panama/toplevel_annos/
>
> Cheers
> Maurizio
>
> [1] - 
> http://cr.openjdk.java.net/~mcimadamore/panama/panama-binder-v3.html
>
>


More information about the panama-dev mailing list