[foreign] thoughts on finalizing foreign APIs
Maurizio Cimadamore
maurizio.cimadamore at oracle.com
Thu Sep 16 14:59:13 UTC 2021
Hi,
we have spent the last few weeks looking at the foreign APIs more
holistically, to see what we could do to improve them, in order to get
them preview/finalization ready. The resulting changes are described in
the following write up:
https://inside.java/2021/09/16/finalizing-the-foreign-apis/
We think the proposed API [2, 3] is much simpler, tighter and safer -
while retaining the same expressiveness of the existing API.
Moving forward, we would like to start integrating the proposed changes
into the panama repo, and incubate those changes in 18. We will then
(finger crossed!) move towards finalizing the API, by making it a
preview API in 19 (the document describes some basic shuffling moves on
how we might want to do that). While we could technically preview things
in 18, we believe that the extra steps required to move the API into
java.base would push us too close to the code freeze deadline; besides
there are still outstanding performance issues (such as [1]) which we'd
like to have addressed, so that user experience can be as smooth as
possible. For these reasons, incubating in 18 and previewing in 19 seems
like the most sensible option at this point in time.
Cheers
Maurizio
[1] - https://bugs.openjdk.java.net/browse/JDK-8259609
[2] -
http://cr.openjdk.java.net/~mcimadamore/panama/foreign-finalize-javadoc/javadoc/jdk/incubator/foreign/package-summary.html
[3] -
https://github.com/mcimadamore/panama-foreign/tree/foreign-finalize%2Bjextract
More information about the panama-dev
mailing list