State of the Isthmus

Maurizio Cimadamore maurizio.cimadamore at oracle.com
Tue May 8 12:19:00 UTC 2018


Hi,
I've posted a new document here:

http://cr.openjdk.java.net/~mcimadamore/panama/panama-binder-v3.html

This document attempts to capture the state of the Java vs. native 
interop in a single and centralized place, and is organized into 3 
sections: there's a small intro which is used to outline the reference 
architecture of our solution - e.g. a binder which take some native 
bundles, consisting of interfaces + metadata and turns them into 
concrete implementation, which can then be poked by user code wanting 
access to native features.

Then there's a section covering layouts - first layout are presented as 
a pseudo API, then a language syntax will also be discussed, so that we 
will be able to associate layout description to interfaces using 
annotations. This section is relatively language agnostic (as layouts 
are language agnostic).

The last section is about the problem of mapping C types to Java 
carriers; as such, we zoom into the problem of C interop. We outline 
some principles which should govern this mapping, and then walk through 
the various features of the C language, and try to find, for each of 
these, the best way to model it in Java.

Even though the document bears my name, I'd like to point out that this 
work is the result of countless discussions among the members of the 
Panama team - I'd like to thank everybody who contributed to these 
discussion, either directly or indirectly.

In the upcoming weeks, we will create a new branch in the Panama repo 
(initially a child of the 'nicl' branch) and start working on the 
branch, by implementing the concepts described in this document. This 
document will also be updated to reflect significant changes in the 
binder API - as such, I believe this document will be very useful for 
anybody wanting to write a tool targeting the Panama infrastructure.

Cheers
Maurizio




More information about the panama-spec-experts mailing list